TCP与UDP

2021-06-17  本文已影响0人  fanren

一、TCP与IP网络模型

计算机与网络设备之间要互相通信,双方就必须基于相同的方法。比如,如何探测到通信目标,由哪一方发起通信,使用哪种语言等,这些通信规则,必须提前规定好;
不同的硬件、操作系统之间的通信,都遵循了一种规则,我们把这种规则成为协议(protocol)。
而TCP/IP模型是互联网的基础,它是一系列网络协议总称。这些协议可以划分为四层:

在网络体系结构中,网络通信的建立必须在通信双方的对等层进行,不能交错进行;
在整个数据传输过程中,数据在发送端时,经过各层时都要附加上相应层的协议头和协议尾(仅数据链路层需要封住协议尾),也就是对数据进行协议封装,以标识对应层所用的通信协议;

二、UDP

UDP全称用户数据报协议,在网络层,它与TCP协议一样用于处理数据包,是一种无连接的协议;
UDP处在OSI模型中的传输层;
UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点。也就是说,当报文发送之后,是无法得知其是否完整到达
特点:

1. 面向无连接

UDP发送数据前,不会通过握手建立连接(TCP需要),想发数据就发数据,只是当做一个数据的搬用工,不会对数据进行任何的拆分和拼接操作;

2. 有单播、多播、广播功能

UDP不止支持一对一的传输方式,同样支持一对多,多对一的方式;

3. UDP是面向报文的

发送方的UDP对应用程序传下来的报文,在添加协议头后,就交给IP层(网络层);
UDP对应用层的报文,既不合并,也不拆分,而是保留这些报文的辩解
因此,应用程序必须选择合适大小的报文;

4. 不可靠性

5. 头部开销小,传输报文是很高效的;

UDP头部包含以下数据:

三、TCP
当一台计算结想要与另一台计算机通讯时,两台计算机之间的通信需要畅通而且可靠,这样才能保证收发数据的准确;
例如:当你想查看电子邮件时,希望完整且按顺序查看网页,而不丢失任何内容;当你下载文件时,希望获得完整的文件,而不是文件的一部分。这是就用到了TCP;
TCP协议全称传输控制协议,是一种面向连接的、可靠地、基于字节流的传输层通信协议,由IETF的RFC793定义。
TCP是面向连接的、可靠的流协议;

1. TCP连接过程

三次握手

2. TCP断开连接过程

四次握手

3. TCP协议的特点

四、TCP和UDP比较

UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制
连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信
传输方式 面向报文 面向字节流
首部开销 首部开销小,仅8字节 首部最小20字节,最大60字节
适用场景 适用于实时应用(IP电话、视频会议、直播等) 适用于要求可靠传输的应用,例如文件传输
上一篇 下一篇

猜你喜欢

热点阅读