TCP/UDP报文格式

TCP 协议为终端设备提供了面向连接的、可靠的网络服务,UDP 协议为终端设备提供了无连接的、不可靠的数据报服务。从上图我们可以看出,TCP 协议为了保证数据传输的可靠性,相对于UDP 报文,TCP 报文头部有更多的字段选项。

首先让我们来看一下 TCP 的报文头部主要字段:

每个 TCP 报文头部都包含源端口号(source port)和目的端口号(destination port),用于标识和区分源端设备和目的端设备的应用进程。在TCP/IP 协议栈中,源端口号和目的端口号分别与源IP 地址和目的IP 地址组成套接字(socket),唯一的确定一条TCP 连接。

序列号(Sequence number)字段用来标识TCP 源端设备向目的端设备发送的字节流,它表示在这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP 用序列号对每个字节进行计数。序列号是一个32bits 的数。

既然每个传输的字节都被计数,确认序号(Acknowledgement number,32bits)包含发送确认的一端所期望接收到的下一个序号。因此,确认序号应该是上次已成功收到的数据字节序列号加1。

TCP 的流量控制由连接的每一端通过声明的窗口大小(windows size)来提供。窗口大小用数据包来表示,例如Windows size=3, 表示一次可以发送三个数据包。窗口大小起始于确认字段指明的值,是一个16bits 字段。窗口大小可以调节。

校验和(checksum)字段用于校验TCP 报头部分和数据部分的正确性。

最常见的可选字段是 MSS(Maximum Segment Size,最大报文大小)。MSS指明本端所能够接收的最大长度的报文段。当一个TCP 连接建立时,连接的双方都要通告各自的MSS 协商可以传输的最大报文长度。我们常见的MSS有1024(以太网可达1460 字节)字节。

相对于 TCP 报文,UDP 报文只有少量的字段:源端口号、目的端口号、长度、校验和等,各个字段功能和TCP 报文相应字段一样。

UDP 报文没有可靠性保证和顺序保证字段,流量控制字段等,可靠性较差。当然,使用传输层UDP 服务的应用程序也有优势。正因为UDP 协议较少的控制选项,在数据传输过程中,延迟较小,数据传输效率较高,适合于对可靠性要求并不高的应用程序,或者可以保障可靠性的应用程序像DNS、 TFTP、SNMP 等;UDP 协议也可以用于传输链路可靠的网络。

收藏于 2009-07-22

TCP/UDP报文格式相关推荐

  1. TCP/UDP报文格式及各种通信机制简介

    TCP/UDP报文格式及各种通信机制简介 一.UDP报文 二.TCP报文 三.TCP通信机制 1,确认应答机制 2,超时重传机制 3,滑动窗口及快重传机制 4,流量控制 5,拥塞控制及慢启动机制 6, ...

  2. TCP/IP:TCP/UDP报文格式

    目录 TCP报文格式 UDP报文格式 TCP报文格式 报文格式 图1 TCP首部格式 字段 长度 含义 Source Port 16比特 源端口,标识哪个应用程序发送. Destination Por ...

  3. 网络基础知识(TCP/UDP报文格式)四

    1.TCP报文格式 源端口号: 占用16位,报文来自哪个端口. 目的端口号: 占用16位,报文要传输到哪个端口. Seq序列号: 占用32位,一次TCP通信(从TCP连接建立到断开)过程中某一个传输方 ...

  4. 网络编程培训之一 编程实现IP/TCP/UDP报文

    系列博客参考:http://blog.csdn.net/zy416548283/article/category/1108400 代码以编号对应放在Github上:https://github.com ...

  5. TCP和UDP报文格式

    TCP报文格式 源端口(Source port)和目的端口(Destination port) 各16 bits.IP地址标识互联网中的不同终端,端口号标识终端中的不同应用进程,具有本地意义.32位I ...

  6. tcp报文格式udp报文格式详解

    http://blog.csdn.net/a19881029/article/details/29557837 TCP(Transmission Control Protocol)传输控制协议是一种面 ...

  7. TCP报文格式+UDP报文格式+MAC帧格式

    TCP报文格式+UDP报文格式+MAC帧格式 TCP和UDP的区别: 1)TCP是面向连接的,而UDP是无连接的 2)TCP提供可靠服务,而UDP不提供可靠服务,只是尽最大努力交付报文 3)TCP面向 ...

  8. TCP/IP报文格式

    TCP/IP报文格式 修改浏览权限 | 删除 1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被 ...

  9. 54.UDP报文格式详解

    相比 TCP 协议,UDP 协议的报文结构相对简单.本节将详细讲解 UDP 报文的格式. UDP 报文格式 每个 UDP 报文分为 UDP 报头和 UDP 数据区两部分.报头由 4 个 16 位长(2 ...

最新文章

  1. 实践人生 —— 一个普通IT人的十年回顾(下)
  2. mysql设置edit_可以使用mysql自己带的config edit
  3. 【项目实战课】基于ncnn框架与KL散度的8bit对称模型量化与推理实战
  4. apache mesos_Apache Mesos:编写自己的分布式框架
  5. 联动椰树花式营销 完成债务重组的瑞幸又“站”了起来
  6. spring Bean的初始化和销毁 (使用注解)
  7. 温故而知新:查看端口占用情况以及DOS中的管道操作/重定向操作
  8. 【SpringBoot_ANNOTATIONS】 生命周期 02 实现InitializingBean, DisposableBean接口
  9. 区块链:5、匿名性和隐私性
  10. Excel·VBA考勤打卡记录统计结果
  11. 应用 1:千帆竞发 ——分布式锁
  12. 第三方支付接口申请条件和流程
  13. 01 自然语言处理NLP介绍
  14. backtrace, backtrace_symbols, backtrace_symbols_fd
  15. 排序算法——快速排序(图解+代码)
  16. [JQuery]关于使用jsp:include标签及%@ include标签时要注意的事项
  17. centos7安装harbor详细教程
  18. ubuntu16奥比中光相机标定
  19. NumPy库的入门使用
  20. vue3+aplayer+歌曲信息获取

热门文章

  1. win10 临时目录查看方法 【使用系统变量%tmp%查看】
  2. 高性能可编程射频移相器介绍
  3. java 高斯滤波_Java 实现高斯模糊和图像的空间卷积
  4. ufei启动+GPT安装win7
  5. 我和我的摄友们(合影)
  6. 毕业论文的word目录右侧无法对齐
  7. html5 冰块,酸甜冰块的做法
  8. vue 左树右表增加左右拖拽的功能
  9. 论文阅读+代价函数+激活函数
  10. 如何用Nginx访问图片服务器的图片