您的位置:首页 > 理论基础 > 计算机网络

tcp/ip学习笔记--第17章 TCP(transmission control protocol)

2017-11-22 00:44 796 查看
TCP services

尽管TCP和UDP使用同样的IP层,但是却提供与UDP完全不同的服务。TCP提供面向连接的,可靠的,字节流的服务。

TCP通过以下措施来保证可靠性:

1.发送合适大小的报文段

2.为发送的报文段设置定时器,并等待接收端确认,如果超时还未收到接收端的确认就会再次发送

3.接收端接收到报文段后会发送对应的确认。

4.对报文段的整体(头部+数据部分)计算校验和。

5.接收端对到达的报文进行重新排序

6删除重复的报文

7.提供流量控制,防止传输速率快的主机使速率慢的主机的缓冲区溢出。

TCP Header



源端口号和目的端口号:用来区分不同的程序

序号:标识发送端发出的报文段的数据部分的第一个字节。TCP对发送的每个字节都进行编号,这个序号会在达到2^32-1之后回到0进行循环。初始序列号在建立连接的时候由发送端确定。并且每个发送端都会产生自己的序列号。

确认序号:接收端用来告诉发送端已经接收到哪个字节(表示这个字节之前所有的字节都接收到了)。因为确认序号是头部的一部分,而且TCP是双工模式,所以tcp在发送消息的时候确认序号一直有值,并且ACKflag处于打开状态。

首部长度:以4个字节为单位表示的首部长度,也就是首部长度最多为60个字节(15*4)。一般为20,如果没有option。

6个标志位:

URG  紧急指针有效

ACK 确认序列号有效

PSH 接收都应尽可能快将这个数据上交到应该程序

RST 重置这个连接

SYN 同步序列号,用于初始化连接

FIN 发送端结束发送数据

窗口大小:用来进行flow control

检验和:强制的。(发送端必须计算,接收端必须验证)

option:最常用的就是MSS(maximum segment size)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: