为什么说TCP报文段是面向字节流的,UDP包是面向数据报的
来源:互联网 发布:python kmeans 编辑:程序博客网 时间:2024/06/05 19:38
为什么说TCP报文段是面向字节流的,UDP包是面向数据报的?
面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。
虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流。TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。如果应用程序一次只发送一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。
在TCP建立连接前两次握手的SYN报文中选项字段的MSS值,通信双方商定通信的最大报文长度。如果应用层交付下来的数据过大,就会对数据分段,然后发送;否则通过滑动窗口协议来控制通信双发的数据。
阅读全文
0 0
- 为什么说TCP报文段是面向字节流的,UDP包是面向数据报的
- 面向报文UDP和面向字节流TCP的区别
- 为什么TCP传输单元叫作TCP报文段,而UDP的叫作UDP数据报
- 为什么TCP是面向连接的,UDP是无连接的
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别之二
- 面向报文(UDP)和面向字节流(TCP)的区别
- 面向报文(UDP)和面向字节流(TCP)的区别
- 为什么说IP和UDP是不可靠的,而TCP是可靠的
- TCP报文段、UDP数据报、IP数据报区别
- 为什么说java是面向对象呢?
- java中处理高精度大数字的类 BigDecimal, BigInteger
- TCP三次握手和四次挥手详解
- base64ToFile和fileToBase64
- codevs 1025 选菜 背包问题 解题报告
- android深入解析Activity的launchMode启动模式,Intent Flag,taskAffinity
- 为什么说TCP报文段是面向字节流的,UDP包是面向数据报的
- gSOAP编译和学习
- 欢迎使用CSDN-markdown编辑器
- 夜灵的Html笔记Day03——列表、H5结构标记、表单、Iframe
- 软件测试的管理问题
- jsonp
- 动态规划 ② HDU
- 搭建dubbo+zookeeper环境
- Kafka stream 开发碰到的问题:offset commit 失败 与 数据不准确