第六周总结(运维基础网络部分)

1. 网络通讯基本原理:

网络通讯条件:
1) 实现网络通讯必须有传输介质
2) 必须拥有网卡设备
	作用1: 将计算机可以识别二进制信息 转换为传输介质可以识别数据信息
	作用2: 将传输介质上的数据信息进行转换 转换为计算机可以识别二进制信息
3) 通讯速率协商过程
	1Gbps == 每秒种传输 1G bit(01)数据包 1G*1024*1024*1024  1073741824
	byte == 8bit
	bit  == 1/8byte 
	151MB == 151*8= 1208Mb  1000Mbps  约等于 1s 

2. 网络常见硬件设备:

1. 交换机: 实现一个网络内部多台主机通讯需求 
	   数据信息通过网络传递过程, 必须有数据封装过程, 添加上地址信息
	   添加MAC地址, MAC地址主要用于在一个网络内部实现通讯使用
	   mac属于一个物理地址, 所有厂商生产网卡时就会配置上一个mac地址(全球唯一)
	   利用交换机进行数据传递时, 有些时候必须借助广播方式进行通讯 --- 交换机所有的接口属于一个广播域
	   有效通讯过程: 必须是有去有回过程
			
	作用说明: 实现一个局域网内部之间多台主机的通讯
	通讯方式: 会采用广播方式进行通讯
	地址识别: 交换机主要识别MAC地址信息
	          MAC地址: 物理地址, 每个网卡上都拥有的地址, 全球唯一
    通讯过程: 有效通讯过程必须是有去有回

              CSMA/CD: 载波监听多路访问技术, 避免广播数据信息产生冲突 
	
2. 路由器: 作为网络层的网络互连设备路由器在网络互连中起到了不可或缺的作用
	   与物理层或数据链路层的网络互连设备相比,其具有一些物理层或数据链路层的网络互连设备所没有的重要功能
	   它能实现异构网络的互连,在物理上拓展了网络的规模;实现网络的逻辑划分;实现VLAN之间的通信
	   同时,还可以实现其他一些重要的网络功能,如提供访问控制功能、优先级服务和负载平衡等
	
	作用说明: 实现不同局域网之间网络通讯
	通讯方式: 识别不同网络信息, 实现通讯 
	地址识别: 路由器主要识别IP地址信息
	          192.168.10.200
			  192.168.10              |  .200 
	          网络编号(局域网信息)       主机信息(局域网中主机信息)
			  可以让路由设备识别
			  		  
	北京       昌平区汇德商厦403吴世海(地址)    北京分部   山东分部   浙江   上海分部   上海市浦东新区张江路创智粮仓3307xxx		  
	网络编号       主机信息
    通讯过程: 路由器通过路由表实现通讯
			  路由表中的信息 == GPS 地图信息
			  目标网段信息(不能随意改动)     
			  连接网段主机地址信息可以随意改动	
			  
			  必须具有网关地址信息, 网关(海关)作用: 实现不同网络之间通讯必经之路
			  
3. 路由器配置方法:		  
	1) 设备连接配置方法
       方式一: 利用网线连接配置
       将网线连接到设备管理接口上(192.168.70.1), 修改本地主机网卡地址(192.168.70.2)
       利用浏览器打卡配置页面进行配置	

       方式二: 利用console连接配置
       配置远程软件为串行接口模式(波特率 9600) --- 连接 --- 命令行配置
	   
	
	2) 设备初始化管理配置:
	   第一个历程: 拒绝向导配置  no 
	   第二个历程: 修改主机名称
	   模式选择:
	   名称信息>           用户模式   简单查看操作          enable(en)
	   名称信息#           特权模式   查看详细信息          configure terminal(conf t)
	   名称信息(config)#   配置模式   接口配置/路由配置 
	   
	3) 接口地址配置
	   int f0/0 
	   ip address 192.168.10.1 255.255.255.0 
	   no shut 
	   
	   确认查看:
	   show ip route

4. 路由器中路由配置方法
    路由协议: 等价于通讯过程中语言, 路由器与路由器之间沟通语言
	协议分类: 
	· 静态路由协议: 手工配置  (配置复杂度较高)
	  语法信息: ip route 目标网络信息  掩码信息        去往目标网络下一跳接口地址
	  R1路由器上配置:          
	  ip route 192.168.20.0  255.255.255.0   12.0.0.2
	
	  R2路由器上配置:
	  ip route 192.168.20.0  255.255.255.0   23.0.0.3
	  ip route 192.168.10.0  255.255.255.0   12.0.0.1
	  
	  R3路由器上配置:
	  ip route 192.168.10.0  255.255.255.0   23.0.0.2
	
	· 动态路由协议: 互相学习  (配置简单方便)
	  01R   -------  02R  --------    03R
	  A               A                C
	  B               C                D
	  C               B                A    
      D               D 	           B 
	  
	  配置方法说明:
	  1) 开启指定动态路由协议: RIP OSPF 
	     RIP路由协议配置: 
		 特点: 小规范网络环境可以使用, 采用互相告知过程
		 · 路由器上开启路由RIP协议
	       router rip 
		 · 路由器上宣告直连路由信息
           network  本地路由器上直连路由
	  
	· 直连路由协议: 自动获取直连网络信息
	
	· 静态默认路由信息
	  ip route  0.0.0.0  255.255.255.0  12.0.0.2
	               
	=======================================================             
	扩展: 网络工程师
    01. 不同路由协议优先级别
        http://www.doc88.com/p-6991157777547.html
    02. 相同路由协议, 路径不同如何选路方式
        OSPF选路原则: cost数值进行选路
        RIP 选路原则: 管理距离		
	    BGP 选路原则: 度量值 metric
    =======================================================

