`
woodding2008
  • 浏览: 289619 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TCP头部结构

 
阅读更多

 

源端口(source port)

16位的字段,定义了发送这个报文段的主机中的应用程序的端口号。

 

目的端口(destination port)

16位的字段,定义了接收这个报文段的主机中的应用程序的端口号。

 

序列号(sequence number)

32位的字段,定义了指派给本报文段第一个数据字节的编号。为了保证连接性,要发送的每一个字节都要编上号。序号可以告诉终点,报文段中的第一个字节是这个序列中的哪一个字节。在建立连接是,双方使用各自的随机数生成器生产一个初始序号(inital squence number,ISN),通常两个方向上的ISN是不同的。

 

确认号(acknowledgment nimber)

32位字段定义了报文段的接收方期望从对方接收的字节编码。如果报文段的接收方成功地接收了对方发来的编号为x的字节,那么它就返回x+1作为确认号,确认可以和数据捎带在一起发送。

 

 

头部长度(Hlen)(header length)

这个4字节字段指出TCP段的头部长度,以32位字段来衡量,头部长度并不规定并可以根据选项字段中设置的参数面改变。

 

保留(reserved)

这个保留字段占用6位,它被保留以提供将来使用。

 

编码位(code bits)

URG 紧急数据(urgent data)---这是一条紧急信息

ACK 确认已收到段

PSH 请求在缓冲区尚未填满时发送消息,注意TCP可以等待缓冲区填满之后再发送段,如果需要立即传送,应用程序必须利用push参数来通知协议。

RST 申请重置连接

SYN 此消息用于在建立连接时同步传输数据的计时器。

FIN 该属性申明发送端已经发送出被传输数据的最后一个字节。

 

窗口大小(window)

16位字段,这个字段定义的是发送TCP的窗口大小,以字节为单位。窗口最大长度是65535字节,这个值通常被称为接收窗口(rwnd),并由接收方来决定。这种情况下,发送方必须服从接收方的指示。

 

校验和(checksum)

16位字段包含的是检验和,检验和是差错控制的手段之一。

 

紧急指针(urgent point)

该字段占用2字节,与URG代码位一起使用并且申明及时使存在着缓冲区溢出也必须紧急接收的数据末端。因此,如果有些数据需要不按照顺序被送往目的应用程序,那么发送端的应用程序必须利用紧急数据参数通知TCP。

 

选项(option)

该字段为变长且可以忽略。他的最大长度为3字节,用于解决一些辅助任务----比如,选择最大段长。选项可以位于TCP头部的末端,其长度必须是8的倍数。

 

 

填充(padding)

该字段长度不固定,这是个用于补充头部字段使得它的长度为32位字的整数倍的一个伪字段。

  • 大小: 55.3 KB
  • 大小: 18.7 KB
分享到:
评论

相关推荐

    Linux高性能服务器编程清晰PDF+源码

    3.2 TCP头部结构 3.2.1 TCP固定头部结构 3.2.2 TCP头部选项 3.2.3 使用tcpdump观察TCP头部信息 3.3 TCP连接的建立和关闭 3.3.1 使用tcpdump观察TCP连接的建立和关闭 3.3.2 半关闭状态 3.3.3 连接超时...

    TCP.rar_tcp

    ### TCP头部结构 TCP头部包含了多个字段,如源端口号和目的端口号用于标识通信的两端,序列号和确认号用于可靠传输,数据偏移量指明头部长度,标志位(如FIN、SYN、ACK)用于控制连接状态,还有窗口大小、紧急指针...

    tcp.rar_TCP 51_tcp_tcp 单片机_单片机_单片机TCP

    此外,还需要理解TCP头部结构,以便正确解析和构建TCP报文。 原程序代码应包括以下关键部分: 1. **初始化**:设置串行通信接口,配置波特率,并连接到网络模块。 2. **TCP连接管理**:实现TCP的三次握手过程,发送...

    TCPC.rar_W5500 TCP例程_tcp server_w5500_两块w5500通讯

    在实现过程中,开发者需要熟悉W5500的SPI通信协议,理解TCP连接的三次握手和四次挥手过程,同时掌握TCP头部结构以及滑动窗口机制,确保数据的正确性和完整性。此外,还需要关注网络编程中的异常处理,例如超时重传、...

    信息安全技术基础:Wireshark工具的使用与TCP数据包分析.doc

    实验目的是通过Wireshark学习TCP数据包的分析,理解TCP头部结构。实验步骤包括使用Wireshark捕捉特定IP的数据包,设置捕获过滤器,以及分析TCP头部信息。例如,过滤器"not tcp port 3389"会排除掉端口号为3389(通常...

    互联网技术与应用--tcp\ip技术

    - 在`IPHead.h`中定义IP和TCP头部结构,利用共用体处理版本和头部长度的位运算,以节省内存空间。 - `IP_HEAD`结构体包含IP包头所有字段,如源/目标地址、协议类型等。 - `TCP_HEAD`结构体则包含了TCP头部的关键...

    TCP/IP详解第二卷实现

    书中会详细介绍TCP的连接建立(三次握手)、数据传输、流量控制、拥塞控制、断开连接(四次挥手)等机制,并剖析TCP头部结构及各种标志位的含义。 2. **IP(网际协议)**:作为网络层的核心,IP负责数据在网络中的...

    TCP IP从入门到精通

    5. **TCP头部结构**:包括源端口号、目的端口号、序列号、确认序号、数据偏移、标志位、窗口大小、校验和、紧急指针等字段,用于控制和管理连接。 在IP(网际协议)部分,你需要掌握: 1. **IP地址与子网掩码**:...

    TCP协议之连接过程

    TCP头部结构包含多个字段,如源端口和目的端口(16位),序列号和确认号(32位),以及头部长度、标志位、窗口大小、紧急指针、选项和填充等,这些字段共同保证了TCP协议的高效和灵活。 TCP协议虽然提供了强大的...

    TCPTestTool-master_TCP压测_TCP协议mfc_tcp_压测_

    这可能涉及到对TCP头部结构的理解,包括源和目的端口号、序列号、确认号、数据偏移、保留位、标志位(如SYN、ACK、FIN等)、窗口大小以及选项和填充等字段。自定义协议解析意味着用户需要根据具体应用的报文格式,...

    TCP-IP详解卷二:实现(1)

    5. TCP头部结构的详细解读,包括各个字段的作用和计算方法。 6. 实际网络环境中TCP性能优化的策略和技巧。 7. TCP与其他协议(如UDP、IP等)的交互和协同工作方式。 通过阅读本书,读者不仅可以理解TCP/IP协议的...

    TCP_three_way_handshake.rar_tcp 握手

    而“TCP_three_way_handshake.doc”则可能提供了更深入的理论解释,包括TCP头部结构在握手过程中的作用,以及如何通过抓包工具如Wireshark来观察和分析TCP三次握手的实际网络流量。 TCP的三次握手是保证可靠连接的...

    tcp_header_state.pdf

    首先,TCP头部结构中包含以下几个关键字段: 1. 序号字段(Sequence Number):该字段长度为32位,用于标识TCP报文中传输的数据流中每个字节的序号。TCP连接中的第一个字节的序号,被称作初始序列号(ISN,Initial ...

    TCP/IP详解(第一卷 协议)

    4. **TCP头部结构**:TCP报头包含源端口号、目的端口号、序列号、确认号、数据偏移量、标志位(如SYN、ACK、FIN等)、窗口大小和校验和等字段,这些字段共同保证了数据的可靠传输。 5. **IP头部结构**:IP数据包...

    TCP编程

    “Tcpip”项目可能包含了TCP/IP协议栈的详细讲解,这包括IP地址、端口号、TCP头部结构以及TCP如何处理流量控制和拥塞控制。TCP通过滑动窗口机制实现流量控制,避免接收方无法处理过多数据而导致的缓冲区溢出。同时,...

    TCP三次握手和四次挥手

    #### 二、TCP头部结构解析 为了更好地理解TCP三次握手和四次挥手的过程,我们首先需要了解TCP头部的各个字段及其作用。 1. **源端口(Source Port)** 和 **目的端口(Destination Port)** - 这两个字段各占用16位,...

    TCP/IP详解卷1:协议(1)

    - 探讨TCP协议的工作流程,如TCP头部结构、连接管理、序列号与确认应答、拥塞控制等。 - 可能还会涉及ICMP(Internet Control Message Protocol,互联网控制消息协议)和ARP(Address Resolution Protocol,地址...

    TCP.rar_visual c

    1. **TCP基础**:TCP的特点,如面向连接、可靠的、基于字节流的服务,三次握手和四次挥手的过程,以及TCP头部结构。 2. **套接字编程**:讲解在C++中如何使用socket API创建套接字,包括socket()函数用于创建套接字...

Global site tag (gtag.js) - Google Analytics