【问题标题】:Is Socket wrapper TCP/IP's transport layer?Socket 包装器是 TCP/IP 的传输层吗?
【发布时间】:2018-12-07 09:27:36
【问题描述】:

我们经常听到这样的说法:

Socket 是 TCP/IP 协议的封装。

但是可以使它更清晰吗?套接字包装器是 TCP/IP 的传输层吗?或除应用层外的每一层。

【问题讨论】:

    标签: sockets


    【解决方案1】:

    Socket 接口更像是各种 Internet 和 IPC 协议的 API。 它不是真正的协议层,但在实现层面,它可以在层之间使用。

    例如,HTTP 客户端可以使用 Socket-API 来打开与 HTTP 服务器的 TCP 连接。

    在示例中,TCP 是传输层协议。通常 TCP 使用 IP 作为网络层协议。 HTTP 是 TCP 之上的协议。

    套接字接口使用术语“套接字”作为协议端点。 在许多系统中,使用socket()accept() 函数创建的文件描述符类型称为“套接字”。

    【讨论】:

    • 我的意思是,Socket API是否只使用传输层功能,例如tcp、udp、icmp等?没有网络层的api或者网络接口层的功能吧?
    • @26334_zeal :可能取决于操作系统,但在 Linux 中,Socket API 提供了多种方式来直接使用网络层或其他较低层而无需传输层。例如使用选项:SOCK_RAW 和 AF_PACKET。
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2017-01-19
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2016-06-02
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多