diff --git a/README.md b/README.md index bfdd0d3..9e209f8 100755 --- a/README.md +++ b/README.md @@ -72,6 +72,10 @@ * [TCP和UDP区别](./problems/TCP和UDP区别.md) +* [TCP和UDP各自的有点](./problems/TCP和UDP的区别.md) + +* [TCP和UDP的首部长什么样子](./problems/TCP和UDP首部长什么样子?.md) + * [TCP和UDP头部字节定义](./problems/TCP和UDP头部字节定义.md) * [TCP和UDP三次握手和四次挥手状态及消息类型](./problems/TCP和UDP三次握手和四次挥手状态及消息类型.md) diff --git "a/problems/TCP\345\222\214UDP\347\232\204\345\214\272\345\210\253.md" "b/problems/TCP\345\222\214UDP\347\232\204\345\214\272\345\210\253.md" new file mode 100644 index 0000000..37caa56 --- /dev/null +++ "b/problems/TCP\345\222\214UDP\347\232\204\345\214\272\345\210\253.md" @@ -0,0 +1,49 @@ +### TCP 和 UDP 各自的优点 + +1.连接 + +TCP是⾯向连接的,在传输前需要三次握⼿建⽴连接,UDP不需要连接,即刻传输数据。 + +2、服务形式 + +TCP只能⼀对⼀,点对点服务,UDP⽀持⼀对⼀、⼀对多、多对多通信。 + +3、可靠性(传输的数据) + +TCP保证数据可靠交付,拥有**确认应答**和**重传机制**,⽆重复、不丢失、按序到达; + +UDP尽可能交付,不保证可靠性。 + +4、连接控制机制(传输路途) + +TCP拥有流量控制、拥塞控制,保证传输安全性等,UDP在⽹络拥堵情况下不会降低发送速率。 + +5、⾸部⼤⼩ + +TCP⾸部⻓度不使⽤选项字段是20字节,使⽤选项字段⻓度增加(可变) + +8 位 = 1 字节 + +image-20220328231152943 + +UDP⾸部固定8字节。 + +image-20220328231247292 + +6、数据格式 + +TCP基于字节流,没有边界,但是保证传输顺序和可靠性; + +UDP继承了IP层特性,基于数据包,有边界可能出现乱序和丢包。 + +7、分⽚⽅式 + +TCP数据⼤于 MSS 时会在TCP层将数据进⾏分⽚传输,到达⽬的地后同样在传输层进⾏合并,如果有某个⽚丢失则只需要重传丢失的分⽚即可; + +UDP数据⼤于MTU时会在IP层分⽚,同样也在⽬的IP层合并,如果某个IP分⽚丢失,则需要将所有分⽚都进⾏重传,开销⼤。 + +8.应用场景 + +TCP:FTP 文件传输;Http/Https + +UDP:视频音频等多媒体通信;广播通知;包总量较少的通信,如 DNS ,SNMP \ No newline at end of file diff --git "a/problems/TCP\345\222\214UDP\347\232\204\351\246\226\351\203\250\351\225\277\344\273\200\344\271\210\346\240\267\345\255\220\357\274\237.md" "b/problems/TCP\345\222\214UDP\347\232\204\351\246\226\351\203\250\351\225\277\344\273\200\344\271\210\346\240\267\345\255\220\357\274\237.md" new file mode 100644 index 0000000..8a75fb6 --- /dev/null +++ "b/problems/TCP\345\222\214UDP\347\232\204\351\246\226\351\203\250\351\225\277\344\273\200\344\271\210\346\240\267\345\255\220\357\274\237.md" @@ -0,0 +1,11 @@ +TCP和UDP的首部如下: + +TCP⾸部⻓度不使⽤选项字段是20字节,使⽤选项字段⻓度增加(可变) + +8 位 = 1 字节 + +image-20220328231152943 + +UDP⾸部固定8字节。 + +image-20220328231247292 \ No newline at end of file