网络层协议与应用
1 网络层的功能
2、连接不同的媒介类型
3、选择数据通过网络的最佳路径
2 IP数据包
IP 数据报文由首部(称为报头)和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。
每个 IP 数据报都以一个 IP 报头开始。源计算机构造这个 IP 报头,而目的计算机利用 IP 报头中封装的信息处理数据。IP 报头中包含大量的信息,如源 IP 地址、目的 IP 地址、数据报长度、IP 版本号等。每个信息都被称为一个字段。
版本号(4):是指ip协议版本,通信双方必须使用一样的版本,我们现在用的是ipv4,表示为0100
首部长度(4):IP数据包的包头长度
优先级与服务类型(8):该字段表示数据包的优先级与服务类型,通过数据包中的数据划分优先级,通过优先级实现服务类型的使用
总长度(16):IP数据包的长度,共有65535个,包括数据和包头
标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段 用于标志一个数据包,以便接收节点可以重组被分片的数据包
标识(3):和标识符一起传递,后面的数字标识传递是否完整
段偏移量(13):重组
TTL(8):可以防止一个数据永远的无限循环下去,没经过一个路由器-1,当TTL值为0时,该数据包就会被丢弃,TTL值0--255
协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17
首部校验和(16):核验上面的数据
源地址(32):源ip地址,表示发送端ip地址
目的地址(32):目的ip地址,表示接收端ip地址
可选项:增强功能
3 ICMP协议
3.1ICMP协议
nternet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议
ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
常见的 ICMP报文格式 :
![](https://img2022.cnblogs.com/blog/2964616/202209/2964616-20220905160043422-296300980.png)
3.2 ping命令
ping是一种电脑网络工具,用来测试数据包能否通过IP协议到达特定主机。Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP
协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助人们分析和判定网络故障。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
ping命令的常用选项:![](https://img2022.cnblogs.com/blog/2964616/202209/2964616-20220905160920826-756148425.png)
4 ARP协议
4.1 arp协议论述
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
4.2 arp工作原理
(1)当PC1想发送数据给PC2,首先在自己的本地ARP缓存表中检查主机PC2的MAC地址是否存在。
(2)如果PC1缓存中没有找到响应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络的所有主机,本地网络中的所有主机都接收到ARP请求,并且检查是否与自己的IP地址相匹配。如果发现请求中IP地址与自己IP不匹配,则丢弃ARP请求。
(3)主机PC2确定ARP请求中得IP地址与自己的IP地址匹配,则将主机PC1的地址和MAC地址添加到本地ARP缓存表中。
(4)主机PC2将包含其MAC地址的ARP回复消息直接发送回主机PC1(数据帧为单播)。
(5)主机PC1收到PC2发的ARP回复消息,将PC2的IP和MAC地址添加至自己ARP缓存表中,本机缓存是有生存期的,ARP缓存表默认有效时间120s。当超过该有效期后,则将重复上面过程。主机PC2的MAC地址一旦确定,主机PC1就能向主机PC2发送IP信息。