zoukankan      html  css  js  c++  java
  • TCP与UDP区别小结

    1. TCP(Transmission Control Protocol):传输控制协议
    2. UDP(User Datagram Protocol):用户数据报协议
     
        主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Heavy/Light weight)、头部大小(Header size)等8个方面来讲:
     
    1. TCP是面向连接(Connection oriented)的协议,UDP是无连接(Connection less)协议;
        TCP用三次握手建立连接:1) Client向server发送SYN;2) Server接收到SYN,回复Client一个SYN-ACK;3) Client接收到SYN_ACK,回复Server一个ACK。到此,连接建成。UDP发送数据前不需要建立连接。
     
    2. TCP可靠,UDP不可靠;
        TCP丢包会自动重传,UDP不会。
     
    3. TCP有序,UDP无序;
        消息在传输过程中可能会乱序,后发送的消息可能会先到达,TCP会对其进行重排序,UDP不会。
     
    4. TCP无界,UDP有界;
        TCP通过字节流传输,UDP中每一个包都是单独的。
     
    5. TCP有流量控制(拥塞控制),UDP没有;
        主要靠三次握手实现。以及慢开始、拥塞避免、快重传、快恢复
     
    6. TCP传输慢,UDP传输快;
        因为TCP需要建立连接、保证可靠性和有序性,所以比较耗时。这就是为什么视频流、广播电视、在线多媒体游戏等选择使用UDP。
     
    7. TCP是重量级的,UDP是轻量级的;
        TCP要建立连接、保证可靠性和有序性,就会传输更多的信息,如TCP的包头比较大。
     
    8. TCP需要更多资源,UDP则要好上很多
     
    9. 应用场合不同:TCP一般应用在对可靠性要求比较高的场合,例如http,ftp等等。而UDP一般应用在对实时性要求较高场合,例如视频直播,大文件传输等等
     
    小结:
    TCP是面向连接的、可靠的、有序的、速度慢的协议;UDP是无连接的、不可靠的、无序的、速度快的协议。
    TCP开销比UDP大,TCP头部需要20字节,UDP头部只要8个字节。
    TCP无界有拥塞控制,TCP有界无拥塞控制。
     
     
    仅供学习参考,侵权删,原文链接:https://www.cnblogs.com/-wang-cheng/p/5421988.html
  • 相关阅读:
    codeforces C. Fixing Typos 解题报告
    codeforces B. The Fibonacci Segment 解题报告
    codeforces B. Color the Fence 解题报告
    codeforces B. Petya and Staircases 解题报告
    codeforces A. Sereja and Bottles 解题报告
    codeforces B. Levko and Permutation 解题报告
    codeforces B.Fence 解题报告
    tmp
    API 设计 POSIX File API
    分布式跟踪的一个流行标准是OpenTracing API,该标准的一个流行实现是Jaeger项目。
  • 原文地址:https://www.cnblogs.com/zhangym118/p/8660274.html
Copyright © 2011-2022 走看看