网络(四)网络层协议功能介绍

前言

网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,下面从IP数据的结构介绍,引入两个重要的协议——ICMP和ARP。

目录

前言

一、IP数据包格式

1. 图示

2. 注释

二、ICMP协议

1. 定义

2. ICMP的基本使用方法

2.1 ping

2.2 tracert

2.3 冲突域

2.4 广播域

三、ARP协议

1. 定义

2. 工作原理

四、总结


一、IP数据包格式

1. 图示

网络(四)网络层协议功能介绍_第1张图片

2. 注释

·版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100十进制是4,将来或使用的IP协议——IPv4和IPv6

·首部长度(4):IP数据包头部长度,P头部范围:20~60字节

·优先级与服务类型(8) :区别数据包的优先处理级别

·总长度(16):整个数据包长度,最长为 65535 字节,包括包头和数据

·标识符(16):确定数据的分片是否来自于同一个文件

·标志(3):代表数据过小不需要分片,代表该组最后一个数据包

·段位偏移量(13):该数据分片离起点的位置坐标。以传输10G数据为例,如果分10个1G传输,在传输过程中,并非按照分片顺序依次组合,需要记录每片段位偏移量,最终与发送端保持一致

网络(四)网络层协议功能介绍_第2张图片

·TTL(8):生命周期,最大值255,如果为0,设备会认为该包为无效包,从而丢弃;二层交换机不会减少TTL,三层交换机会减;一般情况下:ttl>=128是Windows系统,ttl<=64是Linux系统

·协议号(8):封装的上层(传输层)的协议,ICMP:1、TCP:6、UDP:17、TCP:6。其中ICMP是特殊的测试协议号,检测网络的双向连通性

·首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)

·源地址(32):源ip地址,表示发送端的IP地址

·可选项:根据字段根据实际情况可变长,可以和IP一起使用的选项有多个

二、ICMP协议

1. 定义

ICMP(Internet Control Message Protocol)Internet控制协议。它是TCP/IP协议的议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。采取的是“错误侦测与回馈机制” 是通过IP数据包封装的,用来发送错误的控制信息。目的是用来掌握网络的联通状况。

2. ICMP的基本使用方法

2.1 ping

① 其实是一个小巧而实用的应用程序,该应用基于ICMP协议。ping常用于探测到达目的节点的网络可达性

② ping格式:“ping  【选项】  IP地址”,ping 用来测试网络可达性

③ 部分使用方法

ping --help:显示帮助命令,Linux是man ping

ping -t ip地址:长ping地址,也可以写成ping ip地址 -t,可以ctrl+c停止长ping

ping -l ip地址: 指定包的大小,Windows以1500字节为一个单位,最大能发送65500字节,超过需要分片

ping -w ip 地址:指定等待回复的超时时间,单位是毫秒,默认4000毫秒

ping -n ip 地址:指定ping的次数

批量ping:以检测网段192.168.1.1到192.168.1.255之间的所有的ip地址为例,同时每个IP只ping一次,超时等待回复时间1000毫秒

cmd输入:“for /l %D in (1,1,255) do ping 192.168.1.%D -n 1 -w 1000  && echo 192.168.1.%D up>>D://a.txt  ||  echo 192.168.1.%D down>>D://b.txt”

网络(四)网络层协议功能介绍_第3张图片

网络(四)网络层协议功能介绍_第4张图片

其中for循环/l表示以增量形式从开始到结束的数字序列,%d整数,初始值为1增量为1,255结束;echo是一个计算机命令,作用显示文字;&&判断是否为真,为真输入到D盘a.txt,否则输入到D盘b.txt

④ 报文重要字段:Type+Code——不同组合可以表示不同功能的ICMP报文

Type Code 描述
0 0 Echo Reply 回复
3 0 网络不可达
3 1 主机不可达
3 2 协议不可达
3 3 端口不可达
11 0 超时重定向
8 0 Echo Request 请求

长ping百度抓包查看Type和Code值

网络(四)网络层协议功能介绍_第5张图片

2.2 tracert

① tracert用来显示到达目的主机的路径,用于跟踪数据包的转发路径,一般用于排障。它能够向目标主机发送 ICMP 请求数据包,不仅测试服务器是否可达,还会输出明确的路由信息。每当数据包到达一个路由跃点时,路由跟踪的生存时间(TTL)值就会减 1。当值为 0 时,路由器/网关就会响应一个 ICMP 回复数据包。

② 用法

网络(四)网络层协议功能介绍_第6张图片

2.3 冲突域

① 两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域。冲突会使以太网致命故障,导致信号冲突,数据损坏、丢失、数据传输慢。

② 解决方法:分割冲突域;修改设备的接口模式为全双工模式

2.4 广播域

一台机器发送广播,能收到消息的机器都是在同一广播域,交换机的所有端口默认在同一个广播域里,路由器的每一个端口都是一个独立的广播域。

三、ARP协议

1. 定义

是根据IP地址获取物理mac地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。可以输入“arp -a”命令查看当前缓存列表。当配置IP地址是,可以检测地址是否有冲突。

2. 工作原理

·以PC1和PC2为例介绍

① PC1想发送数据给PC2,会先检查自己的ARP缓存表。对方IP地址已知。

② 如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的MAC地址。 ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(MAC地址FF-FF-FF-FF-FF-FF为广播)

③ 交换机收到广播后做泛洪查询处理,除PC1外所有主机收到ARP请求消息,PC2以单播点对点方式发送ARP应答, 并记录PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息

④ PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。

四、总结

ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息;ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

你可能感兴趣的:(网络,网络协议)