系列TCP/IP协议-TCP协议概述(011)

栏目: 服务器 · 发布时间: 6年前

内容简介:TCP协议(Transmission Control Protocol 传输控制协议)不同于UDP协议,它是一个面向连接(一对一)的,可靠(做了差错控制)的字节流(不限长度)服务。TCP的可靠性通过下面方式来控制:TCP数据包是封装在IP数据包中的TCP首部,如果不计算任选字段,通常为20个字节。

TCP协议(Transmission Control Protocol 传输控制协议)不同于UDP协议,它是一个面向连接(一对一)的,可靠(做了差错控制)的字节流(不限长度)服务。TCP的可靠性通过下面方式来控制:

  • 将应用数据分割成TCP认为最合适长度的数据块。减少IP层的分片现象的发生。
  • 当TCP发送一份数据包后,它启动一个定时器,等待目的端确认收到这份数据包。如果不能及时收到一个确认,将重发该数据包。确定对方收到数据了。
  • 当TCP接收端收到一个数据包时候,会发送一份确认数据包。告诉对方已经收到数据了。
  • TCP将对它的首部和数据部分做校验和。防止传输中出错。
  • TCP会对收到的数据进行排序,按照正确的顺序提交给应用。
  • TCP会抛弃重复的数据。
  • TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。

二、TCP数据包结构

TCP数据包是封装在IP数据包中的

系列TCP/IP协议-TCP协议概述(011)

TCP首部,如果不计算任选字段,通常为20个字节。

系列TCP/IP协议-TCP协议概述(011)
  • 每个TCP段都包含源端和目的端的端口号。
  • 序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。
  • 既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。
  • 首部长度给出首部中32bit(一个字,两个字节)的数目。长度为4bit。需要这个值是因为任选字段的长度是可变的。
  • 在TCP首部中有6个标志比特。
    • URG:紧急指针( urgent pointer)有效。
    • ACK:确认序号有效。
    • PSH:接收方应该尽快将这个数据包交给应用层。
    • RST:重新建立连接。
    • SYN:同步序号用来发起一个连接。只有在三次握手的时候才会有。
    • FIN:发送端完成发送任务。只有在结束时候才有。
  • 窗口大小:TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。
  • 检验和:覆盖了整个的 TCP数据包。
  • 紧急指针:当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。
  • 最常见的可选字段是最长报文大小,又称为 MSS(Maximum Segment Size)。

都看到这里了,要不要扫二维码关注一下微信公众号 林湾村龙猫

系列TCP/IP协议-TCP协议概述(011)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术(第1卷)

计算机程序设计艺术(第1卷)

[美] 唐纳德·E. 克努特 / 苏运霖 / 国防工业出版社 / 2002-9 / 98.00元

7卷本《计算机程序设计艺术》的第1卷以基本的程序设计概念和技术开始,然后专注于信息结构——计算机内部信息的表示、数据元素之间的结构关系以及如何有效地处理它们,给出了对于模拟、数值方法、符号计算、软件和系统设计的初等应用。书中附有大量习题和答案,标明了难易程序及数学概念的使用。 此新版本增加了几十项简单且重要的算法和技术,并对有关数学预备知识作了大量修改以适应现时研究的趋势。一起来看看 《计算机程序设计艺术(第1卷)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具