[FAQ] unix, unixpacket 属于传输层吗
unix 和 unixpacket(也称作Unix域套接字)并不属于TCP/IP模型中的传输层。
它们是操作系统提供的另一种通信机制,主要用于在同一台机器上的进程间通信(IPC,Inter-Process Communication)。
Unix域套接字可以看作是文件系统中的一个特殊文件,具有以下两种类型:
流式 Unix 域套接字(unix):类似于TCP,提供面向连接的、可靠的字节流服务。
数据报 Unix 域套接字(unixpacket):类似于UDP,提供无连接的、数据报的服务,但是是在文件系统中而不是网络上。
因此,尽管 unix 和 unixpacket 在使用方式上与 TCP 和 UDP 有相似之处,它们并不属于TCP/IP模型的传输层,而是操作系统层面的通信机制,通常用于高性能的本地进程间通信场景。
listener, err = net.Listen("tcp", port)
这段代码展示了如何使用Go的 net 包监听一个 TCP 端口,准备接受连接请求。
这里的tcp明确指出了使用的是TCP传输层协议,而非Unix域套接字。