3. 网络拓扑搭建思路:

网络拓扑结构:指用传输媒体对各种设备进行连接的物理布局,即用什么方式把网络中的计算机等设备连接起来。
			网络中的计算机等设备要实现互连,就需要以一定的结构方式进行连接,这种连接方式就叫作“拓扑结构”
			它描述了网络设备是如何连接在一起的
			目前常见的网络拓扑结构主要有:总线型拓扑结构、环形拓扑结构、星形拓扑结构、混合型拓扑结构和其他拓扑结构等

虚拟主机上网络拓扑: 虚拟主机(虚拟网卡) --> 虚拟交换机 ---> 虚拟网关 ---> 路由 ---> 物理网卡 --- ....
	核心层:  路由器 
	  作用:  实现局域网主机可以访问互联网

    汇聚层:  交换机(三层交换机---有路由功能设备)
      作用:  将所有数据流量进行汇聚, 对流量进行管理
             实现不同企业内部局域网之间通讯

    接收层:  交换机(二层交换机)
      作用:  接入终端设备	
1. 总线型拓扑结构:
	说明:总线结构上所有的结点都连接到一条称为总线的公共线路上。即所有的结点共享一条数据通道,结点间通过广播进行通信
		 即一个结点发出的信息可以被网络上多个结点接受,而一段时间只允许一个结点传送信息。
	优点:连接形式简单,易于实现,所用线缆最短,增加或者移除结点比较灵活,个别结点发生故障时,不影响网络中其他结点的正常工作
	缺点:网络传输能力低,安全性低,总线发生故障时,会导致全网瘫痪。结点数量的增多会影响网络性能。

2. 星形拓扑结构:(应用最普遍)
	说明:星型结构是以一个结点为中心的处理系统。
		 其他各结点都与该中心结点有着物理链路的直接互连,其他结点直接不能直接通信,其他结点直接的通信需要该中心结点进行转发
		 因此中心结点必须有着较强的功能和较高的可靠性。
	优点:结构简单,建网容易,控制简单,维护容易,网络传输速度快。
	缺点:属于集中控制。主机负载过重,可靠性低,通信线路利用率低。安全隐患大。

3. 环形拓扑结构:
	说明:环形结构是将联网的计算机由通信线路连接成一个闭合的环,在环形结构网络中信息按照固定方向流动,或顺时针方向,或逆时针方向。
	优点:一次通信的最大传输延迟是固定的,每个网上结点只与其他二个结点有物理链路直接互连。传输控制机制简单,实时性强。
	缺点:一个结点发生故障时,可能导致全网瘫痪,可靠性差。维护困难,扩展性能差

4. 混合型拓扑结构:
	说明:由星形结构和总线型结构结合的网络结构。解决了星形网络在传输距离上的局限,同时又解决了总线型网络在连接用户数量上的限制
  1. 总线型拓扑结构:
    第六周总结(运维基础网络部分)_第1张图片
  2. 星形拓扑结构:
    第六周总结(运维基础网络部分)_第2张图片
  3. 环形拓扑结构:
    第六周总结(运维基础网络部分)_第3张图片
  4. 混合型拓扑结构:
    第六周总结(运维基础网络部分)_第4张图片

4. 网络层次结构模型:

1. OSI7层模型: 抽象概念知识
      模型作用: 制定通讯标准或者规范
      层次结构: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层   (低到高)
          应用层: 产生传输发送数据信息 (服务)
		  表示层: 分段处理/组合过程(1500字节) 编码/解码  加密/解密
          会话层: 控制会话是否建立或者终止
          传输层: 控制会话通讯可靠性(TCP)或者高效性(UDP)
          网络层: 控制数据信息可以从一个网络到达其他不同网络中 
        	     三层设备==具有路由功能设备     路由协议规范标准 OSPF
          链路层: 控制一个网络内部数据传递       二层设备==具有交换功能设备
          物理层: 利用传输介质控制数据传输  网线 光纤   			   
      通讯要求: 数据完整封装过程   PDU(数据) --> (目标或源端口) --> (目标或源IP地址) --> (目标或源mac地址)
	                           ---> bit(比特流) --> 网卡转换为(光信号或电信号)
                数据解封装过程   网卡转换为(二进制bit信息) --> 识别帧信息 --> 识别包信息 --> 端信息 --> 数据信息
      
	  
