tcpip 协议簇的逐层封装+数据包格式

tcpip 协议簇的逐层封装+数据包格式

ID:36972702

大小:124.00 KB

页数:6页

时间:2019-05-06

tcpip 协议簇的逐层封装+数据包格式_第1页
tcpip 协议簇的逐层封装+数据包格式_第2页
tcpip 协议簇的逐层封装+数据包格式_第3页
tcpip 协议簇的逐层封装+数据包格式_第4页
tcpip 协议簇的逐层封装+数据包格式_第5页
资源描述:

《tcpip 协议簇的逐层封装+数据包格式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、TCP/IP协议簇的逐层封装收藏在使用TCP协议的网络程序中,用户数据从产生到从网卡发出去一般要经过如下的逐层封装过程:从下往上看:1)链路层通过加固定长度的首部、尾部来封装IP数据报(Datagram)产生以太网帧(Frame),其中首部存在对封装数据的标识:是IP(0x0800,本例)、ARP(0x0806)还是RARP(0x0835)。2)网络层通过加首部来封装TCP段(Segment)产生IP数据报,其中首部存在对封装数据的标识:是ICMP(0x01)、IGMP(0x02)、TCP(0x06,本例)还是UDP(0x11)。3

2、)传输层通过加首部来封装应用数据产生TCP段,其中首部存在对封装数据的标识:端口号,来标识是那个应用程序产生的数据。4)按这种处理逻辑,在应用层,对于我们要处理的应用数据理所当然的加上固定长度的首部,首部中同样含有某些标识,标识些什么呢?按经验,一般会标识本次数据的业务意义,在程序中一般处理为业务集合(枚举型)的某个元素;如果是TCP应用(本例)还可能包括应用数据总体长度。Ethernet、Tcp、Udp等协议的数据包格式收藏 TCP/IP协议是一个比较复杂的协议集,有很多专业书籍介绍。在此,我仅介绍其与编程密切相关的部分:以太网上

3、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

4、协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。由于TCP/IP协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下TCP/IP各层报文格式。   8字节的前导用于帧同步,CRC域用于帧校验。这些用户不必关心其由网卡芯片自动添加。目的地址和源地址是指网卡的物理地址,即MAC地址,具有唯一性。帧类型或协议类型是指数据包的高级协议,如0x0806表示ARP协议,0x0800表示IP协议等。  ARP/RARP(地址解析/反向地址解析)报文格式如下图: “硬件类型”域指发送者本机网络接口类型(值“1”代表以太网)。“协议

5、类型”域指发送者所提供/请求的高级协议地址类型(“0x0800”代表IP协议)。“操作”域指出本报文的类型(“1”为ARP请求,“2”为ARP响应,“3”为RARP请求,“4”为RARP响应)。  IP数据报头格式如下图:  我们用单片机实现TCP/IP协议要作一些简化,不考虑数据分片和优先权。因此,在此我们不讨论服务类型和标志偏移域,只需填“0”即可。协议“版本”为4,“头长度”单位为32Bit,“总长度”以字节为单位,表示整个IP数据报长度。“标识”是数据包的ID号,用于识别不同的IP数据包。“生存时间”TTL是个数量及的概念,

6、防止无用数据包一直存在网络中。一般每经过路由器时减一,因此通过TTL可以算出数据包到达目的地所经过的路由器个数。“协议”域表示创建该数据包的高级协议类型。如1表示ICMP协议,6表示TCP协议,17表示UDP协议等。IP数据包为简化数据转发时间,仅采用头校验的方法,数据正确性由高层协议保证。  ICMP(网间网控制报文协议)协议应用广泛。在此仅给出最常见的回应请求与应答报文格式,用户命令ping便是利用此报文来测试信宿机的可到达性。报文格式如下图所示:  类型0为回应应答报文,8为回应请求报文。整个数据包均参与检验。注意ICMP封装

7、在IP数据包里传送。  UDP报文格式如下图:  TCP报文格式如下图:  TCP是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍。“序号”指数据在发送端数据流中的位置。“确认号”指出本机希望下一个接收的字节的序号。与IP校验不同的是TCP,UDP校验采用伪头标加整个报文一同校验的方法。TCP协议工作原理另行介绍。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。