IP报文头部
图
Header头部,最小20字节 最大60
DS Filed,服务类型
Total length,总报文长度
Time to live,生存时间,标志了报文在网络中最长的传输时间,单位为个;在网络中,每经过一台路由器,ttl-1;8比特
Protocol,指上一层或上上层的协议
Header checksum,首部校验核,不对数据进行校验
Source IP address,源IP,32bit
Destination IP address,目的IP,32bit
IP分片--MTU(最大传输单元,在以太网中,MTU值为46---1500字节)
Identification 标识字段;(作用相当于序号,标识不同的数据,接收方从小到大排)
flags标志位;(3bit,第一位0;第二位DF,代表该报文是否被分片,0代表分片,1代表不分片;第三位MF,代表该报文是否为最后一片报文,0代表最后一片,1代表后面还有。)
fragment offset片偏移字段(8字节,表示一个相对位置)
传输层
端口号
作用:表示不同进程
静态端口:1--1023;固定给网络上常见的某个协议使用
Telnet---23;ftp---20/21;http---80;https---443;dns---53;dhcp---67/68
动态端口:1024--65535;某些协议自动随机生成的端口
TCP协议---传输控制协议
是一种面向连接的可靠传输协议
图
1源端口 目的端口2序列号3确认序列号4数据偏移 保留字段,全为0 标志字段 窗口大小5校验核 紧急指针6选项字段 保留字段
可靠性机制
确认机制:每接收到一个数据段,都需要进行一次确认
重传机制:当一个数据段中的某个包丢失,发出者会重新发送这个报文
排序机制:传输一个数据段,被分为多个报文后,从不同路径传输,最终到达目的地的顺序会被打乱,所以需要重新排序,依靠TCP首部中的序列号字段。
流控机制(滑动窗口机制):调节窗口大小来对流量进行控制的。
窗口大小:指无需等待确认就可以连续发送数据的最大量。(仅限发送端和接收端)
TCP分段------用来代替IP分片;分段后IP不能再分片
MSS(最大传输段)=MTU-IP头部-TCP头部
PMTU(路径MTU发现,广泛应用于IPv6)
面向连接
三次握手
SYN请求建立连接数据包
图
四次挥手
FIN请求释放连接
两次seq不一样是第一次随机,第二次是最末尾的序列号不是随机的
MSL报文在网络上存在的最大时间
URG紧急指针位
PSH尽快交付
UDP协议---用户数据报协议
是一种非面向连接的不可靠传输协议
图
TCP与UDP区别
TCP协议是面向连接,而UDP是面向无连接
TCP协议是可靠的,UDP是尽力而为
TCP具备流控和拥塞控制,而UDP没有
TCP可以分段
TCP消耗资源多,速度慢;UDP消耗资源少,速度快7
VLSM---可变长子网掩码技术---子网划分
无类分址
实现方法:通过从主机位借位到网络位的方式来延长子网掩码,达到将一个大网络化分为多个小网络;借出的位称为子网位,决定了能够划分出多少个网络的个数
192.168.1.0/24---192.168.1.1-192.168.1.254
11000000.10101000.00000001.00000000----IP地址
11111111.11111111.11111111.00000000----网络掩码
11000000.10101000.00000001. 0 0000000/25---192.168.1.0/25
11000000.10101000.00000001. 1 0000000/25---192.168.1.128/25
11000000.10101000.00000001. 000 00000/27---192.168.1.0/27---192.168.1.1-
192.168.1.30
11000000.10101000.00000001. 001 00000/27---192.168.1.32/27-192.168.1.33-
192.168.1.62
11000000.10101000.00000001. 010 00000/27---192.168.1.64/27-192.168.1.65-
192.168.1.94
11000000.10101000.00000001. 011 00000/27---192.168.1.96/27
11000000.10101000.00000001. 100 00000/27---192.168.1.128/27
11000000.10101000.00000001. 101 00000/27---192.168.1.160/27
11000000.10101000.00000001. 110 00000/27---192.168.1.192/27
11000000.10101000.00000001. 111 00000/27---192.168.1.224/27
CIDR---无类域间路由
作用:将小的网络汇聚成大的网络
汇总方式:取位相同,去不同位(相同位挪,不同位补0)
汇总要求:母网相同,掩码一致
172.16.1.0/24
172.16.14.0/24
172.16.35.0/24
172.16.99.0/24
172.16.00000001.0
172.16.00001110.0
172.16.00100011.0
172.16.01100011.0
172.16.0 0000000.0/17---172.16.0.0/17
ICMP---解析
用来在网络设备间传递各种差错、控制、查询等信息,对于收集各种网络信息、诊断和排除各种网络故障。
抓包实践
Ping---用于检测网络连通性
常用参数
-a(-s) 指定ping包中的源IP地址,如果不能指定源IP地址,则采用出接口的IP地址作为报文源IP
-c(-n/-t) 指定发送报文次数,缺省情况下是五次
-h 指定TTL值,缺省为255
Tracert---用于逐跳检测追踪报文的转发路径
VRP---通用路由平台
用户视图:<Huawei>
系统视图:[Huawei]
其他视图:
<Huawei>system-view //从用户视图进入系统视图
[123456]sysname HCIA //更改设备名称
<HCIA>clock datetime 12:30:00 2000-01-01 //更改时间
<HCIA>clock timezone XIAN add 04:00:00 //更改时区
display //查看
[HCIA]display clock //查看时间
[HCIA]display version //查看版本
[Huawei]display current-configuration //查看当前所有配置
display this //查看当前视图下的操作
quit //返回上一视图
<HCIA>save //保存配置
<HCIA>reboot //重启设备
undo //删除
Telnet
基于TCP协议,端口号23(服务端)
客户端配置:
<Huawei>system-view
[Huawei]sysname Telnet Client
[Huawei]interface GigabitEthernet 0/0/0 //进入0/0/0接口
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24 //配置接口IP地址及掩码
服务端配置:
<Huawei>system-view
[Huawei]sysname Telnet Server
[Telnet Server]interface GigabitEthernet 0/0/0
[Telnet Server-GigabitEthernet0/0/0]ip address 192.168.1.2 24
[Telnet Server]user-interface vty 0 4 //开启用户接口空间
[Telnet Server-ui-vty0-4]authentication-mode aaa //修改认证模式为AAA
[Telnet Server]aaa //进入AAA接口空间
[Telnet Server-aaa]local-user huawei password cipher 123456 //创建本地用户及密码
[Telnet Server-aaa]local-user huawei privilege level 15 //修改huawei用户的权限等级
[Telnet Server-aaa]local-user huawei service-type telnet //修改huawei用户的服务类
型为telnet
[Telnet Client]display ip interface brief //查看接口IP简表
测试:
<Telnet Client>telnet 192.168.1.2
Press CTRL_] to quit telnet mode
Trying 192.168.1.2 ...
Connected to 192.168.1.2 ...
Login authentication
Username:huawei
Password:
<Telnet Server>
命令等级
参观级(0)、监控级(1)、配置级(2)和管理级(3以上)
用户等级:0--15
DHCP---动态主机配置协议
手工配置网络参数问题
对于普通用户而言,这些网络参数是知识盲区,导致配置错误,网络无法正常访问
对于网络管理员而言,工作量较大,对IP地址进行合理规划
对于每个员工的IP地址,IP地址利用率太低
基本知识点
C/S架构:响应速度快
基于UDP,端口号67/68(68用于客户端,67用于服务端)
报文类型
八种
DHCP discover(广):客户端用于寻找DHCP服务端
DHCP offer(广/单):DHCP服务器回复客户端的discover报文,该报文携带了网络参数
DHCP request(广):客户端请求配置确认或续租
DHCP ack(单):服务器对request确认
DHCP nak(单):服务器对request拒绝(huawei不发送)
DHCP release:客户端请求释放地址
DHCP decline(不常):客户端用于检测IP地址冲突后,发送给服务器的
DHCP inform(不常):当客户端获取IP报文后,使用此报文获取其他配置信息
DHCP工作原理
1.当客户端第一次访问网络是,主机没有任何可用合法IP地址,将以广播的形式发送DHCP Discover报文段来寻找DHCP服务器;
2.DHCP客户端收到Discover报文段时,在其IP池中找寻未被使用的IP地址,以单播的实行发送Offer报文段返回给主机;Offer报文段包含IP地址数据和Offer信息;
3.客户端收到Offer报文段,会发送一个DHCP Request报文段来向DHCP服务器确定使用该IP地址;
4.DHCP客户端收到Request请求,发送ACK报文段包含IP地址和确认信息,告诉客户端可以使用该IP地址;
5.此时客户端开始使用该IP,但有租期时长,在无任何命令的影响下,默认时间为24小时,在时长到达设置时间的50%时,会向DHCP服务器发送一次续租请求,若被拒绝,则在达到设置时间的85%再次发送一次续租请求,若再次被拒绝,则在到达租期的时候,释放该IP,在下次需要访问网络的时候,向DHCP服务器发送请求分配地址的报文段
DHCP租期
租期更新计时器:
华为24小时;
租期到达一半(12小时)续租:
PC发送一个DHCP request报文,是单播发送
若服务器回复ACK报文,则租期更新计时器刷新
若服务器回复NAK或不回复,PC等待下一个更新周期
租期重绑定计时器:
当租期到达87.5%(21小时),此时进行第二次续租
PC发送DHCP request报文,使用广播寻找其他的服务器
如果收到ACK报文,则刷新各类计时器,并绑定新的服务器
如果收到NAK报文,则PC必须立刻停止使用现在使用的IP地址,然后重新申请IP地址
租期失效计时器:
PC在租期内正常到期,服务器没有回复,PC才停止使用该IP地址,并发送DHCP release报文
PC重新进入DHCP工作流程,发送DHCP discover报文申请IP地址
PC主动放弃使用分配的IP地址,此时发送DHCP release报文
地址池
全局地址池:为所有连接到服务器的PC提供地址
接口地址池:为连接到该接口的PC提供地址(若存在两种地址池,接口优先级>全局)
配置
全局地址池:
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[Huawei]dhcp enable //开启DHCP功能
[Huawei]ip pool HCIA //建立全局地址池,地址池名称为HCIA
[Huawei-ip-pool-HCIA]network 192.168.1.0 mask 24 //配置可分配的地址网段
[Huawei-ip-pool-HCIA]gateway-list 192.168.1.254 //配置网关,网关IP要与路由器接口配置
的IP相同
[Huawei-ip-pool-HCIA]dns-list 114.114.114.114 //配置DNS信息
[Huawei-GigabitEthernet0/0/0]dhcp select global //在接口下使能DHCP功能,使能后,该接
口与全局地址池绑定,并且该接口可以接收DHCP报文。
[Huawei-ip-pool-HCIA]excluded-ip-address 192.168.1.253 192.168.1.253 //将
192.168.1.253排除在地址段外,不进行分配
[Huawei-ip-pool-HCIA]lease day 0 hour 3 minute 0 //更改租期时间静态路由
查看路由表
[r1]display ip routing-table
路由项
目的地址/掩码 出接口 下一跳
Protocol:协议,代表有直连、静态、动态
直连>静态>动态
Preference:优先级(AD值)
优先级小的更优
Cost:开销值(度量值)
约小约优
假设,目的IP为X;某一个路由项为Z/Y;如果X与Y做“与”运算后,得出结果为Z;则说明该IP与该路
由项匹配
若匹配上一条路由项,则按照该路由项指示进行转发
若匹配上多条路由项,则按照“最长掩码匹配规则”进行选择
路由的来源
设备自动发现--->直连路由
手工配置---->静态路由
通过动态协议算法计算得出---->动态路由
[Huawei-ip-pool-HCIA]static-bind ip-address 192.168.1.100 mac-address 5489-9842-
3FA4 //IP-MAC绑定
[Huawei]display ip pool //查看地址池塘
[Huawei]display dhcp statistics //查看DHCP获取报文情况
接口地址池配置:
[Huawei]dhcp enable
[Huawei-GigabitEthernet0/0/0]dhcp select interface //开启接口DHCP功能
[Huawei-GigabitEthernet0/0/0]dhcp server dns-list 114.114.114.114
[Huawei-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.1.10
192.168.1.253
[Huawei-GigabitEthernet0/0/0]dhcp server static-bind ip-address 192.168.1.5 mac
address 5489-9842-3FA4
静态路由
查看路由表
[r1]display ip routing table
路由项(三要素)
目的地址/掩码 出接口 下一跳
Protocol:协议,代表有直连、静态、动态
直连>静态>动态
Preference:优先级(谁小更优走谁)
Cost:开销值(度量值;越小越优)
与运算:假设,目的IP为x;某一个路由项为z/y,如果x与y做“与”运算后,得出结果为z;则说明该IP与该路由项匹配
1.1.1.1 1.1.1.0/30
00000001.00000001.00000001.00000001
11111111.11111111.11111111.11111100
00000001.00000001.00000001.00000000=====1.1.1.0
若匹配上一条路由项,则按照该路由项指示进行转发
若匹配上多条路由项,则按照“最长掩码匹配规则”进行选择
路由的来源
设备自动发现---直连路由
手工配置---静态路由
通过动态协议算法计算得出----动态路由
直连路由
直连路由产生的条件:接口双up;必须具备IP地址
路由的优先级
路由来源 | 缺省优先级(华为) | 缺省优先级(思科) |
直连路由 | 0 | 0 |
OSPF | 10 | 110 |
静态路由 | 60 | 100 |
RIP | 100 | 120 |
BGP | 255 | 255 |
EIGRP | 90 |
静态路由配置
配置命令
[r1]ip route-static 192.168.2.0 24 1.1.1.2
192.168.2.0 表示网段
24 表示掩码
1.1.1.2 表示下一跳设备的IP地址
[r2]ip route-static 192.168.1.0 24 GigabitEthernet 0/0/0 1.1.1.1
两条命令二选一
路由环路
当两个路由器上的路由表内,分别存在一条到达同一网段且目标下一跳是另外一台路由器时,将形成环路。
占用大量带宽,影响正常数据包转发
损耗路由器资源,当路由器资源消耗过大时,设备会宕机
解决方式---TTL
静态路由扩展配置
等价路由(负载均衡)
图
当路由器访问同一个目标网段时,具备多条开销相等的路径时,可以让流量拆分后沿多条路径进行传输,达到叠加带宽的效果,减少单条链路数据传输压力。(目标相同,下一跳不同)
形成等价路由的条件---来源相同(同一种路由协议发现的)、开销相同的路由。
环回接口
路由器上的虚拟接口,用于测试。
通常使用一个环回接口来代表一个真实的用户网段
[r4]interface LoopBack 0 //创建环回接口
[r4-LoopBack0]ip address 192.168.1.1 24 //给环回接口配置IP地址
手工汇总
当路由器需要配置多条路由项时,可以选择将其进行子网汇总,减少路由表项数量,降低CPU运算负载,提高转发效率。
图
如果想要让R5访问R6的三个环回,需要手工写出三个静态路由
但是该三条静态路由的下一跳相同,所以可以进行路由汇总,使用CIDR技术,最终得到一个192.168.0.0/22下一跳为R6的路由项。
路由黑洞
在手工汇总时,可能会包含一些网络中实际不存在的网段,造成流量有去无回的现象,浪费了链路资源
汇总得出192.168.0.0/22的路由项,但是该路由项包含了192.168.0.0/24网段,而该网段在
网络中实际不存在。
缺省路由(默认路由)
一条不限定目标的路由。(所有的路由都匹配不上时,再匹配缺省路由0.0.0.0)
[r5]ip route-static 0.0.0.0 0 23.1.1.2
因为缺省路由代表所有网段,所以会跟任何路由流量进行匹配,但是又由于最长掩码匹配规则,所以只有当路由表中没有
每台路由器上仅存在一条缺省路由,且根据最长掩码匹配规则,缺省路由只有在其余所有路由均未匹配上时才匹配。
空接口防环
图
解决方法
在存在黑洞的路由器上配置一条通往汇总网段的空接口路由(NULL 0)。
[r6]ip route-static 192.168.0.0 21 NULL 0
[r6]display ip routing-table protocol static //查看静态路由表
浮动静态路由
通过修改优先级,来对路由项进行备份。
两台路由器通过两条链路相连,带宽分别为千兆和十兆,已知千兆带宽完全可以满足正常的网络通讯,而十兆不满足,此时,就可将十兆链路作为备份链路,当千兆链路出现故障时,启用备份链路,确保网络不会完全断开。
[r1]ip route-static 192.168.2.0 255.255.255.0 23.1.1.6 preference 70
[r1]ip route-static 192.168.2.0 255.255.255.0 23.1.1.2
动态路由
自治系统
AS
由单一的机构或者组织所管理的一些列IP网络设备的集合
AS的管理
每一个AS区域都有一个编号(ASN)
IANA---互联网数字分配机构
ASN由16位二进制组成,1--65535
AS通讯
AS内部使用相同路由协议---内部网关协议(IGP)
AS之间使用专有路由协议---边界网关协议(BGP)
动态路由分类
按照范围分
IGP--内部网关协议,企业网、局域网、城域网(RIP,OSPF,isis,eigrp)
EGP--外部网关协议,互联网、运营商之间(BGP)
IGP协议按照协议特点分类
距离矢量型---DV---共享路由表(RIP,EIGRP)
链路状态型---LS---共享拓扑(OSPF,ISIS)
IGP协议按照是否携带真实掩码分类
有类别路由协议:不传递真实网络掩码(RIPv1)
无类别路由协议:传递真实网络掩码
RIP---路由信息协议
基本概念
版本:RIPv1(广播、IPv4)、RIPv2(组播、IPv4)、RIPv3(IPv6)
RIP是一个标准的DV型协议-----距离矢量型-----共享路由表
基于UDP封装的,端口号520
RIP存在一个保活机制,周期更新机制---30s发送一次应答报文
RIP优先级-----100
RIP度量值
根据跳数计算
最大跳数为15;当跳数=16时则认为该路由项不可达。
开销值计算方式
数据包中传递的开销值====本地的开销值+1
RIP的数据包
Request包---请求报文:只有在启动RIP进程后会使用
Response包---应答报文:携带了具体的路由信息
RIP工作原理
初始化
RIP在初始化时,会从每一个参与工作的接口上发送请求数据包,该请求数据包会向所欲的RIP路由器请求一份完整的路由表;该请求通过广播形式(组播形式)发送。
接收请求
RIP路由器在接收到请求数据包后,会使用应答数据包回复,且该数据包包含了本地所有的路由信息。
接收到响应数据包
路由器接收并处理该数据包
将接受到的数据包内容与自己本地路由表进行对比,然后进行添加、删除、修改等操作。
常规路由更新
当收敛完成后,路由器会以30s为周期,发送应答报。
邻居路由器收到应答报文后,会设置180s的超时时间,如果180s内没有收到邻居发来的应答报文,路由器会认为邻居出现问题,并将下一跳设置为16。
触发路由更新
当某个路由开销值发生改变时,路由器只发送与改变有关的路由,不会发送完整的路由表。
RIP算法---贝尔曼福特算法
当接收到是数据包中含有本地路由表中没有的路由项,,则直接加载到本地路由表。
当接收到的数据包中含有本地已具备的路由项时,且下一跳地址相同,则将数据包中的路由项更新至本地。
当接收到的数据包中含有本地已具备的路由项时,但下一跳地址不同,则比较COST值,若本地路由表中的COST值较大,则将数据包中的路由项更新至本地。
当接收到的数据包中含有本地已具备的路由项时,但下一跳地址不同,则比较COST值,若本地路由表中的COST值较小,则不进行更新。