UDP和TCP协议报文格式详解

这篇具有很好参考价值的文章主要介绍了UDP和TCP协议报文格式详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在初识网络原理(初识网络原理_蜡笔小心眼子!的博客-CSDN博客)这篇博客中,我们简单的了解了一下TCP/IP五层网络模型,这篇博客将详细的学习一下五层网络模型中传输层的两个著名协议:UDP和TCP

目录

一, 传输层的作用

二, UDP

1,UDP协议的特点

2,UDP报文格式

三, TCP

1,TCP协议的特点

2,TCP报文格式

四, UDP和TCP的对比


一, 传输层的作用

传输层主要解决的是端对端的数据传输,所以该层的协议会包含端口号这样的信息(目的端口和源端口),端口绑定的是一个主机上的某一程序的,这样在进行数据传输的时候才知道被哪个应用程序接收(注意:一个端口号只能被一个应用程序绑定,但是一个应用程序可以对应多个端口号),端口号的取值范围是0-65535,其中0-1023这个范围的端口被称为"知名端口号/具名端口号",这些端口号已经分配给了一些知名且广泛使用的应用程序了,所以我们在写代码时,不建议使用这个范围内的端口号.

二, UDP

1,UDP协议的特点

无连接 通信双方不需要建立对彼此的连接就可以进行数据传输
不可靠传输 UDP协议没有相应的机制可以检验数据是否安全到达对端
面向数据报 数据传输都是以一个完整的数据报为单位
全双工 通信双方既可以接收数据也可以发送数据

2,UDP报文格式

我们在研究一个协议的时候,主要是参考该协议的报文结构,观察报文有哪些部分组成,这样才可以更好的理解该协议的工作原理:

UDP和TCP协议报文格式详解,计算机基础学习,udp,tcp/ip,网络协议任何一个计算机网络的教科书对于UDP协议的报文结构的画图方式都是如此,因为书本为了排版方便,实际上的的报文结构应该如下:

UDP和TCP协议报文格式详解,计算机基础学习,udp,tcp/ip,网络协议

UDP报文结构由UDP报头和UDP载荷两部分构成,UDP报头由源端口,目的端口,UDP报文长度和校验和构成,其中每个部分占2个字节,共8个字节.

  • 源端口:表示发送方所绑定的进程
  • 目的端口:接收方所绑定的进程
  • UDP报文长度:表示UDP报文的长度是2个字节,共64kb
  • 检验和:主要用来校验接收的数据是否是发送方传输的数据

注意:

1,如果应用层数据报超过64kb该怎么办?

应用层数据报如果超过64kb(即两个字节),有两种解决办法:1.需要在应用层通过代码的方式针对数据报进行拆分,拆成多个包进行传输,此时需要send多次,没进行一次send就会多一次数据封装分用的过程,故开销较大,一般不采用此方法;2.不用UDP协议,采用TCP协议,TCP没有对传输数据的大小进行限制.

2,校验和是如何进行校验的?

校验和用来检验传输的数据是否正确,因为网络传输的过程中,可能会受到一些干扰,造成"比特翻转"的情况(0011变成0010),这样可能会带来不可预估的灾难,同时这种现象是客观存在且不可避免的,因此校验的作用是尤为重要的,主要的工作原理如下:

UDP和TCP协议报文格式详解,计算机基础学习,udp,tcp/ip,网络协议

如果内容相同,得到的校验和一定相同;但是计算得到的校验和相同,内容不一定相同,但是这种情况理论上很少出现,所以忽略不计.

三, TCP

1,TCP协议的特点

有连接 通信双方需要先建立对彼此的连接才可以进行数据传输
可靠传输 TCP协议有相应的机制可以检验数据是否安全到达对端
面向字节流 数据传输都是以一个字节一个字节为单位
全双工 通信双方既可以接收数据也可以发送数据

2,TCP报文格式

UDP和TCP协议报文格式详解,计算机基础学习,udp,tcp/ip,网络协议

  • 源端口,目的端口和校验和同UDP,不作赘述
  • 4位首部长度:一个TCP报头长度是可变的,首部长度的单位不是字节,而是4个字节,如果首部长度值是5,那么整个报文的长度就是20个字节
  • 选项:选项相当于对TCP报文的一些属性进行解释说明的
  • 保留位:保留位是为了开发的可扩展性考虑的,这个功能暂时可能不需要,但是保不齐以后会用到,这样就可以使用保留位的存储空间对程序进行扩展了,代价较小
  • 序号,确认序号和窗口大小后续在讲解TCP机制的时候再详细介绍

四, UDP和TCP的对比

