关于网络传输层协议简单总结(TCP& UDP)

简介

  • 首先 TCP和 UDP都是数据传输层协议, 还有常说的 TCP/IP是一系列协议的组合, 又称为 TCP/IP模型

网络层级标准

  • 网络是分层级的, 每一层间联系必须遵守相关的规则, 也就是协议
  • 国际标准化组织(International Standard Organization, ISO)提出的理想标准是七层模型: 应用层 -> 表示层 -> 会话层 -> 传输层 -> 网络层 -> 数据链路层 -> 物理层
  • TCP/IP把七层模型简化成四层模型: 应用层(应用层 + 表示层 + 会话层) -> 传输层 -> 网络层 -> 主机到网络层(数据链路层 + 物理层)

TCP协议三次握手过程

  1. 第一次握手: 客户端发送 Syn(Synchronize)包(syn=j)到服务器, 并进入 SYN_SEND状态, 等待服务器确认
  2. 第二次握手: 服务器将会收到客户的 Syn包, 必须先 Ack(Acknowledge): 客户端的 Syn(ack=j+1), 同时建自己的 Syn包(syn=k), 然后发送到客户端, 即 Ack包 + Syn包, 此时服务器进入 SYN_RECV状态
  3. 第三次握手: 客户端收到服务器发的 Ack包 + Syn包, 再向服务器发送确认包 Ack(ack=k+1), 此包发送完毕, 客户端和服务器都将进入 ESTABLISHED状态, 完成三次握手
  • 握手过程中不包含数据, 三次握手完毕后才可正式开始传送数据, 连接一旦建立后, 在通信双方中的任何一方主动关闭连接之前, 连接都将被一直保持下去. 三次握手的理由是, 为了防止丢包(数据丢失)

TCP和 UDP的区别

TCP(面向连接的传输控制协议, Transmission Control Protocol), 类似打电话

  • 三次握手确认连接之后, 客户端和服务器可以互相发送和接收消息, 在客户端或者服务器没有主动断开之前, 双方保持长连接
  • 优点: 传输准确可靠(保证数据正确性), 传输数据无大小限制(流模式), 有序(保证数据顺序)
  • 缺点: 效率低, 不能做离线任务, 连接耗时长

UDP(面向非连接的用户数据报协议, User Data Protocol), 类似发短信

  • 非连接指的是在传输数据之前无需交换确认信息, 没有握手过程, 只需将对应的数据发到指定的地址
  • 优点: 速度快, 效率高
  • 缺点: 传输不可靠(可能丢包), 传输数据量少(数据报模式), 无序(先发未必先至)

如果您觉得有帮助,欢迎点赞哦 ~ 谢谢!!

猜你喜欢

转载自blog.csdn.net/qcl108/article/details/106600829
今日推荐