2. TCP/IP模型(DOD参考模型)	
	   模型作用: 定义不同协议, 实现网络通讯需求
	   层次结构: 接入层  互联网层  主机到主机层  应用层
	           · 应用层: telnet(远程连接-23)      FTP(文件传输-20 21 主动模式/被动模式)  TFTP(简单文件传输)
	                    HTTP(超文本传输协议-80)  SMTP(邮件传输协议-25)   NFS(网络文件系统--数据共享) 
						DHCP(动态主机配置协议---自动获取IP地址)
	           · 传输层: TCP UDP 

第六周总结(运维基础网络部分)_第5张图片
第六周总结(运维基础网络部分)_第6张图片
第六周总结(运维基础网络部分)_第7张图片

3. TCP: 传输控制协议 面向连接网络协议
            优点: 数据传输可靠性高
            缺点: 数据通讯效率较低
			应用: 文件传输  邮件传输  网站页面数据传输
			10M --> 2M 5个数据包  10A 主机   	-数据->     B主机   	1<-确认-             	1-数据->            	24. UDP: 用户报文协议 无连接网络协议
	        优点: 数据通讯效率较高
			缺点: 数据安全性无法保证
			应用: DNS解析服务 视频数据传输  语言数据传输		
			10M --> 2M 5个数据包  5A 主机   	-数据->   B主机 
	                	-数据->
       			      	-数据->
					 	-数据->   
=======================================================================
补充: 实现系统发送邮件功能
linux系统 --- 邮件服务器建立关系(QQ 330882721  163) --- 其他人发送邮件
    第一个历程: 注册一个邮件服务器	
       进行设置 --- 开启smtp服务功能 --- 生成一个授权码
    第二个历程: linux系统配置发送邮件功能	
       vim /etc/mail.rc
       set from=邮箱地址@163.com smtp=smtp.163.com <- 邮件发送邮件服务器域名,此处为163邮箱的发送服务器域名
       set smtp-auth-user=邮箱账号 smtp-auth-password=登录邮箱密码 smtp-auth=login
	   
	   set from=17778058507@163.com
       set smtp=smtp.163.com
       set smtp-auth-user=17778058507@163.com
       set smtp-auth-password=oldboy123
=======================================================================
	
=======================================================================
补充: DHCP协议获取IP地址原理:
01. 主机开启DHCP功能
02. 主机会想交换网络中发送DHCP请求数据包(广播方式发送)
03. DHCP服务器接受到请求数据包, 进行数据包响应
04. 主机接收到响应包配置地址信息, 并回复dhcp确认数据包
05. DHCP服务器接收到确认数据包, 会调整IP地址池信息  192.168.20.1 ~ 192.168.20.200
06. DHCP服务器根据地址租期信息, 确认地址是否继续使用, 若地址不在使用, 可将地址回收
    用于分配给其他主机使用	   
=======================================================================

5. 网络原理概念说明:

TCP三次握手过程:
	   准备知识: TCP报文结构 如何封装数据
	   控制字段: 对网络通讯有控制管理作用 0-关闭 1-开启 
	   syn: 请求建立连接控制字段
	   fin: 请求断开连接控制字段
	   ack: 传输数据确认控制字段
	   
	   总结:
	   第一次握手: 
	   发送请求连接控制字段syn , 请求建立连接       (客户端 --- 服务端)
	   根据数据包编号发送数据  seq=x  
	   第二次握手: 
	   发送确认控制字段ack 和 请求连接控制字段 syn  (服务端 --- 客户端)
	   根据数据包编号进行确认  ack=x+1 
	   根据数据包编号发送数据  seq=y
       第三次握手:
       发送确认控制字段ack                          (客户端 --- 服务端)	   
	   根据数据包编号进行确认  ack=y+1 
	   根据数据包编号发送数据  seq=x+1
	   
	   序列号: 传输数据编号, 便于重组数据
	   确认号: 确认下一次发送数据包编号

	  
TCP四次挥手过程:
	   总结:
	   第一次挥手: 
	   发送请求断开控制字段fin 和 确认控制字段      (客户端 --- 服务端)
	   第二次挥手: 
	   发送确认控制字段ack                       (服务端 --- 客户端)
       第三次挥手:
	   发送请求断开控制字段fin 和 确认控制字段      (服务端 --- 客户端)
       第四次握手:
       发送确认控制字段ack                       (客户端 --- 服务端)	   
	   
	   为什么挥手是四次挥手, 建立是三次握手
	   答案: 因为挥手时, 需要有数据传输确认阶段
	   
	   有没有可能挥手时三次挥手:, 省略第二次挥手过程 

第六周总结(运维基础网络部分)_第8张图片
第六周总结(运维基础网络部分)_第9张图片
第六周总结(运维基础网络部分)_第10张图片
第六周总结(运维基础网络部分)_第11张图片

1. DNS域名解析原理:已知域名信息 获得 IP地址
	DNS:domian name system(域名解析服务)
	     让使用这个访问网站服务器时,利用名称访问,不用在使用IP地址访问
	解析过程:
    三个过程:
    第一个过程: 本地域名解析过程
	①:查看DNS缓存记录信息
	②:查看本地hosts文件
    
	第二个过程: 递归域名解析过程
    查看LDNS服务器中是否有解析记录
    
	第三个过程: 迭代域名解析过程	
	①:向根域名服务器进行询问
	②:向顶级域名服务器进行询问
	③:向二级域名服务器进行询问
	④:LDNS服务器获取二级域名响应A记录信息,进行保存
	    将结果发送给主机
	
