AJ HUNTER Asked: 2021-06-28 01:37:10 +0800 CST2021-06-28 01:37:10 +0800 CST 2021-06-28 01:37:10 +0800 CST 传输层的地址? 772 在 TCP/IP 协议栈中存在以下协议级地址: 数据链路层 - MAC 地址 网络层 - IP 地址 传输层 - ? 应用层 - 套接字地址,即目标端口号和 IP 地址(如果是 UDP)、源和目标端口号和 IP 地址(4 元组) 我的问题:传输层如何区分不同的正在进行的 TCP 连接? 是否由于tcp与应用层进程绑定的性质,TCP地址与套接字(应用程序进程地址)相同?或者套接字地址是绑定/附加应用程序进程的 TCP 地址? tcp tcpip 1 个回答 Voted Best Answer user1686 2021-06-28T02:18:23+08:002021-06-28T02:18:23+08:00 传输层如何区分不同的正在进行的 TCP 连接? TCP 使用 IP 地址和 TCP 端口 4 元组区分连接。换句话说,端口号就是传输层地址。 (套接字只是应用程序请求传输层服务的一种机制——应用程序使用它们的事实并不会使整个地址成为“应用程序层”。) 看起来 OSI 实际上根本没有应用层地址;它具有表示层地址。正如ITU-T X.650规范所说: 6.2.2.3 […] 表示地址用于访问应用程序实体。 11.1.2.1为了使应用实体调用与另一个应用实体调用建立应用关联,它使用被调用应用实体的表示地址来建立表示连接或使用表示无连接模式服务。 在同一个 X.650(第 9.6.1 节)中,OSI 表示层地址被描述为以下形式的元组: (P 选择器、S 选择器、T 选择器、网络地址列表) 其中 T-selector 标识传输,S-selector 标识会话,P-selector 标识表示服务。 但请记住,TCP/IP 不是 OSI。OSI 体系结构旨在描述 OSI 协议栈(例如 CLNS 和 TP4)——它并不意味着描述 TCP/IP,TCP/IP 也不意味着符合它。并非 OSI 体系结构的所有功能都具有 TCP/IP 等价物。 特别是,TCP/IP 协议栈根本没有与 OSI 会话和表示层相同的通用等价物,也没有统一的“表示地址”。该功能仅作为单个应用层协议的一部分存在(例如,在我看来,TLS ALPN 可能提供“P-selector”功能)。
TCP 使用 IP 地址和 TCP 端口 4 元组区分连接。换句话说,端口号就是传输层地址。
(套接字只是应用程序请求传输层服务的一种机制——应用程序使用它们的事实并不会使整个地址成为“应用程序层”。)
看起来 OSI 实际上根本没有应用层地址;它具有表示层地址。正如ITU-T X.650规范所说:
在同一个 X.650(第 9.6.1 节)中,OSI 表示层地址被描述为以下形式的元组:
其中 T-selector 标识传输,S-selector 标识会话,P-selector 标识表示服务。
但请记住,TCP/IP 不是 OSI。OSI 体系结构旨在描述 OSI 协议栈(例如 CLNS 和 TP4)——它并不意味着描述 TCP/IP,TCP/IP 也不意味着符合它。并非 OSI 体系结构的所有功能都具有 TCP/IP 等价物。
特别是,TCP/IP 协议栈根本没有与 OSI 会话和表示层相同的通用等价物,也没有统一的“表示地址”。该功能仅作为单个应用层协议的一部分存在(例如,在我看来,TLS ALPN 可能提供“P-selector”功能)。