TCP/IP 协议

简介

类似 OSI 模型,一种网络协议概念模型

  • 应用层:提供应用间通讯能力;
  • 传送层:提供主机对主机(host-to-host)传输,TCP/UDP 协议,端口
  • 网络层:提供地址到地址(ip-to-ip)传输; IP 协议 -链路层:设备对设备传输(mac-to-mac)传输;
  • 物理层:光电信号传输

TCP/IP 封包

  • 应用层:数据;
  • 传输层:头(源端口、目标端口等) + 数据(应用层数据,会被切片);
  • 网络层:头(源 IP、目标 IP) + 数据(传输层数据,会被切成更小的片段);
  • 链路层:头 + 数据(网络层数据) + 尾。

如何保证数据顺序

  • SEQ(sequence):这个消息发送前一共发送了多少字节;
  • ACK(acknowledge):这个消息发送前一共收到了多少个字节。

三次握手

  1. 客户端发送同步请求 -> SYN(seq=0, ack=0);
  2. 服务端响应请求,并也发起同步请求 -> ACK(seq=0, ack=1);
  3. 客户端响应请求 -> ACK(seq=1, ack=1)。
  4. 开始传送数据。

四次挥手

  1. 客户端发送关闭请求 -> FIN;
  2. 服务端响应请求 -> ACK;
  3. 服务端处理完后发送关闭请求 -> FIN;
  4. 客户端处理完后发送响应请求 -> ACK;
  5. 关闭连接。
posted @   梦渊同学  阅读(78)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示