一、常见的网络物理组件

路由器

交换机(RJ-45连接器和pc)
pc
pc
交换机(网络接口卡)

pc
pc
二、网络应用程序
1、Web浏览器(chrome、IE、Firefox等)
2、即时消息(QQ、微信、钉钉等)
3、电子邮件(Outlook、foxmail等)
4、协作(视频会议、VNC、Netmeeting、WebEx等)
5、web网络服务(apache、nginx,IIS)
6、文件网络服务(ftp、nfs、samba)
7、数据库服务(MySQL、MariaDB、MongoDB)
8、中间件服务(Tomcat、JBoss)
9、安全服务(Netfilter)
三、用户应用程序对网络的影响
1、批处理应用程序
1、FTP、TFTP、库存更新
2、无需直接人工交互
3、带宽很重要,但并非关键因素
2、交互式应用程序
1、库存查询、数据库更新
2、人机交互
3、因为用户需等待响应,所以响应时间很重要,但并非关键性因素,除非等待很长时间
3、实施应用程序
1、VoIP、视频
2、人与人的交互
3、端到端的延迟至关重要
四、网络的特征
1、速度
2、成本
3、安全性
4、可用性
5、可扩展性
6、可靠性
7、拓扑
五、物理拓扑分类
1、物理拓扑描述了物理设备的布线方式
1、总线拓扑
总线拓扑的网络结构是将网络中的各个节点设备用一根总线(如同轴电缆等)挂接起来,实现计算机网络的功能。
任何连接在总线上的计算机都能在总线上发信号,并且所有计算机都能接收信号。

终结器的作用,吸收脉冲信号,防止反射,总线拓扑两边必须有终结器
2、星型拓扑1、通过中心点传输2、单一故障点3、扩展星型拓扑1、比星型拓扑的复原能力更强4、环拓扑1、信号绕环传输2、单一故障点5、双环拓扑信号沿相反方向传输比单环的复原能力更强6、全网状拓扑容错能力强实施成本高7、比分网状拓扑
在容错能力与成本之间寻求平衡

六、了解主机到主机通信
1、旧模型
1、专有产品
2、由一个厂商控制应用程序和嵌入的软件
2、基于标准的模型
1、多厂商软件
2、分层方法
七、网络模型分层
OSI 模型的七层解构
降低复杂性、标准化接口、简化模块化设计、确保技术的互操作性、加快发展速度、简化教学

