计算机网络(10)-网络层(二)

目录

一、IP数据包结构

二、IP协议

1、静态路由

2、动态路由


一、IP数据包结构

一个IP数据包由首部数据两部分组成。

  • 首部的前一部分时固定长度,共20个字节,是所有IP数据包必须有的。
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

IP数据包首部详细结构构成图示

(1)版本:用来表示TCP/IP协议的版本 v4/v6,抓包数据如下

(2)首部长度:在首部加入可选字段的情况下,这个值将非常有用

(3)区分服务:用来区分数据包的类型,不同的数据包添加不同的数据包标识

应用场景:在同一个网段内,不同服务的数据包有不同的优先级,比如即时通讯的数据包就对数据的传送有着优先的要求,而邮箱传送的邮件数据包的及时性就没有语音那么高。因此,在同一网段内,需要根据语音数据包的服务标记,优先传送语音数据包

(4)数据包总长度和数据分片

数据包和数据帧的最大长度是不一样的,数据包是在网络层,最大长度为65535个字节(64K),而数据帧是在数据链路层,最大长度是1500字节,此时,如过数据包的长度超过1500(1480)个字节,那么数据包就需要进行分片。每一个分片的数据都需要加上数据包的首部信息。

如下图数数据帧的最大长度图示:

数据帧的长度范围是64-1500个字节,因为数据帧还包括18个字节的首部,所以真正的数据包部分是46-1500个字节;同时数据包部分的首部占20个字节,其实真实数据部分就是1480字节。

(5)标识:数据分片后,根据标识,识别同一数据包的内容,同一数据包下的数据分片具有相同的数据标识

(6)标志:网络层用来区分收到的数据包是一个完整的数据包还是一个数据包的分片

没有分片的数据包抓包图示:

分片的数据包抓包图示:

(7)片偏移:用来识别数据分片在数据包中的位置,用来进行数据拆分和组装。

(8)生存时间:生存时间就是TTL,数据包在网络中被转发的次数,当TTL为0时,将被丢弃。

(9)协议:用来区分是发送给哪个协议处理的数据

如果是ICMP协议,那就使用ICMP协议进程进行处理,如果是TCP协议,那就把数据发送到传输层进行处理。

常见的协议号:ICMP协议号为1、IGMP协议号为2、TCP协议号为6、UDP协议号为17、IPv6协议号为41、OSPF协议号为89

(10)首部检验和:首部检验和(16)位只检验数据报的首部不检验数据部分,这里不采用CRC检验码而采用简单的计算方法。

检验过程图示:

抓包图示:如果在传输过程中数据错误的话,图示字段Good值变为False;Bad值变为True

二、IP协议

所有选路的协议都属于IP协议,主要有RIP协议,OSPF协议等等。网络层提供的服务就是在不同网段之间转发数据包。

RIP协议根据数据包沿途所经过的路由器数量来选择最优路径,所经过的路由器数量越少,路径最优。

OSPF协议根据带宽来选择最优路径。

1、静态路由

静态路由需要手动进行配置路由表,只适用于小规模网络且不然能够自动调整路由,灵活性差

静态路由在复杂的网路下需要配置大量的路由信息,而且,当网络中出现网络故障时,路由器也不能自动学习选择新的路由路径。

2、动态路由

RIP协议,路由器使用RIP协议后,会周期性的在网络上发广播,获取联通的路由器地址。如果联通中的路由器有出现故障的情况,也能够即时的发现,根据新的情况更新路由表。

RIP协议允许的路由器最多途经数量为15个,即最大跳数为15个。

图示路由器运行详细信息:

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页