登录
CSNA会员注册
找回密码
搜索
搜索
本版
用户
CSNA网络分析论坛
»
首页
›
流量分析
›
网络分析
›
报文结构
返回列表
发帖
查看:
14064
|
回复:
4
报文结构
[复制链接]
ynettec
ynettec
当前离线
积分
0
发表于 2006-7-31 12:06:31
|
显示全部楼层
|
阅读模式
TCP/IP协议是一个比较复杂的协议集,有很多专业书籍介绍。在此,我仅介绍其与编程密切相关的部分:以太网上TCP/IP协议的分层结构及其报文格式。我们知道TCP/IP协议采用分层结构,其分层模型及协议如下表:
应 用 层
(Application) HTTP、Telnet、FTP、SMTP、SNMP
传 输 层
(Transport) TCP、UDP
网 间 网层
(Internet) IP【ARP、RARP、ICMP】
网络接口层
(Network) Ethernet、X.25、SLIP、PPP
协议采用分层结构,因此,数据报文也采用分层封装的方法。下面以应用最广泛的以太网为例说明其数据报文分层封装,如下图所示:
任何通讯协议都有独特的报文格式,TCP/IP协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。由于TCP/IP协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下TCP/IP各层报文格式。
以太网帧格式如下图:
8字节的前导用于帧同步,CRC域用于帧校验。这些用户不必关心其由网卡芯片自动添加。目的地址和源地址是指网卡的物理地址,即MAC地址,具有唯一性。帧类型或协议类型是指数据包的高级协议,如 0x0806表示ARP协议,0x0800表示IP协议等。
ARP/RARP(地址解析/反向地址解析)报文格式如下图:
“硬件类型”域指发送者本机网络接口类型(值“1”代表以太网)。“协议类型”域指发送者所提供/请求的高级协议地址类型(“0x0800”代表IP协议)。“操作”域指出本报文的类型(“1”为ARP请求,“2”为ARP响应,“3”为RARP请求,“4”为RARP响应)。
IP数据报头格式如下图:
我们用单片机实现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 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍。“序号”指数据在发送端数据流中的位置。“确认号”指出本机希望下一个接收的字节的序号。与IP校验不同的是TCP,UDP校验采用伪头标加整个报文一同校验的方法。TCP协议工作原理另行介绍。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
CSNA会员注册
×
回复
使用道具
举报
jlspllp
jlspllp
当前离线
积分
0
发表于 2006-7-31 14:31:23
|
显示全部楼层
!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!
回复
使用道具
举报
zszhw
zszhw
当前离线
积分
0
发表于 2006-8-6 14:41:13
|
显示全部楼层
可是没有钱?????????????????
回复
使用道具
举报
qingdou
qingdou
当前离线
积分
0
发表于 2008-5-8 17:15:21
|
显示全部楼层
哪有UDP报文结构……
回复
使用道具
举报
zhj991
zhj991
当前离线
积分
0
发表于 2008-8-3 17:13:07
|
显示全部楼层
谢谢了,感谢楼主的贡献
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
CSNA会员注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
快速回复
返回顶部
返回列表