当前位置:网站首页>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地址表
边栏推荐
- 腾讯内部技术:《轩辕传奇》服务器架构演变
- Apache配置反向代理
- 【UiPath2022+C#】UiPath 数据操作
- 入门文档09 独立的watch
- spark源码-RPC通信机制
- Getting Started 11 Automatically add version numbers
- Unity中的GetEnumerator 方法及MoveNext、Reset方法
- [Day8] Commands involved in using LVM to expand
- spark源码-任务提交流程之-5-CoarseGrainedExecutorBackend
- Getting Started Documentation 12 webserve + Hot Updates
猜你喜欢
随机推荐
huatuo 革命性热更新解决方案系列1·1 为什么这么NB?huatuo革命Unity热更新
【Day8】 RAID磁盘阵列
vim的三种模式
Cocos Creator开发中的事件响应
spark源码-任务提交流程之-2-YarnClusterApplication
什么?CDN缓存加速只适用于加速静态内容?
Getting Started 04 When a task depends on another task, it needs to be executed in sequence
每日一题-寻找两个正序数组的中位数-0713
[Day8] (Super detailed steps) Use LVM to expand capacity
如何使用Houdini进行程序化优化?
Image compression failure problem
如何用UE5渲染一个可爱的茶壶屋?
Spark源码-任务提交流程之-6-sparkContext初始化
每日一题-两数相加-0711
Getting Started Documentation 10 Resource Mapping
入门文档01 series按顺序执行
每日一题-盛最多水的容器-0716
海外服务器的优势
【Day6】文件系统权限管理 文件特殊权限 隐藏属性
【Day8】Knowledge about disk and disk partition