传输层协议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地址)

猜你喜欢

转载自www.cnblogs.com/embrace-ly/p/10834700.html