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有界无拥塞控制。
     
     
    补充:
    基于TCP的协议有:HTTP/HTTPS,Telnet,FTP,SMTP。
    基于UDP的协议有:DHCP,DNS,SNMP,TFTP,BOOTP。
  • 相关阅读:
    客户端作业day26
    cs架构和bs架构.课堂小结day26
    魔法方法day22课堂小结
    组合封装作业day21
    组合,接口day21课堂小结
    iOS端给unity发送消息,实现两者交互。
    Unity发送参数给iOSNative并响应
    关于 iOS 10 中 ATS / HTTPS /2017 问题
    Cocopod上更新上传自己的开源框架供别人下载
    iOS适配HTTPS,创建一个自签名的SSL证书(x509)具体步骤
  • 原文地址:https://www.cnblogs.com/-wang-cheng/p/5421988.html
Copyright © 2011-2022 走看看