网络层协议与应用
1. 网络层的功能
2. IP数据包格式
3. ICMP协议
3.1 ICMP的主要功能介绍
3.2 ICMP的基本使用
3.3 ping命令的常用参数
4. ARP协议
4.1 ARP协议概述
4.2 ARP原理
4.3 ARP回应报文BUG
1. 网络层的功能
定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径
2. IP数据包格式
版本 (4) |
首部长度 (4) |
优先级与服务类型 (8) |
总长度 (16) |
||||
标识符(16) |
标志 (3) |
段偏移量 (13) |
|||||
TTL(8) |
协议号(8) |
首部校验号(16) | |||||
原地址(32) | |||||||
目标地址(32) | |||||||
可选项 | |||||||
数据 |
3. ICMP协议
3.1 ICMP的主要功能介绍
ICMP是一个“错误侦测与回赠机制"
通过IP数据包封装的
用来发送错误和控制信息
ICMP属于网络层协议,因为传输ICMP信息时,要先封装网络层的IP报头,再交给数据链路层,即ICMP报文对应IP层的数据。
3.2 ICMP的基本使用
在网络中,ICMP协议的使用时靠各种命令来实现的。
在检查网络连通性时,ping命令是用得最多的。当我们ping一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试两台主机是否能够顺利连通。ping命令能够检测两台设备之间的双向连通性,即数据包能够到达对端,并能够返回。
如图所示,从返回的信息可知,从源主机向目标主机共发送了4个32字节的包,而目标主机回应了4个32字节的包,包没有丢失,源主机和目标主机之间的连接正常。除此之外,可以根据“时间”来判断当前的联机速度,数值越低,速度越快:倒数第二行是一个总结,如果发现丢包很严重,则可能是线路不好造成的丢包,那就要检查线路或更换网线了;最后一行是“往返行程”时间的最小值、最大值、平均值,它们的单位都是毫秒。
3.3 ping命令的常用参数
(1)-t
在Windows操作系统中,默认情况下发送4个ping包,如果ping命令后面加上参数“-t”,系统将会不停的ping下去。
(2)-a
在Windows操作系统中,在命令中加入“-a”参数,可以返回对方主机的主机名。
(3)-l
一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小。
4. ARP协议
4.1 ARP协议概述
地址解析协议
将一个已知的IP地址解析成MAC地址
4.2 ARP原理
PC1发送数据给PC2,查看缓存没有PC2的MAC地址
PC1发送ARP请求消息(广播)
所有主机收到ARP请求消息
PC2回复ARP应答(单播)
其他主机丢弃
PC1将PC2的MAC地址保存到缓存中,发送数据
4.3 ARP回应报文BUG
解决办法:
主机绑定ARP
(1)arp -a (ARP缓存表)
(2)netsh interface ipv4 show neighbors (寻找接口号)
(3)netsh interface ipv4 set neighbors 接口号 网关 MAC(绑定)
主机解绑ARP
(1)netsh i i reset 重启生效
(2)netsh -c i i delete neighbors idx号 IP地址 对应MAC地址 立即生效(netsh i i show in ##查看idx号)