1.网络层的功能
1.网络层定义了基于IP协议的逻辑地址
2.连接不同的媒介类型(就是不同的网段)
3.选择数据通过网络的最佳路径
2.IP数据包的格式
版本 (4bit):指IP协议版本。双方通信使用的版本一致才能通信,但是目前大部分使用的是IPv4,表示为0100
首部长度(4):指的是IP数据包的包头部长度
优先级和服务类型(8):用于表示数据包的优先级和服务类型。在数据包中划分一定的优先级,用于实现服务质量的要求
注:定义IP数据包是否优先发送
总长度:就是定义IP数据包的总长度最长为65535,其中包括包头和上层数据
标识符: 如果上层数据太大网络层会把数据分成片,而标识符的作用就是将这些分成的片进行编码标注
标志:跟标识符一起传输,主要作用就是检查未被分片和分片的数据是否发出
段偏移量:在一个分片序列中按照标识符的标注连接起来
ttl生命周期:每个数据包都会有一个生命周期,如果没有生命周期的话他会一直存在网络中,有生命周期在每次经过路由器的传输的时候就会减1直到变成0之后就会丢失或者丢包
协议号:就是上层数据封装的哪种协议,比如:tcp(6) udp(17)
首部校验和:每经过路由器传输的时候数据包都会收到一定的影响,首部校验和的作用就是保证传输的数据包的完整性和按照正确的顺序排列
目的地址:就是目的IP地址
源地址:就是源的IP地址
可选项:选项字段根据实际情况下变长,可以和IP一起使用的选项多给。列如:可选以输入创建数据包的间等
数据:数据就是上层数据
3.ICMP协议
icmp是一个“错误侦测与回馈级制”
通过IP数据包封装的
用来发送错误和控制消息
icmp是一个检测网络故障的一个协议
icmp协议的封装
icmp协议属于网络层协议
icmp数据的封装过程
4.Ping命令
ping命令的基本格式
ping命令的返回信息
4.2 ping命令的参数
-I 参数可以设定ping包的大小
单位为字节
可用于简单测试通信质量
-a 将地址解析成主机名
-t ping 指定的主机,直到停止,若是要停止,ctrl+c
5.ARP协议
5.1 什么是ARP协议
arp全称Address Resolution Protocol,地址解析协议是通过解析IP地址得到MAC地址的,是一个网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在网络层,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又是依赖网卡等硬件设备,即链路层,那么就需要将这些IP地址转化成链路层能识别的东西,而数据链路层有一套寻址机构,比如在以太网中使用mac地址来进行寻址,那么就需要一个协议来进行转化,所以就出现了arp协议 它是网络层和数据链路层的一个枢纽,在网络层看来他们传输只需要标识IP地址就可以了
将一个已知的IP地址解析成mac地址
ARP协议是局域网中主机的通信
IP地址与mac地址
5.2 ARP的工作原理
IP地址解析为mac地址
因为arp协议有缓存表的概念,每台主机或者路由器都有缓存表记录
比如:A主机发送数据给B主机,A主机会先查看有没有缓存B主机的mac地址
如果没有A主机会向ARP发送请求消息 arp会广播所有主机询问mac地址 所有主机收到ARP的请求消息 B主机会通过单播的方式来回应arp 其他主机发现不是寻找自己的会自动丢弃消息 A主机收到B主机的mac地址后会进行缓存对方的mac地址并发送数据
还要一个协议是RARP它的作用是和arp相反,通过mac地址解析IP地址
arp在window操作命令
arp -a 查看所有缓存表
arp -d [IP] 删除arp缓存表
arp -s IP mac 删除arp静态绑定
如提示ARP项添加失败,解决方案:
win系统若提速ARP项添加失败,解决方案如下:
用管理员模式:右键开始键,点击‘Windows PowerShell(管理员)(A)’
进入c盘Windows\system32\cmd.exe,右键以管理员身份运行,再执行 arp -s 命令:
Win绑定arp
cmd输入:
netsh -c i i show in 查看网络连接准确名称:如:本地连接,无线网连接
netsh -c “i i” add neighbors 19 “IP” “MAC” 这里19是idx号绑定
netsh -c “i i” delete neighbors 19 这里19是idx号 解绑
netsh interface ipv4 set neighbors<接口序号>
s 19 “IP” “MAC” 这里19是idx号绑定
netsh -c “i i” delete neighbors 19 这里19是idx号 解绑
netsh interface ipv4 set neighbors<接口序号>
动态ARP表项老化:在一段时间内(默认180s),如果表项中的ARP映射关系始终没有使用,则会被删除;通过即使删除不活跃表象,从而提升ARP的响应效率 。