0


一文搞定网络层协议

系列文章目录 华为数通学习(3)


前言

随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了网络层协议,是我们通过数通王国的第八站(我们在文章中使用的是华为的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协议。

总结:

  1. IP协议泛指跟IP协议相关或者有关的内容,比如说IP地址,OSPF协议、Isis协议
  2. 平时所讲的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值补充说明:

  1. 华为路由器默认情况下的TTL初始化值为255
  2. 其他系统可能数值不一定是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


总结

恭喜你,你通过本章的学习网络层协议,华为数通还有很多宝藏等着你去探险,加油!只为成为更好的自己。


本文转载自: https://blog.csdn.net/weixin_73466540/article/details/131873238
版权归原作者 幾微 所有, 如有侵权,请联系我们删除。

“一文搞定网络层协议”的评论:

还没有评论