TCP_UDP

作者: 强某某 | 来源:发表于2020-03-03 15:18 被阅读0次
  1. OSI网络七层模型


    5.png
  2. 各层的主要供

  • 低三层
    • 物理层:使原始的数据比特流能在物理介质上传输
    • 数据链路层:通过校验、确认和反馈重发等手段,形成稳定的数据链路(01010101)
    • 网络层:进行路由选择和流量控制(IP协议)
  • 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)
  • 高三层
    • 会话层:负责建立、管理和终止进程之间的会话和数据交换
    • 表示层:负责数据格式转换、数据加密与解密、压缩与解压缩等
    • 应用层:为用户的应用进程提供网络服务
  1. 传输控制协议TCP
    传输控制协议(TCP)是Internet一个重要的传输层协议。TCP提供面向连接 、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先建立TCP连接


    6.png
  2. TCP握手机制


    7.png
  1. 用户数据报协议UDP


    8.png
  2. Socket编程


    9.png
  3. 粘包和拆包

  • 粘包:Nagle算法-客户端累计一定量或者缓冲一段时间(即使缓冲区没有满等待一段时间之后也会发起传输)再传输。服务端缓冲区堆积。导致多个请求数据粘在一起。
  • 拆包:发送的数据大于发送缓冲区,进行分片传输。服务端缓冲区堆积,导致服务端读取的请求数据不完整。
  • 上面的说明其实不光针对单方面,tcp这种全双工通信,服务端客户端都会发送和接收,所以都会导致粘包和拆包问题


    image.png

相关文章

  • TCP_UDP

    OSI网络七层模型5.png 各层的主要供 低三层物理层:使原始的数据比特流能在物理介质上传输数据链路层:通过校验...

  • 使用TCP_UDP高层协议

网友评论

      本文标题:TCP_UDP

      本文链接:https://www.haomeiwen.com/subject/dnhhlhtx.html