(学习笔记-TCP基础知识)TCP与UDP区别

UDP

UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。

UDP协议非常简单,头部只有8个字节(位),UDP的头部格式如下:

  • 目标和源端口:主要是告诉UDP协议应该把报文发给哪个进程
  • 包长度:该字段保存了UDP首部的长度跟数据的长度之和
  • 校验和:提供可靠的UDP首部和数据而设计,防止收到网络传输中受损的UDP包

TCP

TCP是面向连接的、可靠的、基于字节流的传输层通信协议

TCP的头部格式大概如下:


区别

  1. 连接
  • TCP是面向连接的传输层协议,传输数据前要先建立连接
  • UDP是不需要连接,即刻传输数据。
  1. 服务对象
  • TCP是一对一的两点服务,即一条连接只有两个端点
  • UDP支持一对一、一对多、多对多的交互通信
  1. 可靠性
  • TCP是可靠交付数据的,数据可以无差错、不丢失、不重复、按序到达
  • UDP是尽最大努力交付,不保证可靠交付数据。但是我们可以基于UDP传输协议实现一个可靠的传输协议,比如QUIC协议
  1. 拥塞控制、流量控制
  • TCP有控拥塞控制和流量控制机制,保证数据传输的安全性
  • UDP则没有,即使网络非常拥堵,也不会影响UDP的发送速率
  1. 首部开销
  • TCP首部长度较长,会有一定的开销,首部在没有使用选项字段的时候是20个字节,如果使用了会更长
  • UDP首部长度只有8个字节,并且是固定不变的,开销较小
  1. 传输方式
  • TCP是流式传输、没有边界,但保证顺序和可靠
  • UDP是一个包一个包的发送,是有边界的,但可能会丢包和乱序。
  1. 分片不同
  • TCP的数据大小如果大于MSS大小,则会在传输层进行分片,目标主机收到后,也同样在传输层组装TCP数据包,如果中途丢失了一个分片,只需要传输丢失的这个分片。
  • UDP的数据大小如果大于MTU大小,则会在IP层进行分片,目标主机收到后,在IP层组装完数据。

应用场景

由于TCP是面向连接,能保证数据的可靠性交付,经常用于:

  • FTP文件传输
  • HTTP/HTTPS

由于UDP面向无连接,它可以随时发送数据,再加上UDP本身的处理简单高效,因此经常用于:

  • 包总量较少的通信,如DNS、SNMP
  • 视频、音频等多媒体通信
  • 广播通信

问题

1. 为什么UDP头部没有首部长度字段,而TCP头部有首部长度字段呢?

原因:TCP有可变长的选项字段,而UDP头部长度是不会变化的,无需多一个字段去记录UDP的首部长度。

2. TCP和UDP可以使用同一个端口吗?

可以

在数据链路层中,通过MAC地址来寻找局域网中的主机。在网络层中通过IP地址来寻找网络中互连的主机或路由器。在传输层中,需要通过端口号进行寻址,来识别统一计算机中同时通信的不同应用程序。

所以,传输层的端口号的作用是为了区分同一个主机上不同应用程序的数据包。

传输层有两个传输协议分别是TCP 和UDP ,在内核中是两个完全独立的软件模块。

当主机收到数据包后,可以在IP包头的协议号字段知道该数据包是TCP/UDP,所以可以根据这个信息确定送给哪个模块(TCP/UDP)处理,送给TCP/UDP模块的报文根据端口号确定送给哪个应用程序处理。

因此,TCP/UDP各自的端口号也相互独立,如TCP有一个80的端口号,UDP也可以有一个80的端口号,并不冲突。

相关推荐
田里的水稻1 小时前
EI_模仿学习IL---工程链路
人工智能·深度学习·学习·机器学习·迁移学习
Linux-lucky1 小时前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
XHGILY3331 小时前
职业院校实习计划制定:科学规划与落地执行策略深度解析
学习
Xudde.1 小时前
CVE-2017-9993漏洞复现
笔记·学习·安全·web安全
程序员zgh2 小时前
C++ erase() 函数用法
c语言·开发语言·c++·学习
mlidongfeng2 小时前
【学习】 NVIDIA CFT(Compute Fabric Transport)特性分析
人工智能·学习·fabric
FakeOccupational2 小时前
【电路笔记 STM32】Cortex-M7 UART 中断模式(串口接收中断+串口空闲中断)
笔记·stm32·单片机
小李不想当小白2 小时前
USART串口协议(STM32标准库学习笔记)
经验分享·笔记·stm32·单片机·嵌入式硬件·学习
AOI小白新手上路3 小时前
视频去雨·论文蒸馏笔记:从物理先验到状态空间模型
数据库·笔记·音视频
AOI小白新手上路4 小时前
DRSformer·论文蒸馏笔记:可学习 Top-k 稀疏注意力去雨网络
网络·笔记·学习