2. ARP地址解析原理:已知IP地址 获得 MAC地址
	ARP解析原理作用:
	01. 利用ARP可以发送请求数据包, 获得响应主机MAC地址, 从而实现数据封装过程
	02. 减少交换网络中广播包产生
	
	ARP解析过程:
	第一个历程:发送ARP广播包,获得主机mac地址
	第二个历程:所有主机会受到广播包,完善ARP表信息
	第三个历程:利用获得mac地址,封装数据包实现数据通讯
	补充:交换机在连接上主机之后,会发送hello包,获得主机的mac地址
	     构建交换机mac地址表,方便转发数据信息

	静态ARP:静态ARP指的是需要管理员手工指定建立AP-MAC映射表,需要管理员手工建立和维护
	动态ARP:动态ARP指的是通过报文去学习ARP表项,不需要管理员手工建立和维护

	静态ARP由于手工指定和维护,所以网络更加稳定;
    动态ARP不需要管理员手工管理和维护,减少了管理员的维护量,由于动态ARP是同过ARP报文去学习表项
    所以ARP表项会出现覆盖和老化的情况,导致网络不是很稳定
    相对来说,静态ARP适用于拓扑简单,或安全要求高的企业或单位(政府、银行、军队等)
    而动态ARP适用于拓扑结构复杂、带宽资源紧张切对通信质量要求不是很高的企业

	静态ARP表项
	长表项:长表项可直接用于报文转发。建立ARP长表项时,除了IPMAC以外
		 还需要建立所在VLAN和出接口;当限定设备和用户在某个VLAN内通信时,使用长表项;  
	短表项:短表项不能直接用于报文转发。如果用户希望向指定设备通信时,使用短表项;
	
	动态ARP表项老化
	在一段时间内,如果表项中的ARP映射关系始终没有使用,则会被删除。通过及时删除不活跃表项,从而提升ARP响应效率
==========================================================================
端口号范围: 1 ~ 65535 
	   占用了1个bit(二进制数字 0 1)      2的n次方  n表示占用了多少个bit
	   0    0     两个端口  范围 0 ~ 1   21次方=2  0 ~ 1 
	   1    1 

       占用了2个bit
	   00   0     四个端口  范围 0 ~ 3   22次方=4  0 ~ 3   
 	   01   1 
	   10   2  
	   11   3 
	   
	   占用了3个bit
	   000  0     八个端口  范围 0 ~ 7   23次方=8  0 ~ 7 
	   001  1  
	   010  2 
	   011  3  
	   100  4  
	   101  5 
	   110  6 
	   111  7 
	   
	   占用了16个bit  216次方=65536  1 ~ 65535      
==========================================================================

6. 网络IP地址说明:

  1. IPv4:
	基本组成由32bit组成,根据占用bit位可以得知, IP地址总数量 4294967296
	地址书写:将32bit划分为4组,每8位为一组,利用二进制进行表示
              11001100.00110011.11110000.00001111	二进制信息
	             204        51      240      15      十进制信息
				 
	二进制 --> 十进制   求和运算:
	11001100 -->  128 + 64 + 8 + 4 == 204
	00110011 -->  32  + 16 + 2 + 1 == 51
	11110000 -->  128 + 64 + 32+ 16== 240
	00001111 -->  8   + 4  + 2 + 1 == 15
	
	10111001  01011101  11100111  11000011  对应十进制数
	10111001 -->  128 + 32 + 16 + 8 + 1 == 185
    01011101 -->  64  + 16 + 8  + 4 + 1 == 93
    11100111      231 
    11000011      195 	

	十进制 --> 二进制   求差运算:
	192.168.20.202
	192 - 128 = 64 - 64 =0                  11000000
	168 - 128 = 40 - 32 =8 - 8 =0           10101000
	 20 - 16  = 4  - 4  =0                  00010100
    202 - 128 = 74 - 64 =10- 8 =2 - 2 = 0	11001010 
	
	0     0   0   0  0  0  0  0 
	128  64  32  16  8  4  2  1
	
	地址分类:
	1)按照IP地址使用范围  (A类地址 B类地址 C类地址 D类地址 E类地址)
	   192.168.10.x   --- C类地址   x == 0 ~ x == 255
	2)按照IP地址用途划分  (公网地址 私网地址)
	   公网地址: 全球唯一/可以出现在互联网的路由表中
	   私网地址: 重复使用/不能出现在互联网的路由表中  (需要借助NAT 地址转换技术 实现地址/端口映射)
	3)按照IP地址通讯方式
	   单播地址: 网卡上配置的地址
	   组播地址: 实现一组设备通讯(D类地址) 高可用服务
	   广播地址: 实现一个网段内主机进行通讯
	              主机位全为1的地址  192.168.20.x -- C地址 广播地址  192.168.20.255 
	              主机位全为0的地址  192.168.20.x -- C地址 网络地址  192.168.20.0  
				  
	   PS2的n次方 - 3 = 一个局域网中可用IP地址数量
	       n --- 占用了多少主机位
		   3 --- 广播地址/网络地址/网关地址
	
	   172.16.0.0  B类地址  里面可以拥有多个主机地址
           216次方 - 3 == 65536 - 3 = 65533	   
	
	枯竭问题,有效规划IP地址使用
	IP地址子网划分:
	
	172.16.0.0  B类地址  --- 老男孩
	老男孩服务器数量:65533   60000台服务器   ARP(动态(ARP表信息更新) 静态)
	35533  30000
	
	不划分子网问题:        划分子网
	1)造成地址浪费         避免地址资源浪费
	2)造成主机性能下降     提升主机网络性能    
	3)造成路由性能下降     提升路由转发效率
	
	如何划分子网:
	
	掩码信息:
	IP地址信息:   172.         16.   0.      0 
	
	掩码地址信息:11111111. 11111111 00000000  00000000
	               255        255      0          0
	
	192.168.10.0 c类 --- 划分出四个子网?
	求出: 
	每个子网网络地址信息
	每个子网掩码地址信息
	每个子网地址范围信息
	
	子网数量 = 2的n次方   n 借用了多少个主机位生成子网位
    子网位2位:

    第一个子网: 192.168.10 . 00  000000 
	子网网络地址信息:192.168.10.0
	子网网络掩码信息:255.255.255.192
	子网网络地址范围:192.168.10.1 ~ 192.168.10.62


    第二个子网: 192.168.10 . 01  000000
    子网网络地址信息:192.168.10.64
    子网网络掩码信息:255.255.255.192	
	子网网络地址范围:192.168.10.65 ~ 192.168.10.126


    第三个子网: 192.168.10 . 10  000000 
	子网网络地址信息:192.168.10.128
	子网网络掩码信息:255.255.255.192
	子网网络地址范围:192.168.10.129 ~ 192.168.10.190

    
	第四个子网: 192.168.10 . 11  000000 	
	子网网络地址信息:192.168.10.192
	子网网络掩码信息:255.255.255.192
	子网网络地址范围:192.168.10.193 ~ 192.168.10.254
  1. IPv6:
