三、网络层协议及IP编码

发布时间 2023-12-14 14:05:28作者: Fly1234

一、网络层协议

1.网络层协议:
网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。

 

2.IP协议

IP是Internet Protocol的缩写。 Internet Protocol本身是一个协议文件的名称,该协议文件的内容 非常少,主要是定义并阐述了IP报文的格式。

IP的作用:
• 为网络层的设备提供逻辑地址
• 负责数据包的寻址和转发

IP协议有版本之分,分别是IPv4和IPv6

▫ IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它 工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
▫ IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng (IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。


3.封装过程

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该 层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同 的信息,因此PDU在不同层被赋予了不同的名称。

 


数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段 被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被 传递到数据链路层,封装数据链路层报头和尾部得到的PDU被称为Frame(数据帧); 最后,帧被转换为比特,通过网络介质传输。 这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

 

4.IP报文格式

 

 

• IP Packet(IP数据包),其包头主要内容如下: ▫ Version:4 bit,4:表示为IPv4;6:表示为IPv6。
▫ Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
▫ Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作 用。
▫ Total Length:16 bit,总长度,整个IP数据包的长度。
▫ Identification:16 bit,标识,分片重组时会用到该字段。
▫ Flags:3 bit,标志位。 ▫ Fragment Offset:13 bit,片偏移,分片重组时会用到该字段。
▫ Time to Live:8 bit,生存时间。
▫ Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便 目的主机的IP层将数据部分上交给哪个进程处理。

▪ 常见值: − 1: ICMP, Internet Control Message; − 2: IGMP, Internet Group Management; − 6: TCP , Transmission Control Protocol; − 17: UDP, User Datagram Protocol。

▫ Header Checksum:16 bit,首部检验和。 ▫ Source IP Address:32 bit,源IP地址。
▫ Destination IP Address:32 bit,目的IP地址。 ▫ Options:可变,选项字段。 ▫ Padding:可变,填充字段,全填0。

 

5.数据包分片

将报文分割成多个片段的过程叫做分片;网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报 文就需要分割成若干个较小的片段才能够在链路上传输。


二、子网IP介绍

1.概念:

IP地址在网络中用于标识一个节点(或者网络设备的接口),IP地址用于IP报文在网络中的寻址。

一个IPv4地址有32 bit。IPv4地址通常采用“点分十进制”表示。

2.IP地址构成:

• 网络部分:用来标识一个网络。
• 主机部分:用来区分一个网络内的不同主机。
• 网络掩码:区分一个IP地址中的网络部分及主机部分。

 

3.IP地址寻址

▫ 二层网络寻址:可直接通过IP地址,找到对应的主机接口。
▫ 三层网络寻址:利用网关转发来自不同网段之间的数据包。


网关:
▫ 报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与 源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
▫ 网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功 能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段 的网关地址。

 

4.Ip地址分类

 

▫ A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络 号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方 法。
▫ A、B、C三类地址是单播IP地址 (除一些特殊地址外),只有这三类地址才能分配给主 机接口使用。
▫ D类地址属于组播IP地址。
▫ E类地址专门用于特殊的实验目的。

 

5.公网IP/私有IP

公网IP地址:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是 指公网IP地址。
私网IP地址:实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络 中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述 情况,称为私网IP地址

▫ A类:10.0.0.0~10.255.255.255
▫ B类:172.16.0.0~172.31.255.255
▫ C类:192.168.0.0~192.168.255.255

6.特殊IP地址

IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用,举例如下。

 

三、ICMP协议

1.概念
Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。ICMP协议用来在网络设备间传递各种差错和控 制信息,对于收集各种网络信息、诊断和排除 各种网络故障等方面起着至关重要的作用。 为了更有效地转发IP数据报文和提高数据报文交互成功的机会,在网络层使用ICMP协议。 ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。

2.ICMP重定向

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非 最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。


• ICMP重定向过程:
1. 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
2. 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另 一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect 消息,通知主机直接向另一个网关RTA发送该报文。
3. 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器 A。

 

3.ICMP差错检测

ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往 返时间等

ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相 关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、 等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。


4.ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数 据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发 送端设备。

ICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路 径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。该报文到达 第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后 源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息, 以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经 过的每一个节点,并根据时间戳信息计算往返时间