TCP协议笔记

TCP传输控制协议(Transmission Control Protocol)的缩写,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP在因特网协议族(TCP/IP协议族)中担任主要的传输协议,为许多应用程序(如Web浏览器和电子邮件客户端)提供可靠的数据传输服务。

TCP的主要作用是在网络中提供可靠的、面向连接的通信。它确保数据在传输过程中不会丢失、重复或乱序,同时提供拥塞控制机制,以避免网络拥塞。

TCP的主要功能和特点包括:建立连接数据传输(可靠传输)连接终止错误控制面向连接顺序控制流量控制拥塞控制

  • 建立链接:三次握手

三次握手的过程:SYN(同步序列号)+ ACK(确认号)+ SYN+ACK+ PSH(推数据)-> ACK。通过这个过程,两个应用程序可以建立一条可靠的通信链路

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

  • 连接终止四次挥手 

四次挥手过程:FIN(结束)+ ACK(确认号)+ PSH(推数据)+ ACK -> ACK。通过这个过程,两个应用程序可以安全地关闭连接。

  • 数据传输(TCP的可靠传输):
  • 序号和确认:TCP给每个传输的数据包分配一个序号,并确保接收端按照顺序接收数据包。如果某个数据包丢失,TCP会重新发送该数据包,直到接收端确认成功接收。
  • 错误检查:TCP使用校验和函数来检查数据在传输过程中是否出现错误,发送和接收时都会计算校验和,确保数据的完整性。
  • 重传机制:如果发送端在合理的时间内未收到接收端的确认,TCP会假设数据包丢失,并重新发送该数据包,直到收到确认或达到最大重传次数。
  • 错误控制:

主要通过序号与确认机制、‌超时与重传机制以及滑动窗口机制来实现。 

  • 面向连接:

TCP要求在通信前建立连接,并在通信结束后关闭连接。这种连接方式提供了可靠的通信机制,保证了数据的传输可靠性。 

  • 顺序控制:

TCP使用序列号对数据包进行标识,以便接收方按正确顺序重新组合数据流。如果接收到的数据包序列号不正确,接收方将通知发送方重新发送数据包。

  • 流量控制:

TCP使用滑动窗口机制进行流量控制。发送方窗口的大小决定了它可以同时发送的数据量,接收方窗口的大小决定了它可以同时接收的数据量。这种机制可以避免网络拥塞并确保通信的稳定性。

  • 拥塞控制:

当网络拥塞时,TCP会通过减小发送速率来控制拥塞。它使用一系列算法(如慢启动、拥塞避免、快重传和快恢复)来动态地调整发送速率,以避免网络拥塞并确保通信质量。

 

TCP协议建立的连接是双向连接


 面向连接:在数据传输之前,收发双方需要预先建立一条逻辑通路。
 无面向连接。
 

TCP协议头部结构 

 

序列号(32bit)seq
确认序列号(32bit)ack

标志位(6bit)
SYN---同步位---是在TCP三次握手建立通道时的标记(连接报文段)
ACK---确认位---当该标记位置为1时,确认序列号有意义(确认报文段)
FIN---代表释放TCP连接(断开报文段)

窗口(32bit)接受窗口,告知发送放本方还能接受多少字节数据。用于解决流量控制。

校验和(16bit) CRC检验

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

MSS---最大传输段===MTU-IP头部-TCP头部

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

可靠性

  • 确认机制----每收到一个TCP数据段,都需要发送一次确认报文。
  • 重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。
  • 排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱, 需要根据序列号字段进行重新排序。
  • 流控机制(滑动窗口机制):可以通过调节窗口大小(Windows)来对流量进行控制

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值