这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
好的,我们来详细介绍一下 UDP 和 TCP/IP。这是一个计算机网络的核心概念。 首先,需要澄清一个常见的误解:TCP/IP 是一个协族(一组协议),而 UDP 是这个家族中的一员。它们通常被放在一起比较,是因为它们都工作在传输层,但提供了完全不同的服务。 为了更清晰,我们将内容分为几个部分: TCP/IP 协议族概述传输层简介 用户数据报协议(UDP)详细介绍 传输控制协议(TCP)详细介绍 UDP 与 TCP 的核心对比
1. TCP/IP 协议族概述
TCP/IP 是一套用于互联网通信的协议族,它得名于其中两个最重要的协议:TCP 和 IP。它遵循一个四层模型(有时也会被映射到 OSI 七层模型)。
TCP/IP 模型层 核心协议 功能简介
应用层HTTP, HTTPS, FTP, DNS, SMTP为应用程序提供网络服务,定义数据格式。
传输层TCP, UDP提供端到端的通信,负责数据的分段、传输和流量控制。
网络层IP, ICMP, ARP负责将数据包从源主机路由到目标主机(寻址和路由)。
网络接口层Ethernet, WiFi负责在物理网络上传输原始数据帧。
IP 协议 是网络层的核心,它提供了不可靠的、无连接的数据包传输服务。它只关心将数据包从源头送到目的地,但不保证顺序、不保证送达、也不进行错误恢复。这个“智能”的任务就交给了传输层。 2. 传输层简介传输层位于应用层和网络层之间,它的主要目标是为运行在不同主机上的应用进程提供逻辑通信它通过端口号来区分同一主机上的不同应用程序。 传输层有两个主要协议:UDP 和 TCP。它们本质上是为应用程序提供了两种不同的“运输服务”。 3. 用户数据报协议(UDP)详细介绍UDP 是一个非常简单、轻量级的传输层协议。 核心特点:无连接:
在发送数据之前不需要先建立连接。直接发送即可。 优点:减少了建立和断开连接的开销,延迟极低。
不可靠交付: 面向报文:
优点:速度快、延迟低:没有连接建立和确认的开销。 头部开销小:只有 8 字节,而 TCP 有 20 字节或更多。 无连接状态:服务器无需为每个客户端维护连接状态,可以支持大量并发客户端。 应用层可控:应用可以构建自己所需的任何可靠性或流量控制机制,更加灵活。
4. 传输控制协议(TCP)详细介绍TCP 被设计为一个可靠的、面向连接的字节流协议。 核心特点:面向连接:
可靠传输:通过以下机制保证: 确认和重传:接收方收到数据后会发送确认(ACK)。如果发送方在一定时间内没有收到 ACK,就认为数据丢失并重新发送。 序列号和确认号:每个字节都被编号。序列号保证了数据能按顺序组装,确认号告诉发送方下一个期望接收的字节序号。 校验和:用于检测数据在传输中的任何错误,有错误则丢弃并重传。
流量控制: 拥塞控制: 面向字节流:
5. UDP 与 TCP 的核心对比
特性 TCP(传输控制协议) UDP(用户数据报协议)
连接性面向连接(三次握手)无连接
可靠性可靠(确认、重传、排序)不可靠(可能丢失、乱序)
传输单位面向字节流面向报文(数据报)
速度与延迟较慢,延迟较高(有连接和确认开销)极快,延迟低(无开销)
流量控制有(滑动窗口)无
拥塞控制有(复杂算法)无(可能加剧网络拥堵)
头部开销大(至少20字节)小(8字节)
数据顺序保证按顺序到达不保证顺序
连接数量一对一支持一对一、一对多、多对多
总结一下:
|