协议端口和服务端口的区分

协议端口和服务端口

协议端口和服务端口的区分_第1张图片

先说结论:

协议端口是区分网络层交付给哪个传输层的。服务端口是区分传输层交付给哪个应用层的。

我们知道传输层有很多协议,例如UDP,TCP等等。当网络层报文到来的时候,报文里面指名了应该交付给哪一个协议。例如TCP是6,UDP是17等等。这个数字标识了应该交付给哪一个协议。

例如我交付给了TCP协议,然后再通过服务的端口号交付给某一个应用。

不通的传输层在操作系统里面不同的软件系统,这也是TCP/UDP端口号可以重复的原因。

img

在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写原语访问之。

类似于文件描述符,每个端口都拥有一个叫端口号(port number)的整数型标识符,用于区别不同端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。

你可能感兴趣的:(计算机网络自顶向下,网络,tcp/ip,udp)