系列文章目录
华为数通学习(3)
三层环路不会一直持续下去,因为TTL值最大是255,每经过一台路由器就减少1。
前言
随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了网络层协议,是我们通过数通王国的第八站(我们在文章中使用的是华为的ENSP软件)。
一、什么是网络层?
网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。
编辑
解释:
我们常说的ip指的就是ip地址,其实ip是一个很广泛的一个概念,在网络层里面主要的设备就是路由器,网络层最重要的功能就是寻址和转发,寻址就是根据我们的路由表查找目标网段是否有这条路由,进行相应的结果,根据这个结果把数据包,从一跳传到另外一跳,也就是一跳一跳的转发这就是我们网络层的功能。
二、IP协议
2.1,什么是ip协议?
IP是Internet Protocol的缩写(因特网协议), Internet Protocol本身是一个协议文件的名称,泛指一类的协议,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
解释:
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。
而是泛指直接或间接与IP协议相关的任何内容。
解释:
比如说我们的ip地址,ip协议,ospf协议都是属于ip协议。
总结:
- IP协议泛指跟IP协议相关或者有关的内容,比如说IP地址,OSPF协议、Isis协议
- 平时所讲的IP地址仅仅是IP地址,只是IP协议中很小一部分。
2.2,ip版本
编辑
我们当前使用有两个版本是一个是ipv4,一个是ipv6
IPv4是我们当前还在使用的,IPv6是从根本上去解决IPv4地址空间不足的问题,IPv4已经出现了可分配的公网ip地址分配完毕的情况,
2.3,IPv4的报文格式
编辑
注意:ipv4的ip头部有固定的长度,20个字节,经常在一些考试里面考到,
Version:包含它的版本,到底是ipv4还是ipv6
Header Length:头部的长度
Type of Service:服务质量
Total Length:总的长度
Identification:标识符
Flags:标志位
Fragment Offset:偏移,数据分片的时候用到
TTL:Time to Live:用来防止三层环路
Protocol:协议号
Header Checksum:头部校验
Source IP Address:源ip地址
Destination IP Address:目的ip地址,通信地址,最重要的部分
可选长度
Options: 可变,选项字段。
Padding:可变,填充字段,全填0。
三,数据包分片
分片:将报文分割成多个片段的过程叫做分片,也叫做分包,把数据包分成多个片段,以便顺利通过沿路的设备。
网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。
编辑
解释:
从主机A发送数据给主机B,一路沿途通过的数据,到了路由器接口之后,数据包如果保持原先的大小,那么就可能超出路由器的能够接受的范围,这个时候你要把数据分为一片一片小于路由器接受范围的数据片,路由器就能传递这个数据了,不会因为数据包太大就丢弃。我们因为担心分片之后传到主机B的数据片的排雷顺序可能会被打乱,所以我们就使用 Fragment Offset这个字段,确保传给主机B的数据片可以让主机B按路由器的分片的时的正确的顺序来进行识别数据片。
四,MTU(最大传输单元)
MTU衡量网络链路传输能力,类似于水管的直径。
通过的数据类似域水管中流经的水,这就是数据大小与MTU关系
设备能接收多大数据取决于MTU(最大传输单元),默认值一般是1500
编辑
如何修改MTU的值
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]mtu ?
<46-1600> MTU value
[AR1-GigabitEthernet0/0/0]
编辑
不建议修改MTU的值,因为修改之后所以的路由器都要更改mtu的大小,要把然就可能发生丢包的情况,所以不要胡乱更改。
五,生存时间(Time to live)TTL
TTL字段设置了数据包可以经过的路由器数目。就是数据包可以传多少跳受这个TTL的影响。
编辑
一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃。
验证两台路由器之间如何配置可以产生三层环路。
六,验证两台路由器之间如何配置可以产生三层环路
编辑
配置设备:
6.1将设备设置为永不超时
[ar1]user-interface console 0
[ar1-ui-console0]idle-timeout 0 0 0
[ar2]user-interface console 0
[ar2-ui-console0]idle-timeout 0 0
6.2设置ip地址
[ar1]interface GigabitEthernet 0/0/0
[ar1-GigabitEthernet0/0/0]ip address 10.1.12.1 24
[ar2]interface GigabitEthernet 0/0/0
[ar2-GigabitEthernet0/0/0]ip address 10.1.12.2 24
6.3这样设置完在测试一下直连的连通性
编辑
这个现象表示ar1和ar2之间是可以ping通的
如何环路,就在ar1和ar2上都写一个默认路由,所有不认识的流量就发给默认的路由
[ar1]ip route-static 0.0.0.0 0 10.1.12.2
[ar2]ip route-static 0.0.0.0 0 10.1.12.1
6.4接下来我们进行抓包看一下
我们在ar1上ping一下8.8.8.8
[ar1]ping 8.8.8.8
环路现象如下:数据包会在AR1和AR2之间不断的重复发送AR1-AR2-AR1-AR2,一直到TTL数值变成0的时候,该数据包被丢弃。
编辑
结论:
三层环路不会一直持续下去,因为TTL值最大是255,每经过一台路由器就减少1。
6.5关于TTL值补充说明:
- 华为路由器默认情况下的TTL初始化值为255
- 其他系统可能数值不一定是255开始
编辑
七,协议号 (Protocol)
协议号概念:
IP报文中的protocol协议号字段:标识IP协议之后是哪种协议,标识方法(协议号)
IP报文头中的协议号字段标识了将会继续处理该报文的协议。
即指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上报给哪个进程处理。
我们ping个包,抓报看一下,这个协议号
编辑
不同协议的协议号:
协议号1:ICMP
协议号2:IGMP
协议号89:OSPF
协议号6: TCP
协议号17:UDP
7.1,ospf协议抓包看协议号
配置设备:
[ar1]ospf 1
[ar1-ospf-1]area 0
[ar1-ospf-1-area-0.0.0.0]net
[ar1-ospf-1-area-0.0.0.0]network 10.1.12.1 0.0.0.0
编辑
总结
恭喜你,你通过本章的学习网络层协议,华为数通还有很多宝藏等着你去探险,加油!只为成为更好的自己。