zoukankan      html  css  js  c++  java
  • 传输层协议TCP&UDP

    TCP

    • 需要将传输的文件分段,给每个数据包一个序号,确保收到之后以正确顺序组装
    • 客户端与服务器建立会话
    • 可靠传输 服务器发送数据包丢失,客户端会通知服务器重发
    • 流量控制 

    建立连接

    三次握手协议

    终止连接

    四次握手

    UDP

    • 一个数据包就能完成数据通信,不需要分段
    • 不需要建立会话
    • 不可靠传输
    • 不需要流量控制
    • 传输高效

    应用场景

    QQ聊天使用的是UDP协议

    作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢?于是,腾讯采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到“消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的。

    QQ传输文件使用TCP协议

    传输层协议 + 端口号 = 对应的应用层协议

    TCP + 80 = HTTP

    TCP + 443 = HTTPS

    TCP + 3389 = RDP

    TCP + 21 = FTP

    TCP + 25 = SMTP (发邮件)

    TCP + 110 = POP3 (收邮件)

    UDP + 53 = DNS (将域名解析成IP地址)

  • 相关阅读:
    PHP的pcntl进程控制之pcntl_wait
    初探PHP多进程
    php是单进程语言,但是也有办法支持多进程
    PHP中pack、unpack的详细用法
    php的几种运行模式
    PHP多进程用例--swoole和pcntl
    MySQL临时表
    centos-6.4 yum EPEL
    关于android上dpi/screen-size的厘清解释
    android studio在windows上设置git/ssh
  • 原文地址:https://www.cnblogs.com/embrace-ly/p/10834700.html
Copyright © 2011-2022 走看看