首页 > 试题广场 >

为什么说UDP是面向报文的,而TCP是面向字节流的?

[问答题]

为什么说UDP是面向报文的,而TCP是面向字节流的?


UDP是面向报文的:发送方的UDP对应用程序交下来的报文,在添加了首部之后就向下交付,UDP对应用层交付下来的报文即不合并也不拆分,而是保留这些报文的边界,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文,接收方UDP对下方交上来的UDP用户数据报,在去除首部之后就原封不动的交付给上层的应用程序,一次交付一个完整报文,所以是UDP是面向报文的

TCP是面向字节的:发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,可拆分/合并),但维持各字节流顺序(相对顺序没有变),TCP发送方有一个发送缓冲区,当应用程序传输的数据块太长,TCP就可以把它划分端一些再传输,如果应用程序一次只传输一个字节,那么TCP可以等待积累足够多的字节后再构成报文端发送出去,所以TCP的面向字节的

发表于 2020-06-01 14:13:56 回复(0)

发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。

接收方 UDP IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。

发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节

发表于 2017-05-17 04:50:18 回复(1)