基本组成由128bit组成,根据占用bit位可以得知,IP地址总数量 
			340282366920938463463374607431768211456
	
    每一组: 0011 1100 0100 0110  二进制数
                3  12  4     6   十进制数
                3  C   4     6   十六进制
				
	192.0.2.100 => IPv6: 0:0:0:0:0:0:192.0.2.100 => 0:0:0:0:0:0:c000:0264
	
	1100 0000 0000 0000 : 0000 0010  0110 0100
	  C   0    0    0      0    2     6    4 
  1. 虚拟网络上网原理:
保证虚拟主机上网:(NAT1) 虚拟网卡地址必须正确 (10.0.0.x 掩码 网关信息)
	2) 虚拟软件虚拟网络配置 (虚拟编辑配置  网关配置  虚拟网络服务)
	3) 物理网卡是否配置正确
	4) 物理网络设备配置有关  
	
保证远程连接虚拟主机:
	1) 虚拟主机网络地址配置 
	2) 虚拟网卡地址是否正确
	3) 网络安全服务是否关闭 (windows防火墙 linux防火墙)
	4) 虚拟软件服务是否开启
  1. 系统路由配置
centos6
	静态默认路由配置:
	route add default gw 10.0.0.254
	静态网段路由配置:
	route add -net 39.156.66.0 netmask 255.255.255.0 gw 10.0.0.254
	静态主机路由配置:
	route add -host 223.5.5.5 gw 10.0.0.254
	
centos7 
	静态默认路由配置: 
	ip route add default via 10.0.0.254
	静态网段路由配置:
	ip route add 223.5.5.0/24 via 10.0.0.254
    静态主机路由配置:
	ip route add 223.5.5.5 via 10.0.0.254

7. 企业网络搭建步骤:

企业网络搭建步骤:

1. 核心层设备:  路由器设备
	配置信息:
	1)配置路由信息
	   a 拨号配置   页面配置(账号信息/密码信息)
	   b 路由配置   静态路由(获取下一跳信息)   ?动态路由:RIP OSPF BGP2)配置DHCP功能
	   a 搭建DHCP服务器  
	   b 配置DHCP功能
         配置IP网段地址池  192.168.10.1 ~ 192.168.10.200 
         配置IP地址掩码    255.255.255.0 
         配置IP地址网关    192.168.10.254
         配置DNS地址信息   223.5.5.5 	
    3)配置单臂路由功能
      单臂路由:即在路由器上设置多个逻辑子接口,每个子接口对应一个vlan。在每个子接口的数据在物理链路上传递都要标记封装
       
       一个公司内部,不同局域网之间通讯	   
	   
2. 汇聚层设备:  三层交换机
	1)配置vlan功能
	2)配置访问控制功能 ACL (访问控制列表) === iptables
	   根据访问目标地址 或者 端口信息进行控制管理
	   拒绝访问  124.236.40.3
	   
3. 接入层设备:  二层交换机(傻瓜交换机)
	 PS:避免出现连接环路

8. 网络相关命令总结:

ping