分层名称
功能
每层功能概览
7 应用层
(网络进程访问应用层)
为应用程序进程(例如电子邮件、文件传输和终端仿真
提供网络服务)
提供用户身份验证
针对每个应用的协议
电子邮件<-------------------->电子邮件协议
远程登录<-------------------->远程登录协议
文件传输<-------------------->文件传输协议
6 表示层(数据表示)
确保接收系统可以读出该数据
格式化数据
构建数据
协商用于应用层的数据传输语法
提供加密
(o′┏▽┓`o) ---网络标准格式--->⬜⬜⬜⬜⬜⬜⬜⬜⬜
接收不同表现形式的信息,如文字流、图像、声音等

5 会话层 (主机间通信)
建立、管理和终止在应用程序间的会话
何时建立连接,何时断开连接以及保持多久的连接
设备<------------------------------------>设备
4 传输层(传输问题)
确保数据传输的可靠性
建立、维护和终止虚拟电路
通过错误检测和恢复
信息流控制来保障可靠性
是否有数据丢失
设备--------->--------->---------->设备
3 网络层(数据传输)
路由数据包
选择传递数据的最佳路径
支持逻辑寻址和路径选择
经过哪个路由器传送到目标地址
|----路由器-------路由器
设备----路由器------路由器----路由器----设备
2 数据链路层(访问介质)
定义如何格式化数据以便进行传输以及如何控制对网络
的访问
支持错误检测
数据帧--------->0101--------->比特流
数据帧和比特流之间的转换
设备----|------|-------->设备
|分段转发|
1 物理层(二进制传输)
为启动、维护以及关闭物理链路定义了电气规范,机械
规范,过程规范和功能规范
0101---------0101
比特流与电子信号之间的切换
连接器与网线的规格

数据封装

八、PDU
1、PDU:Protocol Data Unit,协议数据单元,对等层次之间传递的数据单位
2、物理层的PDU是数据位 bit
3、数据链路层的PDU是数据帧 frame
4、网络层的PDU是数据包 packet
5、传输层的PDU是数据段segment
6、其他更高层次的PDU是消息 message
九、三种通讯模式
1、单播
2、组播
3、广播
十、TCP包头
1、源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个
2、序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从 0 开始
3、确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。也就是告诉发送发:我希望你(指发送方)下次发送的数据的第一个字节数据的编号是这个确认号
4、数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。该字段的单位是32位(即4个字节为计算单位),4位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节
十一、TCP包头
1、URG:表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer)只有当URG=1时才有效
2、ACK:表示是否前面的确认号字段是否有效。ACK=1,表示有效。只有当ACK=1时,前面的确认号字段才有效。TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
3、PSH:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间。如果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP接收缓冲区中
4、RST:如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应,带RST标志的TCP报文段称为复位报文段
5、SYN:在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段
6、FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
 窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量
 校验和:提供额外的可靠性
 紧急指针:标记紧急数据在数据字段中的位置
 选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位表示,选项部分最长为:(2^4-1)*4-20=40字节
常见选项:
 最大报文段长度:Maxium Segment Size,MSS
 窗口扩大:Windows Scaling
 时间戳: Timestamps
1 最大报文段长度指明自己期望对方发送TCP报文段时那个数据字段的长度。默认是536字节。数据字段的长度加上TCP首部的长度才等于整个TCP报文段的长度。MSS不宜设的太大也不宜设的太小。若选择太小,极端情况下,TCP报文段只含有1字节数据,在IP层传输的数据报的开销至少有40字节(包括TCP报文段的首部和IP数据报的首部)。这样,网络的利用率就不会超过1/41。若TCP报文段非常长,那么在IP层传输时就有可能要分解成多个短数据报片。在终点要把收到的各个短数据报片装配成原来的TCP报文段。当传输出错时还要进行重传,这些也都会使开销增大。因此MSS应尽可能大,只要在IP层传输时不需要再分片就行。在连接建立过程中,双方都把自己能够支持的MSS写入这一字段。 MSS只出现在SYN报文中。即:MSS出现在SYN=1的报文段中
2 窗口扩大
为了扩大窗口,由于TCP首部的窗口大小字段长度是16位,所以其表示的最大数是65535。但是随着时延和带宽比较大的通信产生(如卫星通信),需要更大的窗口来满足性能和吞吐率,所以产生了这个窗口扩大选项
3 时间戳可以用来计算RTT(往返时间),发送方发送TCP报文时,把当前的时间值放入时间戳字段,接收方收到后发送确认报文时,把这个时间戳字段的值复制到确认报文中,当发送方收到确认报文后即可计算出RTT。也可以用来防止回绕序号PAWS,也可以说可以用来区分相同序列号的不同报文。因为序列号用32为表示,每2^32个序列号就会产生回绕,那么使用时间戳字段就很容易区分相同序列号的不同报文

十一、TCP三次握手

SYN-SENT同步已发送
LISTEN收听
SYN-RCVD同步收到
ESRAB-LISHED已建立连接

十二、TCP的四次挥手

十三、有限状态机
 CLOSED 没有任何连接状态
 LISTEN 侦听状态,等待来自远方TCP端口的连接请求
 SYN-SENT 在发送连接请求后,等待对方确认
 SYN-RECEIVED 在收到和发送一个连接请求后,等待对方确认
 ESTABLISHED 代表传输连接建立,双方进入数据传送状态
 FIN-WAIT-1 主动关闭,主机已发送关闭连接请求,等待对方确认
 FIN-WAIT-2 主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求
 TIME-WAIT 完成双向传输连接关闭,等待所有分组消失
 CLOSE-WAIT 被动关闭,收到对方发来的关闭连接请求,并已确认
 LAST-ACK 被动关闭,等待最后一个关闭传输连接确认,并等待所有分组消失
 CLOSING 双方同时尝试关闭传输连接,等待对方确认

 客户端先发送一个FIN给服务端,自己进入了FIN_WAIT_1状态,这时等待接收服务端的报文,该报文会有三种可能:
 只有服务端的ACK
 只有服务端的FIN
 基于服务端的ACK,又有FIN
 1、只收到服务器的ACK,客户端会进入FIN_WAIT_2状态,后续当收到服务端的FIN时,回应发送一个ACK,会进入到TIME_WAIT状态,这个状态会持续2MSL(TCP报文段在网络中的最大生存时间,RFC 1122标准的建议值是2min).客户端等待2MSL,是为了当最后一个ACK丢失时,可以再发送一次。因为服务端在等待超时后会再发送一个FIN给客户端,进而客户端知道ACK已丢失
 2、只有服务端的FIN时,回应一个ACK给服务端,进入CLOSING状态,然后接收到服务端的ACK时,进入TIME_WAIT状态
 3、同时收到服务端的ACK和FIN,直接进入TIME_WAIT状态

十四:客户端的典型状态转移
 客户端通过connect系统调用主动与服务器建立连接connect系统调用首先给服务器发送一个同步报文段,使连接转移到SYN_SENT状态
 此后connect系统调用可能因为如下两个原因失败返回:
 1、如果connect连接的目标端口不存在(未被任何进程监听),或者该端口仍被处于TIME_WAIT状态的连接所占用(见后文),则服务器将给客户端发送一个复位报文段,connect调用失败。
 2、如果目标端口存在,但connect在超时时间内未收到服务器的确认报文段,则connect调用失败。
 connect调用失败将使连接立即返回到初始的CLOSED状态。如果客户端成功收到服务器的同步报文段和确认,则connect调用成功返回,连接转移至ESTABLISHED状态
 当客户端执行主动关闭时,它将向服务器发送一个结束报文段,同时连接进入FIN_WAIT_1状态。若此时客户端收到服务器专门用于确认目的的确认报文段,则连接转移至FIN_WAIT_2状态。当客户端处于FIN_WAIT_2状态时,服务器处于CLOSE_WAIT状态,这一对状态是可能发生半关闭的状态。此时如果服务器也关闭连接(发送结束报文段),则客户端将给予确认并进入TIME_WAIT状态
 客户端从FIN_WAIT_1状态可能直接进入TIME_WAIT状态(不经过FIN_WAIT_2状态),前提是处于FIN_WAIT_1状态的服务器直接收到带确认信息的结束报文段(而不是先收到确认报文段,再收到结束报文段)
 处于FIN_WAIT_2状态的客户端需要等待服务器发送结束报文段,才能转移至TIME_WAIT状态,否则它将一直停留在这个状态。如果不是为了在半关闭状态下继续接收数据,连接长时间地停留在FIN_WAIT_2状态并无益处。连接停留在FIN_WAIT_2状态的情况可能发生在:客户端执行半关闭后
,未等服务器关闭连接就强行退出了。此时客户端连接由内核来接管,可称之为孤儿连接(和孤儿进程类似)
 Linux为了防止孤儿连接长时间存留在内核中,定义了两个内核参数:
 /proc/sys/net/ipv4/tcp_max_orphans 指定内核能接管的孤儿连接数目
 /proc/sys/net/ipv4/tcp_fin_timeout 指定孤儿连接在内核中生存的时间

十五:TCP超时重传
 异常网络状况下(开始出现超时或丢包),TCP控制数据传输以保证其承诺的可靠服务
 TCP服务必须能够重传超时时间内未收到确认的TCP报文段。为此,TCP模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动。如果超时时间内未收到接收方的应答,TCP模块将重传TCP报文段并重置定时器。至于下次重传的超时时间如何选择,以及最多执行多少次重传,就是TCP的重传策略
 与TCP超时重传相关的两个内核参数:
 /proc/sys/net/ipv4/tcp_retries1,指定在底层IP接管之前TCP最少执行的重传次数,默认值是3
 /proc/sys/net/ipv4/tcp_retries2,指定连接放弃前TCP最多可以执行的重传次数,默认值15(一般对应13~30min)

十六、UDP特性
 工作在传输层
 提供不可靠的网络访问
 非面向连接协议
 有限的错误检查
 传输性能高
 无数据恢复特性

十七、Internet协议特征
 运行于 OSI 网络层
 面向无连接的协议
 独立处理数据包
 分层编址
 尽力而为传输
 无数据恢复功能

IP PDU报头

1、 版本:占4位,指 IP 协议的版本目前的IP协议版本号为4
2、首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此IP 的首部长度的最大值是60字节
3、区分服务:占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.后改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用
4、总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU
5、标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1, 也用于数据包分片,在同一个包的若干分片中,该值是相同的
6、标志(flag):占3位,目前只有后两位有意义
7、DF: Don‘t Fragment,中间的一位,只有当 DF=0 时才允许分片
8、MF: More Fragment,最高位,MF=1表示后面还有分片。MF=0表示最后一个分片
9、片偏移:占12位,指较长的分组在分片后,该分片在原分组中的相对位置.片偏移以8个字节为偏移单位
10、生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255
11、协议:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为UDP 协议
12、首部检验和:占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法
13、源地址和目的地址:都各占4字节,分别记录源地址和目的地址
14、片偏移以8个字节为偏移单位
15、假定MTU=1400,三个包id=100相同, 前两个 mf=1,最后一个mf=0

十八、IP地址
1、它们可唯一标识 IP 网络中的每台设备
2、每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
3、IP地址由两部分组成:
• 网络ID:
• 标识网络
• 每个网段分配一个网络ID
• 主机 ID:
• 标识单个主机
• 由组织分配给各设备

4、IPv4地址格式:点分十进制记法5、IP地址分类A类:0 000 0000 - 0 111 1111: 1-127网络数:126, 127每个网络中的主机数:2^24-2默认子网掩码:255.0.0.0私网地址:10.0.0.0
B类:10 00 0000 - 10 11 1111:128-191网络数:2^14每个网络中的主机数:2^16-2默认子网掩码:255.255.0.0私网地址:172.16.0.0-172.31.0.0
C类:110 0 0000 - 110 1 1111: 192-223网络数:2^21每个网络中的主机数:2^8-2默认子网掩码:255.255.255.0私网地址:192.168.0.0-192.168.255.0
D类:组播1110 0000 - 1110 1111: 224-239
E类:240-2556、公共IP地址7、私有IP地址7、特殊地址1、0.0.0.00.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。2、255.255.255.255限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机3、127.0.0.1~127.255.255.254本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包。4、224.0.0.0到239.255.255.255组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序5、169.254.x.x如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。8、保留地址9、子网掩码10、有子网的子网络11、子网掩码的八位12、可变长度子网掩码13、Subnet地址14、优化IP地址分配15、跨网络通信1、跨网络通信:路由2、路由分类:主机路由网络路由默认路由3、优先级:精度越高,优先级越高16、动态主机配置协议DHCP17、基本网络配置1、将Linux主机接入到网络,需要配置网络相关设置。2、一般包括如下内容:主机名IP/netmask路由:默认网关DNS服务器主DNS服务器次DNS服务器第三DNS服务器18、CentOS 6网卡名称1、接口命名方式:CentOS 6以太网:eth[0,1,2,...]ppp:ppp[0,1,2,...]2、网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules3、查看网卡:dmesg |grep –i ethethtool -i eth04、卸载网卡驱动:modprobe -r e1000rmmod e10005、装载网卡驱动:modprobe e100019、网络配置方式1、静态指定:ifconfig, route, netstatip: object {link, addr, route}, ss, tcsystem-config-network-tui,setup配置文件2、动态分配:DHCP: Dynamic Host Configuration Protocol20、配置网络接口ifconfig命令ifconfig [interface]ifconfig -aifconfig IFACE [up|down]ifconfig interface [aftype] options | address ...ifconfig IFACE IP/netmask [up]ifconfig IFACE IP netmask NETMASK注意:立即生效启用混杂模式:[-]promisc21、route命令1、路由管理命令2、查看:route -n3、添加:route addroute add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]4、目标:192.168.1.3 网关:172.16.0.1route add -host 192.168.1.3 gw 172.16.0.1 dev eth05、目标:192.168.0.0 网关:172.16.0.1route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth06、默认路由,网关:172.16.0.1route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1route add default gw 172.16.0.17、删除:route delroute del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]8、目标:192.168.1.3 网关:172.16.0.1route del -host 192.168.1.39、目标:192.168.0.0 网关:172.16.0.1route del -net 192.168.0.0 netmask 255.255.255.022、配置动态路由通过守护进程获取动态路由• 安装quagga包• 支持多种路由协议:RIP、OSPF和BGP• 命令vtysh配置23、netstat命令1、netstat - Print network connections, routing tables, interface,statistics, masquerade connections, and multicast memberships2、显示网络连接:netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]-t: tcp协议相关-u: udp协议相关-w: raw socket相关-l: 处于监听状态-a: 所有状态-n: 以数字显示IP和端口;-e:扩展格式-p: 显示相关进程及PID3、常用组合:-tan, -uan, -tnl, -unl4、显示路由表:netstat {--route|-r} [--numeric|-n]-r: 显示内核路由表-n: 数字格式5、显示接口统计数据:netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]netstat -inetstat –I=IFACEifconfig -s eth024、ip命令1、配置Linux网络属性:ip命令2、ip - show / manipulate routing, devices, policy routing and tunnelsip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }ip link - network device configurationset dev IFACE可设置属性:up and down:激活或禁用指定接口ifup/ifdownshow [dev IFACE]:指定接口[up]:仅显示处于激活状态的接口3、ip addr { add | del } IFADDR dev STRING[label LABEL]:添加地址时指明网卡别名[scope {global|link|host}]:指明作用域global: 全局可用link: 仅链接可用host: 本机可用[broadcast ADDRESS]:指明广播地址4、ip address show - look at protocol addresses[dev DEVICE][label PATTERN][primary and secondary]5、ip address flush - 使用格式同showip addr add 172.16.100.100/16 dev eth0 label eth0:0ip addr del 172.16.100.100/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:06、ip route - routing table management添加路由:ip route addip route add TARGET via GW dev IFACE src SOURCE_IPTARGET:主机路由:IP网络路由:NETWORK/MASKip route add 192.168.0.0/24 via 172.16.0.1ip route add 192.168.1.13 via 172.16.0.1添加网关:ip route add default via GW dev IFACEip route add default via 172.16.0.1删除路由:ip route deleteip route del TARGET显示路由:ip route show|list清空路由表:ip route flush [dev IFACE] [via PREFIX]ip route flush dev eth025、ss命令1、格式:ss [OPTION]... [FILTER]2、netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。3、选项:-t: tcp协议相关-u: udp协议相关-w: 裸套接字相关-x:unix sock相关-l: listen状态的连接-a: 所有-n: 数字格式-p: 相关的程序及PID-e: 扩展的信息-m:内存用量-o:计时器信息4、FILTER : [ state TCP-STATE ] [ EXPRESSION ]5、TCP的常见状态:tcp finite state machine:LISTEN: 监听ESTABLISHED:已建立的连接FIN_WAIT_1FIN_WAIT_2SYN_SENTSYN_RECVCLOSED6、EXPRESSION:dport =sport =示例:’( dport = :ssh or sport = :ssh )’7、常用组合:-tan, -tanl, -tanlp, -uan8、常见用法ss -l 显示本地打开的所有端口ss -pl 显示每个进程具体打开的socketss -t -a 显示所有tcp socketss -u -a 显示所有的UDP Socektss -o state established '( dport = :ssh or sport = :ssh)' 显示所有已建立的ssh连接ss -o state established '( dport = :http or sport =:http )' 显示所有已建立的HTTP连接ss -s 列出当前socket详细信息26、网络配置文件1、IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE2、路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE3、/etc/sysconfig/network-scripts/ifcfg-IFACE:说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txtDEVICE:此配置文件应用到的设备HWADDR:对应的设备的MAC地址BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootpNM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no"4、ONBOOT:在系统引导时是否激活此设备5、TYPE:接口类型;常见有的Ethernet, Bridge6、UUID:设备的惟一标识7、IPADDR:指明IP地址8、NETMASK:子网掩码9、GATEWAY: 默认网关10、DNS1:第一个DNS服务器指向11、DNS2:第二个DNS服务器指向12、USERCTL:普通用户是否可控制此设备13、PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中27、主机名和本地解析器1、配置当前主机的主机名:hostname [HOSTNAME]/etc/sysconfig/networkHOSTNAME=2、解析器执行正向和逆向查询3、/etc/hosts• 本地主机名数据库和IP地址的映像• 对小型独立网络有用• 通常,在使用DNS前检查• getent hosts 查看/etc/hosts 内容28、dns名字解析1、/etc/resolv.confnameserver DNS_SERVER_IP1nameserver DNS_SERVER_IP2nameserver DNS_SERVER_IP3search magedu.com2、/etc/nsswitch.conf与/etc/hosts相比优先于DNS3、正向解析:FQDN-->IPdig -t A FQDNhost -t A FQDN4、反向解析:IP-->FQDNdig -x IPhost -t PTR IP29、网络配置文件1、/etc/sysconfig/network-scripts/route-IFACE• 注意:需service network restart生效• 两种风格:(1) TARGET via GW如:10.0.0.0/8 via 172.16.0.1(2) 每三行定义一条路由ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW30、网卡别名1、对虚拟主机有用2、将多个IP地址绑定到一个NIC上eth0:1 、eth0:2、 eth0:33、ifconfig命令:ifconfig eth0:0 192.168.1.100/24 upifconfig eth0:0 down4、ip命令:ip addr add 172.16.1.2/16 dev eth0ip addr add 172.16.1.1/16 dev eth0 label eth0:0ip addr add 172.16.1.2/16 dev eth0 label eth0:0ip addr del 172.16.1.1/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:031、设备别名1、为每个设备别名生成独立的接口配置文件• 关闭NetworkManager服务• ifcfg-ethX:xxx• 必须使用静态联网DEVICE=eth0:0IPADDR=10.10.10.10NETMASK=255.0.0.0ONPARENT=yes2、注意:service network restart 生效3、参考/usr/share/doc/initscripts-*/sysconfig.txt32、网卡名称1、基于BIOS支持启用biosdevname软件内置网卡:em1,em2pci卡:pYpX Y:slot ,X:port2、名称组成格式en: Ethernet 有线局域网wl: wlan 无线局域网ww: wwan无线广域网名称类型:o<index>: 集成设备的设备索引号s<slot>: 扩展槽的索引号x<MAC>: 基于MAC地址的命名p<bus>s<slot>: enp2s133、采用传统命名方式1、使用传统命名方式:2、(1) 编辑/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg3、(2) 为grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg4、(3) 重启系统34、CentOS 7网络配置工具1、CentOS7主机名2、配置文件:/etc/hostname ,默认没有此文件,通过DNS反向解析获取主机名,主机名默认为:localhost.localdomain3、显示主机名信息hostnamehostnamectl status4、设置主机名hostnamectl set-hostname centos7.magedu.com5、删除文件/etc/hostname,恢复主机名localhost.localdomain6、CentOS 7网络配置工具7、图形工具:nm-connection-editor8、字符配置tui工具:nmtui9、命令行工具:nmcli35、nmcli命令1、地址配置工具:nmcli2、nmcli [ OPTIONS ] OBJECT { COMMAND | help }device - show and manage network interfacesnmcli device helpconnection - start, stop, and manage network connectionsnmcli connection help3、修改IP地址等属性:nmcli connection modify IFACE [+|-]setting.property valuesetting.property:ipv4.addresses ipv4.gatewayipv4.dns1 ipv4.method manual | auto4、修改配置文件执行生效:systemctl restart networknmcli con reload5、nmcli命令生效: nmcli con down eth0 ;nmcli con up eth036、使用nmcli配置网络1、NeworkManager是管理和监控网络设置的守护进程2、设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效3、显示所有包括不活动连接nmcli con show4、显示所有活动连接nmcli con show --active5、显示网络连接配置nmcli con show "System eth0“6、显示设备状态nmcli dev status7、显示网络接口属性nmcli dev show eth08、创建新连接default,IP自动通过dhcp获取nmcli con add con-name default type Ethernet ifname eth09、删除连接nmcli con del default10、创建新连接static ,指定静态IP,不自动连接nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.25411、启用static连接配置nmcli con up static12、启用default连接配置nmcli con up default13、查看帮助nmcli con add help14、修改连接设置nmcli con mod“static” connection.autoconnect nonmcli con mod “static” ipv4.dns 172.25.X.254nmcli con mod “static” +ipv4.dns 8.8.8.8nmcli con mod “static” -ipv4.dns 8.8.8.8nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”nmcli con mod “static” +ipv4.addresses 10.10.10.10/1615、DNS设置,存放在/etc/resolv.conf文件中PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:nmcli con mod “system eth0” ipv4.ignore-auto-dns yes37、nmcli命令38、网络配置文件1、设备配置被保存在文本文件中• /etc/sysconfig/network-scripts/ifcfg-<name>• 帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt39、nmcli命令1、修改连接配置后,需要重新加载配置nmcli con reloadnmcli con down “system eth0” 可被自动激活nmcli con up “system eth0”nmcli dev dis eth0 禁用网卡,访止被自动激活2、图形工具nm-connection-editor3、字符工具nmtuinmtui-connectnmtui-editnmtui-hostname40、测试网络工具1、在命令行下测试网络的连通性 显示主机名hostname2、测试网络连通性pingmtr3、显示正确的路由表ip route4、确定名称服务器使用: nslookup host dig 5、跟踪路由• traceroute• tracepath41、网络客户端工具1、ftp,lftp:子命令:get、mget、ls、helplftp [-p port] [-u user[,password]] SERVER2、lftpget URL3、wget [option]... [URL]...-q: 静默模式-c: 断点续传-P:保存在指定目录-O: 保存为指定的文件名--limit-rate=: 指定传输速率,单位K,M等4、links URL--dump--source

转载于:https://blog.51cto.com/13287682/2044869

Python第十课 网络管理相关推荐

  1. Python第十课(函数3)

    Python第十课(函数3)    >>>转到思维导图>>>转到中二青年 闭包函数 1.定义在函数内部的函数 2.内部函数内部函数引用了外部函数名称空间作用域的名字 ...

  2. python tcp server传输成功之后进行删除_Python第十课 网络管理

    一.常见的网络物理组件 路由器 交换机(RJ-45连接器和pc) pc pc 交换机(网络接口卡) pc pc 二.网络应用程序 1.Web浏览器(chrome.IE.Firefox等) 2.即时消息 ...

  3. 十、Python第十课——字典的些许知识(重点)

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 (请先看置顶博文)https://blog.csd ...

  4. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  5. python中高阶函数map怎么用_python六十课——高阶函数之map

    1.高阶函数: 特点:函数的形参位置必须接受一个函数对象 分类学习: 1).map(fn,lsd1,[lsd2...]): 参数一:fn --> 函数对象 参数二:lsd1 --> 序列对 ...

  6. Python界面编程第二十课:Pyside2 (Qt For Python)文本编辑框QTextEdit

    先看完整代码: from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QTextEdit import sys from ...

  7. 十一、Python第十一课——用户输入和另一种循环(While)

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 学了这么久的Python,大家肯定会好奇,不是说机器学习 ...

  8. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

  9. Python爬虫十六式 - 第四式: 使用Xpath提取网页内容

    Xpath:简单易用的网页内容提取工具 学习一时爽,一直学习一直爽 !   Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 requests 的使用方法.到上节课为止, ...

最新文章

  1. python字符串操作_浅谈Python 字符串特有的操作方法
  2. (ios实战):retain,copy,assign及autorelease ,strong,weak
  3. iOS - 设置导航栏之标题栏居中、标题栏的背景颜色
  4. Android深入理解Context(三)Context完全解析
  5. 镜像公测招募啦!!!用镜像开通云服务器,限时免费体验!!
  6. linux/unix编程手册-61_64
  7. 【转】ABP源码分析四十四:ZERO的配置
  8. 拓端tecdat|R语言分类回归决策树交互式修剪和更美观地可视化分析细胞图像分割数据集
  9. BZOJ 3190: [JLOI2013]赛车
  10. 打造自己的Android源码学习环境之四:下载Android源代码
  11. 一周成python大神_2个月把你变成selenium+Python大神,上海悠悠带你飞!
  12. JAVA 使用 pdfbox实现打印 PDF 文件 (横版,竖版)
  13. matlab 的滤波器分析,滤波器matlab分析
  14. electron tray click right click
  15. 记录:web前端高德API获取天气服务
  16. (二)Chrome新标签页的设置
  17. Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))
  18. java为word添加水印,图片水印和文字水印
  19. 打印 Java 数组的最简单方法是什么?
  20. 西瓜书学习笔记第2章(模型评估与选择)

热门文章

  1. Dubbo环境搭建-管理控制台dubbo-admin实现服务监控
  2. Python爬取猪肉价格网并获取Json数据
  3. jsp中通过多种方式实现面包屑导航
  4. CentOS7中安装图形界面
  5. springboot-静态资源配置原理
  6. 用matlab相关分析,基于matlab的逐像元偏相关分析
  7. Spring Cloud:使用Ribbon实现负载均衡详解(下)
  8. Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法
  9. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
  10. mysql的wait_timeout配置