TCP协议

TCP协议(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

它位于OSI模型的传输层,在IP协议之上,为应用层提供可靠的数据传输服务。

OSI模型

TCP协议通过三次握手建立连接,通过四次挥手断开连接,确保数据的可靠传输。TCP协议建立的连接是双向连接。

Source Port:源端口号              Destination Port:目标端口号           Data Offset:数据的偏移 

Sequence Number(序列号):是一种唯一的数字或字母标识码。序列号具有全球唯一性,确保每个产品或软件实例都能被唯一识别。(Seq)

Acknowledgment Number(确认序列号):是接收方期望从发送方接收的下一个数据字节的序号。它用于TCP的可靠传输机制中,以确保数据的有序和完整传输。(Ackeq)

TCP使用序列号和确认序列号字段实现数据的可靠和有序传输。

6位标志位 

SYN---同步位---是在TCP三次握手建立通道时的标记

ACK---确认位---当该标记位置为1时,确认序列号有意义

FIN---代表释放TCP连接

Window:窗口信息         Checksum:校验和(校验信息是否正确)       

Urgent Pointer:紧急指针(与标志位URG联用)

有了TCP,Data不允许分片

TCP分段:因为IP分片后,TCP协议无法保证数据的可靠性传输;故而使用TCP协议进行封装的文件不允 许进行IP分片,而又因为MTU存在,需要将大文件分为小文件,该操作由TCP协议完成。

MSS---最大传输段===MTU-IP头部-TCP头部:指的是数据Data

在TCP协议中,每一个报文都需要有序列号信息。

Seq(新)=Seq(原)+Data

一、主要特性:

1.面向连接:TCP在传输数据前,必须通过三次握手建立连接,确保双方都能正常通信(即在数据传输之前,收发双方需要预先建立一条逻辑通路)。

序列号和确认序列号作用:

1)确认接收:确认序列号表示接收方已成功接收到序号小于该值的所有数据字节,并向发送方发送确认信息。
2)流量控制:通过确认序列号,接收方可以告知发送方其接收窗口的大小,从而控制数据的发送速率,避免网络拥塞。
3)错误检测与重传:如果发送方在指定时间内未收到接收方对某个数据包的确认序列号,它将认为该数据包已丢失,并重新发送该数据包。

每消耗一个值seq/ackeq的值加1

TCP协议的核心机制

1)三次握手(建立连接)

2)四次挥手(断开重连)

MSL(120S):指一个数据包在网络中传递的最大时间。

2.可靠性:TCP通过确认应答、超时重传、排序机制、控流机制,确保数据的可靠传输。

1)确认机制----每收到一个TCP数据段,都需要发送一次确认报文。

2)重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。

3)排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱, 需要根据序列号字段进行重新排序。 

4)流控机制(滑动窗口机制):可以通过调节窗口大小(Windows)来对流量进行控制

3.有序性:TCP会将接收到的数据按照发送顺序进行排序,确保数据的顺序性。

4.全双工通信:TCP允许数据在两个方向上同时传输,提高了通信效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值