一、ping用法:
  ping命令运行在命令提示符终端,
  用法:
  ping 参数 目标主机”。其中参数为零到多个,目标主机可以是IP或者域名
   ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
		[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
		[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
		[-w deadline] [-W timeout] [hop1 ...] destination

二. 参数详解:
	-a		Audible ping.
	-A		自适应ping,根据ping包往返时间确定ping的速度;
	-b		允许ping一个广播地址;
	-B		不允许ping改变包头的源地址;
	-c		ping指定次数后停止ping; 
	-d 		使用Socket的SO_DEBUG功能;
	-F		为ping回显请求分配一个20位的“flow label”,如果未设置,内核会为ping随机分配;
	-f		极限检测,快速连续ping一台主机,ping的速度达到100次每秒;
	-i		设定间隔几秒发送一个ping包,默认一秒ping一次;
	-I		指定网卡接口、或指定的本机地址送出数据包;
	-l		设置在送出要求信息之前,先行发出的数据包;
	-L		抑制组播报文回送,只适用于ping的目标为一个组播地址
	-n 		不要将ip地址转换成主机名;
	-p		指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;
	-q		不显示任何传送封包的信息,只显示最后的结果
	-Q		设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数,详见rfc1349和rfc2474文档;
	-R		记录ping的路由过程(IPv4 only);
	    注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;
	-r		忽略正常的路由表,直接将数据包送到远端主机上,通常是查看本机的网络接口是否有问题;如果主机不直接连接的网络上,则返回一个错误。
	-S		设置套接字sndbuf。如果未指定,则选择它来缓冲不超过一个包
	-s		指定每次ping发送的数据字节数,默认为“56字节”+28字节”的ICMP头,一共是84字节;
		包头+内容不能大于65535,所以最大值为65507(linux:65507,windows:65500);
	-t		设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;
	-	设置IP timestamp选项,可以是下面的任何一个:
  		'tsonly' (only timestamps)
  		'tsandaddr' (timestamps and addresses)
  		'tsprespec host1 [host2 [host3]]' (timestamp prespecified hops). 
	-M		设置MTU(最大传输单元)分片策略。
		可设置为:
  		'do':禁止分片,即使包被丢弃;
  		'want':当包过大时分片;
  		'dont':不设置分片标志(DF flag);
	-m mark	设置mark;
	-v		使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包;
	-U 		打印完整的用户到用户的延迟(旧的行为)。
			正常情况下,ping打印网络往返时间,这可能是由于DNS故障而不同的f.e.-W timeout	以毫秒为单位设置ping的超时时间;
	-w deadline	最终期限
 
三、输出格式:

下面为简单的ping产生的响应内容,图中返回内容具体的含义如下:

① ping目标主机的域名和IP(ping会自动将域名转换为IP)
② 不带包头的包大小和带包头的包大小(参考“-s”参数)
③ icmp_seq:ping序列,从1开始;
  ttl:剩余的ttl;
  time: 响应时间,数值越小,联通速度越快;
④ 发出去的包数,返回的包数,丢包率,耗费时间;
⑤ 最小/最大/平均响应时间和本机硬件耗费时间; 
   
四、简单例子:
1、每隔0.6秒ping一次,一共ping 5次:
	[root@aiezu.com ~]# ping -c 5 -i 0.6 qq.com
	PING qq.com (14.17.32.211) 56(84) bytes of data.
	64 bytes from 14.17.32.211: icmp_seq=1 ttl=54 time=16.5 ms
	64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=17.0 ms
	64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=16.6 ms
	64 bytes from 14.17.32.211: icmp_seq=4 ttl=54 time=18.3 ms
	64 bytes from 14.17.32.211: icmp_seq=5 ttl=54 time=19.9 ms

 	--- qq.com ping statistics ---

	5 packets transmitted, 5 received, 0% packet loss, time 2405ms
	rtt min/avg/max/mdev = 16.520/17.692/19.919/1.293 ms

 2、极限快速的使用大包ping:
   以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力:
	[root@aiezu ~]# ping -f -s 65507 10.0.0.52
	PING 10.0.0.52 (10.0.0.52) 65507(65535) bytes of data.
	.^
	--- 10.0.0.52 ping statistics ---
	
	646 packets transmitted, 646 received, 0% packet loss, time 1675ms
	rtt min/avg/max/mdev = 1.202/2.406/8.253/0.507 ms, ipg/ewma 2.598/2.318 ms
==========================================================================
注意:此用法非常危险,65535(包头+内容)*100个包每秒=6.25MB,每秒发送6.25MB的数据,相当于50Mbps的带宽,完全可能导致目标主机拒绝服务。
请勿用于非法用途,造成不良后果自负。
==========================================================================

3、联通不稳定,丢包严重的情形:
  下面的ping发出17个ping icmp包,而只有序号为8912的包收到响应信息,丢包率达82%,联通非常不稳定:
	[root@aiezu.com ~]# ping 8.8.8.8
	PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
	64 bytes from 8.8.8.8: icmp_seq=8 ttl=43 time=32.3 ms
	64 bytes from 8.8.8.8: icmp_seq=9 ttl=43 time=32.2 ms
	64 bytes from 8.8.8.8: icmp_seq=12 ttl=43 time=32.0 ms
	^C

	--- 8.8.8.8 ping statistics ---

	17 packets transmitted, 3 received, 82% packet loss, time 16003ms
	rtt min/avg/max/mdev = 32.038/32.208/32.362/0.246 ms

 4、完全无法ping通的情形:
	[root@aiezu.com ~]# ping -c 3 9.9.9.9
	PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.

 	--- 9.9.9.9 ping statistics ---

	3 packets transmitted, 0 received, 100% packet loss, time 1999ms

 
五、常见错误:
错误一:
	ping: packet size too large: 70000
	WARNING: packet size 65508 is too large. Maximum is 65507
	PING 10.0.0.52 (10.0.0.52) 65508(65536) bytes of data.
	ping: local error: Message too long, mtu=1500
	ping: local error: Message too long, mtu=1500
解决:
  将ping的“-s”参数设置一个更小的值,windows最大值为“65500”,linux最大值为“65507

telnet

用途:用于远端登入;执行telnet指令开启终端机阶段作业,并登入远端主机。

语法:
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]

参数说明:
	-8 			允许使用8位字符资料,包括输入与输出。
	-a 			尝试自动登入远端系统。
	-b<主机别名> 使用别名指定远端主机名称。
	-c 			不读取用户专属目录里的.telnetrc文件。
	-d 			启动排错模式。
	-e<脱离字符> 设置脱离字符。
	-E 			滤除脱离字符。
	-f 			此参数的效果和指定"-F"参数相同。
	-F 			使用Kerberos V5认证时,加上可把本地主机的认证数据上传到远端主机。
	-k<域名> 	使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
	-K 			不自动登入远端主机。
	-l<用户名称> 指定要登入远端主机的用户名称。
	-L 			允许输出8位字符资料。
	-n<记录文件> 指定文件记录相关信息。
	-r 			使用类似rlogin指令的用户界面。
	-S<服务类型> 设置telnet连线所需的IP TOS信息。
	-x 			假设主机有支持数据加密的功能,就使用它。
	-X<认证形态> 关闭指定的认证形态。

实例:
登录远程主机
# telnet 192.168.0.5 
//登录IP为 192.168.0.5 的远程主机

IP“家族”

语法:ip [OPTIONS] OBJECT {COMMAND|help}
	ip link:network device configuration.
	ip link set DEV:修改设备属性
		1) up或down:启用或停用接口;示例,ip link set eth1 up/down
		2) multicast on 或 multicast off:启用或禁用多播功能;示例,ip link set eth1 multicast on/off
		3) name NAME:重命名接口;示例,ip link set eth1 name eth666
		4) mtu NUMBER:设置MTU的大小,默认为1500;(MTU,最大传输单元,某一层通信协议上所能承受的最大数据包大小;MTU越大承载的有效数据包就越大)
		5) netns PID:将指定的网卡移动到指定的虚拟网络(本地系统将看不到这块网卡)
	示例,ip netns add mynet ( 构建虚拟网络mynet )
		 ip link set eth1 netns mynet ( 将接口eth1添加到虚拟网络mynet )
		 ip netns exec mynet ip link show ( 查看虚拟网络mynet的接口信息 )
		 ip netns del mynet ( 删除虚拟网络 )
	 	 ip link show/list:显示设备属性
		 ip link help:显示简要使用帮助
		 ip netns:manage network namespaces.

