通信过程上下层关系


简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(1)

UDP简介

简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(2)

网络通信

是把数据直接发出去,而不管对方是不是在收信,就算是UDP无法送达,也不会产生ICMP差错报文。

概述

(1)UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能

(2)优点

(3)发送数据之前不需要建立连接

(4)UDP 的主机不需要维持复杂的连接状态表。

(5)UDP 用户数据报只有8个字节的首部开销。

(6)网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。

UDP数据包首部

简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(3)

UDP数据包

TCP简介

提供了一种可靠的数据传输服务,TCP是面向连接的,只有链接建立起来后才能通信。

优点

(1)面向连接

(2)可靠

(3)全双工

(4)面向字节流

TCP数据包头部

简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(4)

TCP数据包头

注:

数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

确认号:下一报文的序号

URG = 1 :紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)

ACK = 1 : 确认号字段才有效

PSK = 1 :尽快交付给接受进程

RST = 1 :严重错误,重新连接

SYN = 1 :链接请求

FIN = 1 :链接结束

选项字段:长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”

UDP和TCP对比:


简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(5)

TCP和UDP对比

概念:


简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(6)

1、UDP 报文头

可以看到,相比 TCP 报文,UDP 的报文的域相对少了很多,有源端口、目标端口、数据包长度、奇偶校验值、和用户数据来组成。

2、UDP 的特点

简单的报文结构,也就意味着 UDP 不像 TCP 那样支持错误重传、滑动窗口等精细控制,其特点如下:

3、UDP简介


简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(7)

(1)、面向非链接

UDP 是一个无连接的协议,连接之前,源端和终端之间不建立连接,当它想传送时,就简单的去抓取来自应用程序的数据,并尽可能快的把它扔到网络上。

在发送端,UDP 传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力、和传输带宽的限制。在接收端,UDP 把每个消息段放在队列中,应用程序每次从队列中读取一个消息段。

(2)、不维护链接状态,支持同时向多个客户端传输相同的信息

由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态。因此一台服务器可同时向多个客户机传输相同的消息。

(3)、数据包报头只有8个字节,额外开销较小

相对于 TCP 的20个字节,UDP 包的额外开销小很多。

(4)、吞吐量受限于数据生成速率、传输速率以及机器性能

吞吐量不受拥挤控制算法的调节,只受限于数据生成速率、传输带宽、源端和终端主机性能的限制。

(5)、尽最大努力交付、不保证可靠交付、不需要维持复杂的链接状态

(6)、面向报文,不对应用程序提交的报文信息进行拆分或者合并

发送方的 UDP 对应用程序交下来的报文,在添加首部后,就向下交付给 IP 层,

既不拆分,也不合并,而是保留这些报文的边界。因此,应用程序需要选择合适的报文大小。上层解决。

结论:


简述tcp和udp的优缺点 网络通信中的TCP和UDP的区别(8)

TCP 和 UDP 是 OSI 模型中的运输层中的协议,TCP 提供可靠的通信传输,而 UDP 则常被

用于让网络和细节控制交给应用层的通信传输,两者区别如下:

TCP:面向连接 VS UDP:面向无连接

1、TCP 有三次握手的连接过程,UDP 适合消息的多播发送,从单个点向多个点传输信息。

2、可靠 VS 不可靠

3、有序性(利用了序列号保证了消息报文顺序交付,到达可能无需,但是TCP最终会排序)VS无序

4、速度(慢:因为要创建链接,保证消息的可靠性,和有序性,需要做额外的很多事情)VS(快:速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏)

5、量级(重量级,20字节)VS轻量级:体现在源数据的头大小为8个字节

,