TCP

本文详细介绍了TCP协议的首部字段,包括源端口、目的端口、序号、确认号等,并探讨了TCP的特点,如面向连接、可靠传输等。此外,还详细阐述了TCP的三个重要问题——可靠传输、流量控制和拥塞避免。在连接管理部分,讲解了TCP的三次握手和四次挥手过程,以及2MSL问题。最后提到了TCP/IP中的四种定时器:重传计时器、坚持计时器、保活计时器和时间等待计时器的作用。
摘要由CSDN通过智能技术生成

关于TCP协议是网络中很重要的一个协议,这个协议自然需要好好看看。我们从TCP的首部来一点一滴的深入理解这个协议。

1. TCP首部介绍


![enter description here][1]

首先介绍首部字段:

源端口和目的端口: 提供复用和分用,应用层的进程都可以通过传输层再传输到IP层,这就是复用,分用就是传输层从IP层收到数据后必须交付给指明的应用层应用进程。

序号: TCP为传送的字节流每一个字节进行按照顺序编号,序号是本报文段的第一个字节编号,序号和确认号主要是为了数据的可靠性进行的多方面的考虑。

确认号: 确认号就是期望收到对方的下一个报文段的第一个数据字节的序号。当确认号位N,则表示N-1之前的数据都已经收到了。

首部长度: 说明TCP报文段的首部长度,取值范围5-15,按照四字节对齐,所以首部长度范围也就是20字节-60字节。

保留位: 目前全为0,提供给以后使用

URG: URG为1的时候,此时紧急指针是有效的,此时会告诉操作系统此报文段有紧急数据,应当尽快传送,紧急数据说的就是数据从第一个字节到紧急指针的内容。不进入接收缓冲,就直接交给上层进程,其他数据都是要进入接收缓冲的。URG不进入缓冲。

ACK: ACK是用来确认的,当ACK为1的时候,确认字段有效,ACK为0,确认字段无效。

PSH: PSH是在两个应用的进程在进行通信的时候,当一方的进程希望输入命令以后立即就能够收到对方的响应,此时就使用PUSH。PSH=1,此时就立即创建一个报文发送出去,接收方收到这个报文段以后,直接交付给应用进程,不在等到整个缓存都填满了再向上交付。交付依然在缓冲区。

RST: RST叫做重置位,当RST为1,此时说明连接中出现重大差错,此时必须释放连接,然后重新建立连接。

SYN: 用来同步序号,连接建立时,SYN=1,表示一个连接请求或链接接受报文。

FIN: 用来释放一个连接,FIN=1的时候,此时表示此报文段发送方数据全部发送完,释放连接。

窗口大小: 窗口大小,指的是发送本报文段的一方的接收窗口,窗口值作为接收方让发送方设置其发送窗口的依据,窗口值告诉对方,从本报文段首部中的确认号算起,接收方允许对方发送的的数据量。窗口字段明确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值