IP 数据包格式 ICMP协议

简介: IP 数据包格式 ICMP协议

 一,网络层功能

1,定义了基于ip协议的逻辑地址,就是ip地址

2,连接不同 的媒介类型    

3,  选择数据通过网络的最佳路径,完成逻辑地址寻址

二,ip数据包形成原因

数据封装的时候在网络层会封装ip地址的头部,形成ip数据包

三 ip数据包格式

ip头部不固定字节 20到60字节(有可选项)

mac头部固定字节

版本(4)Version 首部长度(4)Header Length 优先级与服务类型(8)Type of Service 总长度(16)Total Length
标识符(16)Identification 标志(3)Flags 段偏移量(13)Fragment Offset
TTL(8) 协议号(8)Protocol 首部校验和(16)Haeder Checksum
源地址(32)Source IP Address
目标地址(32)Destination IP Address
可选项   Options
数据

IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)

版本:你使用的ip协议版本 IPv4 IPv46

首部长度 :ip头部的长度

优先级: 区别数据包的优先处理级别

总长度:整个数据包的长度

标识符:确定数据的分片是否来自同一个文件(数据是拆开来传的)

(16位 16个0到16个1 所以理论可以打开2^16 次方个 打开一个资源分一个 标识符 )

标志 : 代表数据过小不需要分片 或 代表该组最后一个数据包

段位偏移量:该数据片 离 起点的位置坐标(比方数据分片到达时间受网络波动等因素影响,到达顺序和原始数据不一致,段位偏移量就将数据正确还原)

标识符,标志,段位偏移量 干一件事 数据的分片及重组

ttl:生命周期 (8位 默认255 ) 经过一个三层设备减1 变0 设备认为该包为 无效数据包 就会丢弃

① 经过 二层 交换机 不减 三层交换机 减

因为二层设备只识别mac 三层设备只识别ip

② ttl大于等于128 windows系统

ttl小于等于128 Linux系统

协议号:上层协议 : 1指icmp(测试) 6tcp 17udp

首部校验和:只检验ip头部

  源地址:ip地址

  目的地址:ip地址

四,ICMP协议

(一)ICMP介绍

Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议

icmp  是特殊的三层协议 既不属于tcp 也不属于udp

(二)ICMP作用

检测网络的双向连通性

                                              体现在两个命令 :ping tracert

(三)ping

1,ping 介绍

Ping是网络设备、Windows、Unix和Linux平台上的一个命令,其实是一个小巧而实用的应用程序,该应用基于ICMP协议。

(本质是程序 即执行特定任务的一串代码 打出ping 实际上调用程序)

2,ping 格式        

【选项】空格 ip地址

ping不加选项 就是基础功能

3,常用ping

①   ipconfig  显示自己的ip地址

②ping  --help     显示帮助命令

③ping  -t ip地址      长ping  Ctrl+c 停止

④ping  -l  指定包的大小(1600 2000)   ip地址

⑤ping  -w  指定等待时间(默认是秒:2 )  ip 地址

⑥ping  -n  指定的次数(5) ip 地址

4,ping 可能出现的情况

type   类型 code  码 描述
0 0 Echo Repiy 回复       
3 0 网络不可达
3 1 主机不可达
3 2 协议不可达
3 3 端口不可达
11 0 超时
8 0 Echo  Request 请求

5,ping的日常使用    没网的排错思路

1,ping自己 127.0.0.1 硬件 有问题

2 看双方ip是否有问题

3 看网关 看是否在同一网段

4 防火墙策略是否有问题 (配合找网络工程师)

6,ping 注意事项

网络波动:偶尔丢一两个包 (对方没收到)

ping不通:没有一个数据到达

ping不通 不一定不通 (有些服务器不让ping 防火墙里有禁ping)

如果禁ping 用 telnet (测别人) 命令 测试远端服务 的服务是否打开(通)

telnet 是远程登录协议 是明文

(四)tracert经过多少个路由器

五,冲突域 与广播域

(一)冲突域

两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域,不干扰 ,就不在同一个冲突域

(二)广播域

台机器发送广播,能收到消息的机器 都是在同一广播域

(三)冲突域广播域常见情况

交换机的所有端口默认在同一个广播域里,

路由器的 每一个端口都是一个独立的 广播域

相关文章
|
网络架构
ICMP协议(Internet控制消息协议)
本文详细的介绍ICMP协议,内含详细的实例解析,该文你值得拥有。
|
网络协议 网络架构
网络协议与攻击模拟-05-ICMP协议
网络协议与攻击模拟-05-ICMP协议
77 0
|
Linux C语言 C++
Linux ICMP协议实现:C/C++编程指南
ICMP(Internet Control Message Protocol)是网络通信中的重要协议,用于在IP网络中传递错误消息和诊断信息。在Linux系统中,我们可以使用C/C++编程语言来实现基本的ICMP功能,例如发送ICMP回显请求(Ping)和解析ICMP消息。本文将带您深入了解C/C++实现的ICMP协议,包括套接字编程、构造ICMP报文、发送和接收ICMP消息等,以及提供实际的代码示例。
785 1
|
9天前
|
网络协议 Unix 网络架构
网际控制报文协议ICMP
网际控制报文协议(ICMP)是TCP/IP体系结构中网际层的关键组件,用于提高IP数据报的成功传输率。ICMP主要处理两类报文:差错报告报文与询问报文。前者包括终点不可达、源点抑制、时间超过、参数问题及重定向等五类;后者则涵盖回送请求/回答及时间戳请求/回答。ICMP广泛应用于检测网络连通性的PING工具和追踪数据包路径的traceroute工具中。两者分别利用ICMP的回送请求报文及差错报告报文实现功能。
33 10
|
4月前
|
存储 网络协议 算法
基于 Wireshark 分析 ICMP 协议
基于 Wireshark 分析 ICMP 协议
|
1月前
|
网络协议 网络架构
用户态协议栈03-icmp实现
用户态协议栈03-icmp实现
|
1月前
|
监控 安全 网络安全
ICMP 协议详解及其消息格式
【8月更文挑战第20天】
61 0
|
2月前
|
人工智能 缓存 网络协议
网络层之三层交换、icmp协议、arp协议
网络层之三层交换、icmp协议、arp协议
|
2月前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
49 0
|
4月前
|
域名解析 缓存 网络协议