博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络协议
阅读量:2359 次
发布时间:2019-05-10

本文共 1280 字,大约阅读时间需要 4 分钟。

From:

 

 

The
 ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  ·
 ·  ·  ·  ·  ·  ·
IP (, ) ·  ·  ·  ·  ·
 ·  ·  ·  () ·  ·  (, , , ) ·

 

Ethernet:

 

 

ARP/RARP(地址解析/反向地址解析)报文格式如下图:

 

ARP header:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
:::
:::
:::
:::
Data :::

 

“硬件类型”域指发送者本机网络接口类型(值“1”代表以太网)。“协议类型”域指发送者所提供/请求的高级协议地址类型(“0x0800”代表IP协议)。“操作”域指出本报文的类型(“1”为ARP请求,“2”为ARP响应,“3”为RARP请求,“4”为RARP响应)。

 

IP数据报头格式如下图:

 

IP header:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
and :::

 

  我们用单片机实现TCP/IP协议要作一些简化,不考虑数据分片和优先权。因此,在此我们不讨论服务类型和标志偏移域,只需填“0” 即可。协议“版本”为4,“头长度”单位为32Bit,“总长度”以字节为单位,表示整个IP数据报长度。“标识”是数据包的ID号,用于识别不同的IP 数据包。“生存时间” TTL是个数量及的概念,防止无用数据包一直存在网络中。一般每经过路由器时减一,因此通过TTL 可以算出数据包到达目的地所经过的路由器个数。“协议”域表示创建该数据包的高级协议类型。如 1表示ICMP协议,6表示TCP协议,17表示 UDP协议等。IP数据包为简化数据转发时间,仅采用头校验的方法,数据正确性由高层协议保证。

  

ICMP(网间网控制报文协议)协议 应用广泛。在此仅给出最常见的回应请求与应答报文格式,用户命令ping便是利用此报文来测试信宿机的可到达性。报文格式如下图所示:

 

  类型0 为回应应答报文,8 为回应请求报文。整个数据包均参与检验。注意ICMP封装在IP数据包里传送。

  UDP报文格式如下图:

 

 

TCP报文格式如下图:

TCP header:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
reserved
:::
:::

 

 

UDP header:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Data :::
 

 

你可能感兴趣的文章
未来系统中的编程语言
查看>>
函数式编程另类指南1
查看>>
kudu tablet design(kudu表设计)
查看>>
kudu master design(kudu主节点设计)
查看>>
第七章:druid.io实践分享之realtime+kafka 一
查看>>
第七章:druid.io实践分享之Realtime+kafka 二
查看>>
Java内存管理
查看>>
Maven配置资料(一)
查看>>
Maven配置资料(二)
查看>>
hive脚本运行查看错误日志方式
查看>>
hive导入数据丢失问题
查看>>
linux查看网卡驱动
查看>>
hadoop运行任务时出现网络链接异常
查看>>
设置MAC OS远程登陆
查看>>
关于java并行程序开发重点
查看>>
hive的优化方式
查看>>
关于hadoop配置hosts文件的问题
查看>>
导入数据出错
查看>>
hive开发环境搭建体验
查看>>
无穷大和NaN
查看>>