TCP 首部详解

TCP提供了一种可靠的面向连接的字节流运输层服务。
TCP
将用户数据打包构成报文段;它发送数据后启动一个定时器;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据;TCP
提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。


许多流行的应用程序如 Telent、Rlogin、 FTP 和 SMTP 都使用TCP

先上图:


tcp报文段被封装在一个ip数据报中。


每个tcp报文段中都包含源端口号和目的端口号,用来寻找发送和接受端进程,他们的值加上ip数据报中的源ip地址和目的ip地址,唯一确定一个tcp连接。

(1)将源端口号和目的端口号放在前8字节,是因为,一个ICMP差错报文至少返回引起差错的ip数据报的除了前8个字节。当tcp接受到一个ICMP差错报文的时候,她需要检查两个端口确定对应与哪个连接,一次必须包含在前8个字节。

(2)序号用来标识从从tcp发送端到接收端的数据字节流,标识在当前字节流中的第一个字节。当建立一个连接时,序号字段包含当前主机选择的连接初始序列号(ISN),由于每当建立一个连接是,标志为SYN=1,消耗了一个序号,所以此时,序列号加一。

(3)每次接收端接受完一次数据,确认序号段包含发送确认序号端希望下一次接受的序列号。确认序号应当是上一次接受成功的数据字节序号加一。(只有ACK标志为1时,确认字段有效,并且连接一旦建立起来,ACK就被置为了1)。

(4)首部长度给出首部中 32 bit字的数目需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

(5)T C P首部中有 6个标志比特。

U R G     紧急指针(u rgent pointer)有效
A C K     确认序号有效。
P S H     接收方应该尽快将这个报文段交给应用层。
R S T     重建连接。
S Y N     同步序号用来发起一个连接。

F I N     发端完成发送任务

(6)tcp的流量控制室由连接的每一段声明的窗口大小控制的,大小是16bit的字段,因此最大为65535字节,窗口的大小正是接收端期望接受的字节大小。

(7)校验和是覆盖整个tcp报文段的,包括头部和数据段,是强制性的字段。他是有发送端计算和存储的,在接收方能够进行校验,若出错,则丢弃改报文段。

(8)只有当URG指针为1时,紧急指针才有效,它是一个偏移值,她得值加上序号字段的值,正好是紧急数据的最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。



  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值