TCP与UDP的主要区别就是TCP是可靠连接,但是并不是说明TCP就是优于UDP,UDP在不考虑网络环境或者在局域网内,通常效率更高,因为UDP没有一系列的机制来控制数据的传输:文章来源地址https://www.toymoban.com/news/detail-694872.html

  • TCP用于可靠传输的情况,应用于文件传输,重要状态更新等场景;
  • UDP用于对高速传输和实时性要求较高的通信领域,例如,早期的QQ,视频传输等。另外UDP可以用于广播;

到了这里,关于UDP和TCP协议报文格式详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络-传输层(UDP协议报文格式,伪首部,UDP校验过程)

    UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。 UDP的主要特点: UDP是无连接的,减少开销和发送数据之前的时延。 UDP使用最大努力交付,即不保证可靠交付。 UDP是面向报文的,适合一次性传输少量数据的网终应用。 应用层给UDP多长的报文,UDP就照样

    2023年04月25日
    浏览(33)
  • 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理

    物理层是TCP/IP模型的最底层,物理层定义其设备的 物理特性、电气特性 等,比如 网络接口卡、中继器、集线器、网线、无线电 。 物理层作用确保设备之间连接正常,包括建立、维护和断开物理连接等,物理层传输数据是通过电信号中的高低电压和低电压,也就是0101010的比

    2024年02月02日
    浏览(79)
  • 完整版:TCP、UDP报文格式

    目录 TCP报文格式 报文格式 报文示例 UDP报文格式 报文格式 报文示例 报文格式 图1 TCP首部格式 字段 长度 含义 Source Port 16比特 源端口,标识哪个应用程序发送。 Destination Port 16比特 目的端口,标识哪个应用程序接收。 Sequence Number 32比特 序号字段。TCP链接中传输的数据流中每

    2024年02月13日
    浏览(27)
  • TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式

    目录 一、什么是IP分片 二,为什么要进行IP分片 三、IP分片原理及分析 标志字段的作用  下面是标志位在IP首部中的格式以及各个标志的意义:  TTL  Protocol 协议号 分片包文示例: 分片偏移量计算方法:  第一个分片:  第二个分片:  第三个分片: IP分片是网络上传输IP报

    2024年02月02日
    浏览(41)
  • 计算机网络编程——UDP详解

    UDP(User Datagram Protocol)是一种在网络通信中使用的传输层协议。与TCP(Transmission Control Protocol)相比,UDP是一种无连接的协议,这意味着它不像TCP那样在通信的开始和结束时需要建立和终止连接。   无连接性: UDP是无连接的协议,这意味着通信的双方不需要在通信之前建立

    2024年02月05日
    浏览(33)
  • 【计算机网络】TCP协议与UDP协议详解

    文章目录 一、传输层 1、1 再次理解传输层 1、2 再次理解端口号 1、2、1 端口号范围划分 1、2、2 认识知名端口号 1、3 网络常用指令netstat 与 pidof 二、UDP协议 2、1 UDP协议的报文 2、2 UDP的特点  2、3 UDP的缓冲区 三、TCP协议 3、1 TCP协议的报文 3、2 确认应答 3、3 按序到达 3、

    2024年02月08日
    浏览(40)
  • 计算机网络基础(四)—— 什么是TCP/IP协议?是两种网络协议?

    字面上的意思,很多人看到会以为TCP/IP协议说的就是两种协议TCP和IP。 它指的确实是这两种协议,但很多时候,他还有另一个说法“TCP/IP协议簇”,指的是利用IP进行通信时所必须用到的协议群的统称,诸如IP、HTTP、FTP等都属于其中的一种协议。 TCP/IP是Internet的核心协议,是

    2024年02月04日
    浏览(110)
  • 【socket】从计算机网络基础到socket编程——Windows && Linux C语言 + Python实现(TCP+UDP)

    简单讲一下基础知识,便于后面代码的理解,建议大概浏览一下这一小节内容。这里讲的只是冰山一角,建议大家学习计算机网络相关知识,推荐几本书: 《计算机网络》(谢希仁) 《计算机网络 自顶向下方法》 《计算机网络技术》 《计算机网络基础及应用》 《Linux C从入

    2024年02月08日
    浏览(40)
  • 【网络协议】TCP报文格式

    1.源端口和目的端口 源端口字段占16比特,用来写入源端口号。源端口号用来标识发送该TCP报文段的应用进程。 目的端口字段占16比特,用来写入目的端口号。目的端口号用来标识接收该TCP报文段的应用进程。 2.序号 当序号增加到最后一个时,下一个序号又回到0。序号字段的

    2024年02月07日
    浏览(35)
  • 【业务领域】以太Mac/IP/UDP/TCP报文格式简介

    长度/类型域段: VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。当交换机接入较多的终端时,任意一

    2024年01月22日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包