网络层协议
目录
一、网络层功能
(一)定义了基于IP协议的逻辑地址
(二)连接不同的媒介类型
(三)在网络中选择最佳路径
二、IP数据包格式
版本字段(占4位):你使用的IP协议版本 ?ipv4 和 ipv6 ??4段
首部长度(4):IP头部长度 ?范围0000 - 1111 ???0 - 15
优先级与服务类型(8)
①优先级:当数据包来的时候,区别数据包的优先处理级别
②优先级一样:先看IP地址、再看MAC地址
总长度(16):整个数据包的长度
标志、标识符、段位偏移量:数据的分片及重组
标识符(16):0 - 65535 ?确定数据的分片是否来自于同一个文件
标志(3):代表数据过小,不需要分片;代表该组最后一个数据包
段位偏移量(13):该数据片离起点的数值坐标,重组数据
TTL(8):默认为255 每经过一个网络层设备就会-1 如果转255圈,则为0,设备就会认为该包为无效包,就会丢弃。
协议号(8):上册协议号 1.icmp 测试协议(三层协议) ?6 tcp ?17udp
首部校验和(16):只校验IP头部的完整性
源地址(32):发送方的MAC地址
目标地址(32):接收方的MAC地址、
可选项:可有可无的一些选项
数据:需要发送的真实数据
三、ICMP协议
(一)ICMP协议的简介
ICMP(Internet Control Message Protocol)是互联网控制报文协议,它是TCP/IP协议族中的一个子协议,主要负责网络层的错误报告和状态查询。当IP数据包在网络中传输时遇到问题,如目标不可达、超时或者路由器无法转发等,ICMP就会被用来传递这些信息。
(二)ICMP的用途
ICMP主要有以下几个用途
1.错误通知
当数据包无法到达目的地时,源主机或路由器会使用ICMP差错报文来通知发送方。这些报文包括:目标不可达、时间超过、参数问题)等。
2.诊断和测试工具
ICMP用于实现各种网络诊断工具,最著名的是ping和traceroute。ping通过发送ICMP回显请求并接收回显应答来测试网络连通性。
traceroute则利用TTL值和ICMP重定向消息来追踪数据包从源到目的所经过的路由节点。
① ping工具
Ping命令是一种常用的网络诊断工具,用于测试网络连接性和响应时间。它发送一个ICMP数据包,并在目标主机收到数据包后返回一个响应,以确定目标主机是否可达,以及响应时间。
Ping常用的参数包括:
ping - help:查看帮助,在这里可以查看到ping的使用方法
3.路径MTU发现
为了适应不同链路的MTU(最大传输单元),ICMP可以提供路径MTU发现功能。
当数据包大于沿途某条链路的MTU时,路由器会发送ICMP分片需要报文告知发送方降低数据包大小。
4.路由器通告和请求
在IPv6环境中,ICMPv6提供了路由器通告和路由器请求功能,帮助主机自动配置网络参数。
需要注意的是,虽然ICMP本身并不传输用户数据,但它对于网络的正确运行至关重要。由于它承载着重要的网络诊断和管理信息,所以许多防火墙和安全策略都会特别处理ICMP流量,以防止可能的安全威胁或滥用。
四、ARP协议
(一)什么是ARP协议
ARP(Address Resolution Protocol)地址解析协议是TCP/IP协议族中的一个关键协议,它的主要功能是在局域网中将IP地址转换为物理地址(MAC地址)。在以太网等网络环境中,数据包的传输依赖于目标设备的物理地址。因此,当一台主机需要发送数据到另一台主机时,它首先需要知道目标主机的物理地址。
(二)ARP协议的工作原理
1.当PC1想要与PC2通信时,如果PC1不知道PC2的物理地址,它会广播一个ARP请求帧,请求具有特定IP地址(即PC2的IP地址)的设备提供其MAC地址。
2.网络上的所有设备都会接收到这个请求,但只有拥有对应IP地址的设备(PC2)才会回应一个包含其MAC地址的ARP响应帧。
3.PC1收到响应后,就可以使用PC2的MAC地址进行数据传输了,并且会将PC2的IP-MAC对应关系缓存在自己的ARP表中,以便后续通信时直接查找。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!