网络层协议详解(主要是IP协议、ICMP协议和ARP协议)

网络层协议详解(主要是IP协议、ICMP协议和ARP协议)

一、网络层的功能

定义了基于IP协议的逻辑地址;

连接不同的媒介类型;

选择数据通过网络的最佳路径。

二、IP数据包格式

在这里插入图片描述
第一层

版本:该字段包含的是IP的版本号,4比特。目前IP的版本为4(即IPv4)。

首部长度:该字段用于表示IP数据包头长度,4比特。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选字段的长度。

优先级与服务类型:该字段用于表示数据包的优先级和服务类型,8比特。用来区分哪些数据包优先级高和哪些数据优先级低。例:同时迅雷下载和聊QQ,其中QQ的优先级就比迅雷下载的优先级高,否则就需要等待迅雷下载完毕才能进行QQ聊天。

总长度:该字段用以指示整个IP数据包的长度,16比特。最长为65535(2^16-1)字节,包括包头和数据。

第二层 上层的数据到IP层会被分片

标识符:该字段用于表示IP数据包的标识符,16比特。当IP对上层数据分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。

标志:标志字段,3比特。标志和分片一起被用来传递信息。例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出。

段偏移量:该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将分片重新连接起来。

第三层

TTL:Time to live 该字段用于表示IP数据包的生命周期,8比特。该字段包含的信息可以防止一个数据包在网络中无限循环的转发下去。即防止路由环路。一个数据包经过每一个路由器,TTL将减去1。

协议号:协议字段,8比特。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6,UDP的协议号为17.

首部校验和:该字段用于表示校验和,16比特。校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机做的一样。如果数据包没有被改动过,两个计算结果应该是一样的。

第四层

源IP地址:该字段用于表示数据包的源地址,32比特。这是一个网络地址,指的是发送该数据包设备的网络地址。

第五层

目标IP地址:该字段用于表示数据包的目的地址,32比特。这也是一个网络地址,但指的是接收节点的网络地址。

三、ICMP协议

3.1 ICMP协议概述及功能

ICMP协议(Internet Control Message Protocol)的全称是“Internet控制消息协议”,主要用于在IP网络中发送控制消息,提供在通信环境中可能发生的各种问题的反馈。

ICMP采取“错误侦测与回馈机制”,通过IP数据包封装,用来发送错误和控制消息。

ICMP协议号是1

3.2ICMP协议的封装

传输ICMP信息时,要先封装网络层的IP报头,再交给数据链路层,即ICMP报文对应IP层的数据。
在这里插入图片描述

3.3ICMP协议的基本使用

在网络中,ICMP协议的使用是靠各种命令来实现的。以ping为例。

3.3.1ping命令的返回信息

1.不能建立连接的应答:

在这里插入图片描述

2.连接超时的应答

PS:如果目标计算机启用了防火墙的相关设置,即使网络正常也可能会返回“请求超时”信息。

在这里插入图片描述

3.3.2ping命令的常用参数

1.-a 可以显示对方主机名称

在这里插入图片描述
2.-l 可以设定ping包的大小。一般情况下,ping包的大小为32字节。

在这里插入图片描述

3.-t 长ping命令

在window系统中,默认情况会发送4个ping包,如果在ping命令后面加上参数“-t”,系统会一直不停的ping下去。按ctrl+c结束。

四、ARP协议

4.1.ARP协议概述

在局域网中,交换机通过MAC地址进行通信,要获得目标主机的MAC地址就需要使用ARP协议将目的IP地址解析成目的MAC地址。所以,ARP(Address Resolution Protocol,地址解析协议)的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址进行通信。

ARP实际上是一个广播。

在这里插入图片描述
如图为抓包ARP协议示例
在这里插入图片描述

4.2.ARP协议工作原理

ARP缓存表:老化时间:120s(绑定的不受老化时间影响)

ARP缓存表是主机存储在内存中的一个IP地址和MAC地址对应表。在windows系统中可以使用命令“arp-a”来显示ARP缓存表。

如果要查找的MAC地址不再表中,ARP会发送一个广播,从而找到目的地的MAC地址。

ARP会将收到的数据帧中IP地址和MAC地址添加到自己的ARP缓存表中。来者不拒!

4.3ARP协议工作过程

1.PC1想要发送数据给PC2,查看缓存表里没有PC2的MAC地址在这里插入图片描述
2.PC1发送(需要10.0.0.2的MAC地址)的广播。在这里插入图片描述
3.所有主机收到ARP请求的广播,PC2回复ARP应答 ,其他主机丢弃在这里插入图片描述
4.PC1将PC2的MAC地址保存到缓存表中,这时就可以和PC2发送数据了。在这里插入图片描述

4.4Windows系统常用的ARP命令

在这里插入图片描述

五、ARP协议攻击原理

5.1ARP欺骗原理

ARP协议实际上是一种广播,广播是请求+回应,在回应过程中可以出现bug,可以主动回应欺骗其他主机或者网关等。
在这里插入图片描述
在这里插入图片描述

5.2主机如何绑定ARP来防止ARP欺骗

如何查找IP的接口号:netsh interface ipv4 show neighbors

格式:netsh interface ipv4 set neighbors 接口号 IP地址 IP地址对应的MAC地址

附:如何解除绑定

格式:netsh -c “i i” delete neighbors idx号 IP地址 IP地址对应的MAC地址

如何查看idx号:netsh i i show in

猜你喜欢

转载自blog.csdn.net/chengu04/article/details/106092590