前言
网络层:定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径。 将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输 。(分拣员,分拣到底数据走哪条路更快)
数据包格式
包是TCP/IP协议通信传输中的数据单位,一般也称"数据包"。
TCP/IP协议是工作在OSI模型第三层网络层、第四层传输层上的,帧工作在第二层数据链路层。上一层的内容由下一层的内容来传输,所以在局域网中,"包"是包含在"帧"里的。
-
版本:指协议版本,通信双方必须使用相同的IP协议版本。IPV4对应协议版本号为4. 4bit
-
首部长度:首部长度IP数据包的包头长度(不包括数据)
-
优先级与服务类型:该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。8bit
-
总长度:单位:字节。当总长度取1111 1111 1111 1111时,总长度取最大值65535字节。ip数据包的长度包括报头和数据。16bit
-
标识:当数据报长度大于MTU时必须分片,这个标识字段值就会被复制到所有的分片数据包中。相同的标识字段值使分片后的各数据包片最后能正确的重装为原来的数据报。16bit
-
标志:和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整)3bit
-
片偏移:单位8字节,如何将片连接起来,为什么连接起来。13bit
-
生存时间(TTL): 表明数据包在网络中的寿命。发出数据报的源点设置这个字段,其目的是防止无法交付的数据报无限制的在网络中兜圈子,白白消耗网络资源。单位不是秒,是跳hop,每经过一个路由时减1,直到为0时被抛弃。8bit
-
协议:运输层所使用的协议,方便IP层知道应将数据包部分上交给哪个协议处理。8bit
-
首部校验和:没经过一个路由器,都需要重新计算一下首部校验和,比如生存时间等首部区域的值可能发生变化,不检验数据部分可以减少工作量。16bit
-
源地址:源ip地址,表示发送端的IP地址 32bit.
-
目的地址:目标ip地址,表示接收端的IP地址 32bit.
-
可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据 注:根据实际情况可变长,例如创建时间等 上层数据
ICMP协议
ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息.
icmp作用:检测网络的双向联通性
icmp协议实现----ping命令 Ping常用于探测到达目的节点的网络可达性。
ping命令
Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误
Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;
冲突域:两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域
广播域:一台机器发送广播,能收到消息的机器 都是在同一广播域
ARP 协议
ARP协议是地址解析协议是通过解析IP地址得到MAC地址的.所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址. ARP 协议是通过报文进行工作的,ARP 报文格式如图所示.
ARP工作原理
-
PC1想发送数据给PC2, 会先检查自己的ARP缓存表。( 只在终端设备上)
-
如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)
-
交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答, 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
-
PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。
总结:知道ip数据包格式以及ICMP协议中ping作用和ARP作用。