目录
一、网络层
1、什么是网络层?
网络层是OSI(开放式系统互联)参考模型或TCP/IP(传输控制协议/因特网互联协议)体系结构中的第三层,介于传输层和数据链路层之间。它负责在不同网络之间传输数据包,并为数据包选择最佳路径。网络层的主要目标是实现端到端的通信,并提供数据传输的可靠性。
2、网络层的功能
(1)、通过选择确定数据包的最佳传输路径。
(2)、通过IP地址的分配,找到设备的网络位置
(3)、连接不同的媒介类型
3、IP数据包的格式
- 版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100
- 首部长度(4):IP数据包的包头长度
- 优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。
- 注:定义IP数据包是否优先传送
- 总长度(16):定义IP数据包的总长度,最长为 65535 字节,包括包头和数据。
- 注: iP头部 数据段 可能 20字节 也有可能多 总长度加上数据段长度 最长为 65535 字节
- 标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包
- 标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出
- 段偏移量(13):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
- TTL生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃
- 协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17
- 首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报没经过一次路由器,都要重新计算一下首
- 部校验和(因为一些字段如生存时间、标志、片偏移等可能发生变化)
- 源地址(32):源ip地址,表示发送端的IP地址
- 目标地址(32):目标ip地址,表示接收端的IP地址
- 可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据
二、ICMP协议
1、ICMP协议的作用
(1)、icmp是一个“错误侦测与回馈机制”
(2)、通过IP数据包封装
(3)、用来发送错误和控制消息
2、ping命令的常用参数
ping + 选项/参数 + IP地址
3、Tracert
tracert 是一个用于诊断网络问题的命令行实用程序,它可以确定数据包从一个源地址到达目标地址所经过的路径。
三、ARP协议
1、ARP协议的概念
ARP(Address Resolution Protocol)是一种用于在IPv4网络中解析IP地址和物理MAC地址之间关系的协议。ARP协议的主要目的是通过IP地址来获取目标设备的MAC地址,以便在局域网上正确地传递数据包。它在网络层和数据链路层之间建立了一个桥梁。
2、ARP的工作原理
(1)、一台设备想发送数据给另一台设备,会查看自己的arp缓存表,发现没有对方的MAC地址信息,就会发送一个请求。ARP请求是以广播方式发送的,意味着它会发送到本地网络上的所有设备。所有设备都会接收到这个ARP请求。
(2)、所有接收到ARP请求的设备都会检查其中的目标IP地址是否与自己的IP地址匹配。如果有设备的IP地址与ARP请求中的目标IP地址匹配,该设备会向发送ARP请求的计算机发送一个ARP应答。ARP应答中包含了该设备的MAC地址。
(3)、当原设备收到了ARP应答,并确定了目标设备的MAC地址时,就会将这个IP地址和MAC地址保存在自己的arp缓存表当中,这样下次再发送数据时,就可以直接发送而不需要请求。
四、总结
网络层在七层模型中的第三层,可以通过选择找到最佳路径转发数据。ICMP协议实际上就是通过ping命令来检测双方是否具有联通性。ARP协议是将IP地址转换成MAC地址,因为计算机识别不了IP地址,只能识别MAC地址。