计算机网络速通(一) 传输层协议 TCP:TCP为什么握手是 3 次,挥手是四次?

本文最后更新于:2024年9月27日 晚上

TCP 和 UDP 是当今应用最广泛的传输层协议,当今互相网的整个传输层几乎都是基于这两个协议打造的。(应用开发、框架设计选型、做底层和优化,只要碰到网络,肯定逃不开 TCP 协议的相关知识)

network1
  • 如何理解上图的概念:主机到主机、连接、会话、双工/单工及可靠性
    • 主机到主机:TCP 提供的是主机到主机的传输,一台主机通过 TCP 发送数据给另一台主机。
      • 为什么 TCP 往上是应用到应用的协议:例如:微信发消息给张三,微信客户端(微信的聊天服务)他们都是应用。微信有自己的协议(应用到应用的协议)。但是,微信的协议想要工作,就需要一个主机到主机的协议 (TCP) 帮他们通信。但 TCP 协议的上层有太多的应用,因此 TCP 上层的应用层协议使用 TCP 协议的时候需要告知 TCP 是哪个应用--端口号(区分应用)。 network1

      • TCP 要实现主机到主机之间的通信就需要主机们的网络地址(IP 地址),但是 TCP 不负责实际地址到地址的传输。因此 TCP 协议把 IP 地址交给底层的互联网层(网络层)去处理。

        • 因此网络层提供的是地址(IP)到地址的通信协议,但是网络层只提供地址到地址的通信,不负责信号在具体的两个设备间传递。
        • 因此网络层又会调用下方的数据链路层在两个设备之间传递信息,当信号在两个设备间传递的时候,科学家们又设计出物理层去封装最底层的设备、传输介质等,由最下方的物理层提供底层的传输能力。
      • 以上的五层架构称之为互联网协议群(TCP/IP)协议群

      • 总结:主机到主机是为应用提供应用间通信的能力。

    • 连接:通信双方的一个约定,目标是让两个在通信的程序之间产生一个契约,保证两个程序都在线而且尽快地响应对方的请求。
      • 设计上,连接是一种传输数据的行为,传输之前,建立一个连接,具体来说,数据收发双方的内存中都需要建立一个用于维护数据传输状态的对象。比如说双方的 IP 和端口是多少?现在发送了多少数据了?状态是健康的吗?传输速度如何?
    • 总结:连接是网络行为状态的记录。
    • 会话:会话是应用的行为

计算机网络速通(一) 传输层协议 TCP:TCP为什么握手是 3 次,挥手是四次?
https://zzmes.github.io/2024/09/27/network2/
作者
YangYangYang
发布于
2024年9月27日
许可协议