释义:netns是linux中提供网络虚拟化的一个项目,使用netns可以在本地虚拟化出多个网络环境,
	 每个虚拟网络空间都独立于当前系统的网络空间,其中的网络设备及iptables规则等都是独立的。

    1) ip netns list:列出所有的netns
	   2) ip netns add NAME:创建指定的netns
	   3) ip netns del NAME:删除指定的netns
	   4) ip netns exec NAME COMMAND:在指定的netns中运行命令
	   5) ip netns help:显示简要使用帮助
	   6) exit:退出虚拟网络

ip address:protocol address management.
	1) ip address add IFADDR dev IFACE:给指定网卡添加多一个IP;示例,ip address add 192.168.10.2/24 dev eth1
		[label NAME]:为额外添加的地址指明接口别名;示例,ip address add 10.1.1.10/8 dev eth1 label eth1:0
		[broadcast ADDRESS]:广播地址;会根据IPNETMASK自动计算得到;
		[scope SCOPE_VALUE]:global:全局可用;link:接口可用;host:仅本机可用
	2) ip address delete IFADDR dev IFACE:删除接口的ip;示例,ip address delete 10.1.1.10/8 dev eth1
	3) ip address list/show [IFACE]:显示接口的地址信息;示例,ip address show,	
	4) ip address flush dev IFACE:清空接口所有的地址信息;示例,ip address flush dev eth1

