当前位置:网站首页>IP数据包格式(ICMP协议与ARP协议)
IP数据包格式(ICMP协议与ARP协议)
2022-08-05 05:19:00 【幻star】
IP数据包格式
网络层的功能
- 定义了基于IP协议的逻辑地址,就是IP地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径,完成逻辑地址寻址
数据封装的时候在网络层会封装ip地址的头部,形成ip数据包
IP数据包格式

IP数据包格式:分为20字节的固定部分,表示每个IP数据包的部分,和40字节的可变长部分
| 格式 | 定义 |
|---|---|
| 版本号(4bit) | 指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100 |
| 首部长度(4) | IP数据包的包头长度(不包括数据)优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。 |
| 总长度(16) | IP数据包的总长度,最长为 65535 字节,包括包头和数据。 |
| 标识符(16) | 该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片数据分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包 |
| 标志(3) | 和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整) |
| 段偏移量(13) | 在一个分片序列中如何将各分片连接起来,按什么顺序连接起来 |
| TTL(time to live)生命周期(8) | 可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器 -1,当TTL的值为0时,该数据包将被丢弃 0-255 |
| 协议号(8) | 封装的上层哪个协议,ICMP:1 TCP:6UDP:17 |
| 首部校验和(16) | 这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化) |
| 源地址(32) | 源ip地址,表示发送端的IP地址 |
| 目标地址(32) | 目标ip地址,表示接收端的IP地址 |
| 可选项 | 选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据 |
注:根据实际情况可变长,例如创建时间等 上层数据
ICMP协议
icmp作用:检测网络的双向联通性
ping
ping作用:
ping自己127.0.0.1硬件
看双方地址是否有问题
看网关是否有问题
防火墙策略是否有问题
ping选项:ipconfig //显示自己IP地址
ping --help //显示帮助命令
-t //长ping
格式:ping ip地址 -t (ctrl+c 停止)
-a //将地址解析为主机名
格式:ping -a ip地址 (显示主机名)
-l size //发送缓冲区大小
格式:ping -l 指定包的大小(1600、2000)ip地址
-w //超时等待时间
格式:ping -w指定等待时间(默认是秒:2)ip地址-n //指定ping几次
格式:ping -n 指定的次数(5)ip地址
注:ping的通一定通,ping不通不一定网络不通
tracert也是icmp协议
格式:tracert ip地址 (追踪,经过几个路由设备)
tracert IP地址 (win)
traceroute IP地址(Linux)
广播域
广播域:一台机器发送广播,能收到消息的机器 都是在
同一广播域
ARP协议(地址解析协议)
ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间。
无故ARP
- 检查重复地址(如果收到ARP响应表明存在重复地址)。
- 当一台设备获取到一个IP地址时,会自动发送一个无故ARP,检测是否有设备已使用了此地址
ARP工作原理:
- PC1想发送数据给PC2, 会先检查自己的ARP缓存
表。 只在终端设备上
2.如果发现要查找的MAC地址不在表中,就会发送一个
ARP请求广播,用于发现目的地的MAC地址。
ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的
IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FFFF-FF-FF)
3.交换机收到广播后做泛洪处理,除PC1外所有主机收到
ARP请求消息,PC2以单播方式发送ARP应答, 并在自
己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,
而其他主机则丢弃这个ARP请求消息。 - PC1在自己的ARP表中添加PC2的IP地址和MAC地址
的对应关系,以单播方式与PC2通信。
ARP报文

查看arp缓存表(静态arp和动态arp)
| 命令 | 含义 |
|---|---|
| arp -a | 查看arp缓存表 |
| arp -d | 不加IP清除所有 |
| arp -d [IP] | 加IP 只删除改IP |
| arp -s IP MAC | 删除arp静态绑定 |
绑定arp(win10)
- netsh -c i i show i #####查看网络连接准确名称,如:本地连接、无线网络连接
- netsh -c “i i” add neighbors 19 “IP” “Mac”(这里19是idx号)####绑定
- netsh -c “i i” delete neighbors 19 (这里19是idx号)#####解绑
- netsh interface ipv4 set neighbors <接口序号>
华为系统中的ARP命令
- [ Huawei ]dis mac -address ###查看mac地址信息
- [ Huawei ]arp static ###绑定ARP
- [ Huawei ]undo arp static ###解绑定
- [ Huawei ]reset arp all ###清除mac地址表
边栏推荐
- 每日一题-DFS
- Unity huatuo 革命性热更系列1.3 huatuo示例项目源码分析与启发
- 错误类型:reflection.ReflectionException: Could not set property ‘xxx‘ of ‘class ‘xxx‘ with value ‘xxx‘
- Spark源码-任务提交流程之-6.2-sparkContext初始化-TaskScheduler任务调度器
- (oj)原地移除数组中所有的元素val、删除排序数组中的重复项、合并两个有序数组
- 来来来,一文让你读懂Cocos Creator如何读写JSON文件
- 入门文档08 条件插件
- Getting Started Doc 08 Conditional Plugins
- D39_坐标转换
- UE5再次更新!扫描或手动建模面部模型可直接转为绑定好的Metahuman
猜你喜欢
![[Paper Intensive Reading] Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (R-CNN)](/img/a7/fc3fe440f5e57362d44ae875b7d436.png)
[Paper Intensive Reading] Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (R-CNN)

C语言入门笔记 —— 分支与循环

图片压缩失效问题

2020年手机上最好的25种免费游戏

Unity中的GetEnumerator 方法及MoveNext、Reset方法

虚幻引擎5都有哪些重要新功能?

Getting Started 05 Using cb() to indicate that the current task is complete

Wireshark抓包及常用过滤方法
![[Day8] Commands involved in using LVM to expand](/img/ba/39b81cbcecec9bc54a710ff9dba81a.png)
[Day8] Commands involved in using LVM to expand

Getting Started Documentation 10 Resource Mapping
随机推荐
UE5再次更新!扫描或手动建模面部模型可直接转为绑定好的Metahuman
[Day8] (Super detailed steps) Use LVM to expand capacity
【UiPath2022+C#】UiPath变量和参数
小度 小度 在呢!
【UiPath2022+C#】UiPath Switch
D45_摄像机组件Camera
I217-V在openwrt软路由下大流量断网问题
成功的独立开发者应对失败&冒名顶替综
2020年手机上最好的25种免费游戏
ACL 和NAT
每日一题-有效的括号-0719
Blender软件介绍与使用心得
每日一题-寻找两个正序数组的中位数-0713
Getting Started Documentation 12 webserve + Hot Updates
dsf5.0 弹框点确定没有返回值的问题
入门文档12 webserve + 热更新
Getting Started 04 When a task depends on another task, it needs to be executed in sequence
添加新硬盘为什么扫描不上?如何解决?
每日一题-合并两个有序链表-0720
CIPU,对云计算产业有什么影响