分类: LINUX
2010-09-19 14:17:32
TCP数据包格式:
在TCP/IP协议中,TCP协议时传输层协议,其下层有网络层及网络接口层。协议时层层的,每层协议在向下层传送时,都要加上自定义的包头。TCP接受到来自应用层的数据包,在前面填充TCP头部后,将报文送至网络层。
网络层协议时IP协议,所以需要在TCP数据包前加上IP头部并向下传输至网络接口层。网络接口层存在多种协议,如以太网协议,令牌环网协议等。系统将根据不同的协议类型,在IP报文前填充相应头部并形成最终的二进制比特流。
TCP报头结构包括:答案补充
1.Source Port(源端口):标识客户设备发起请求的端口号
2.Destination Port(目的端口):标识提供服务的设备的应用程序的端口号
3.Sequence number(序号):用于标识本地发送的TCP数据的顺序
4.Acknowledgment number(确认号):用于对接收到的TCP数据进行确认
5.header length(报头长度):用于标识TCP数据报头的长度(TCP报头通常为20Byte,最大为40Byte)
6.Reserver(保留):该字段不被使用
7.Code(代码):用于标识TCP不同的控制消息
8.Window Size(窗口尺寸):用于标识本地设备在收到对方确认消息前能够发送的TCP数据量的大小
9.Checksum(校验和):用于校验TCP数据的正确性
10.Urgent Pointer(紧急指针):用于标识TCP所承载的高层数据需要紧急或特殊处理的部分
11.Options(选项):用于TCP报头功能的扩展
12.Data(数据):用于承载高层数据载荷
如果你查看实际通信环境中的TCP报头,可以使用wireshark之类的抓包软件对网络中的数据进行捕获。