ip route:routing table management.
	1) ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]:添加路由信息;
     示例,ip route add 10.0.2.0/24 via 10.0.1.11 (到达10.0.2.0/24网络的下一跳地址为10.0.1.11)
        ip route add 10.0.2.0/24 dev eth0 (通过接口eth0到达10.0.2.0/24网络)
        ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 (到达192.168.1.0/24网络须通过接口eth1的下一跳地址10.0.0.1)
   		     ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.10.100 (通过eth1接口的10.0.10.100地址,经下一跳10.0.0.1到达网络192.168.1.0/24;此条路由的网关是本机)
			 ip route add default via 172.16.0.1 dev eth0 (添加默认路由,通过eth0接口经下一跳172.16.0.1出去)

	2) ip route del:删除路由信息
	示例,ip route delete 192.168.1.0/24
		 ip route show:显示路由信息

	3) ip route flush - flush routing tables
	示例,ip route flush 192.168.1.0/24

	4) ip route get:获取路由信息
	示例,ip route get 192.168.0.0/24

ss命令

作用:获取socket信息,显示和netstat类似的内容,但比netstat更高效。

语法:ss [options] [FILTER]

参数:
	-t	TCP协议的相关连接
	-u	UDP相关的连接
	-w	仅显示raw套接字的连接
	-l	显示处于监听状态的连接
	-a	所有状态的连接
	-n	不解析服务名称
	-p	显示使用socket的进程
	-e	显示详细的信息
	-m	存用量
	-s	显示socket使用概况
	-o	计时器信息

FILTER=[state TCP-STATE] [EXPRESSION]

htop

基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,比top命令更加人性化,可以说是top的高级版
Linux系统默认不安装htop,需要自行安装,可以登录官网下载安装或配置epel源,通过yum install htop安装

第六周总结(运维基础网络部分)_第12张图片

总共分成四个区:
	1)上左区:显示CPU(12表示CPU的核数)、物理内存和交换分区的信息;
	2)上右区:显示任务数量(tasks)、平均负载(load average)和系统从开机到现在的运行时长;
	3)进程区域:动态显示当前系统中的所有进程;
	4)操作提示区:显示当前界面中F1~F10功能键中定义的快捷功能。

htop常用功能键:

	F1 : 查看htop使用说明
	F2 : 设置
	F3 : 搜索进程
	F4 : 过滤器,按关键字搜索
	F5 : 显示树形结构
	F6 : 选择排序方式
	F7 : 减少nice值,这样就可以提高对应进程的优先级
	F8 : 增加nice值,这样可以降低对应进程的优先级
	F9 : 杀掉选中的进程
	F10 : 退出htop

    /------------------搜索字符
    h------------------显示帮助
    l------------------显示进程打开的文件
    u------------------显示所有用户,并可以选择某一特定用户的进程
    s------------------将调用strace追踪进程的系统调用
    t------------------显示树形结构
    H------------------显示/隐藏用户线程
    I------------------倒转排序顺序
    K------------------显示/隐藏内核线程
    M------------------按内存占用排序
    P------------------CPU排序
    T------------------按运行时间排序
    上下键或PgUP/PgDn---移动选中进程
    左右键或Home/End----移动列表
    Space(空格)---------标记/取消标记一个进程

htop常用选项:
	-d #:			指定延迟时间间隔
	-u UserName:仅显示指定用户的进程
	-s COLUME:以指定字段进行排序

vmstat

命令概述:指定时间间隔内,动态监控系统的虚拟内存、进程、CPU活动的整体情况,属于低开销工具
命令格式:vmstat [options] [ delay [count] ]。

delay:刷新时间间隔,如果不指定,只显示一条结果;
count:刷新次数;如果不指定count但指定了delay,这时会一直刷新。

常用的options选项:

	-a---------显示活跃和非活跃内存
	-f---------显示从系统启动至今的fork数量 
	-m---------显示slab信息(slab,Linux的内存分配机制)
	-n---------只在开始时显示一次各字段名称
	-s---------显示内存相关统计信息及多种系统活动数量
	-d---------显示磁盘相关统计信息
	-p---------显示指定磁盘分区统计信息
	-S---------使用指定单位显示
			   参数有k(1000字节),K1024字节)m(1000000字节)M1048576字节)(bytes)。默认单位为K1024 bytes)
	-V---------显示vmstat版本信息

示例:
默认显示1次摘要信息
在这里插入图片描述
间隔2秒刷新1次摘要,总共显示3次
第六周总结(运维基础网络部分)_第13张图片
关键字释义:
第六周总结(运维基础网络部分)_第14张图片

使用while实现ping 192.168.0.0/24网络
(复制代码)
==========================================================================
#!/bin/bash
declare -i up=0
declare -i down=0
declare -i i=0
declare -i j=1
trap 'interrupt_trap' INT

interrupt_trap() {
    echo "QUIT"
    echo "There are $up ips being up."
    echo "There are $down ips being down."
    exit 1
}

while [ $i -le 255 ]; do
    while [ $j -le 255 ]; do
        if [ $i -eq 255 -a $j -eq 255 ]; then
            break
        fi
        ping -W1 -c1 192.168.$i.$j &> /dev/null 
        if [ $? -eq 0 ]; then
            echo "192.168.$i.$j is up."
            let up++
        else
            echo "192.168.$i.$j is down."
            let down++
        fi
        let j++
    done
    j=0
    let i++
done

echo "There are $up ips being up."
echo "There are $down ips being down."
==========================================================================

你可能感兴趣的:(第六周总结(运维基础网络部分))