TCP/UDP 端口0的作用

原文地址:What Is Port 0 Used For?|端口0的是做什么的?

TCP/UDP通信中使用的端口为0-65535,其中0-1023作为是Internet Assigned Numbers Authority (IANA)规定的保留端口

不同于大多数的保留端口,0是作为禁止在TCP/UDP通信中直接使用的端口而定义的。

端口0在网络编程(尤其是Unix socket编程)中有非常重要的意义,作为动态端口,它委托操作系统来帮它找到一个实际可用的端口。

网络编程中端口0如何工作?

我们知道一个socket连接需要连接双方都拥有各自的端口号,这样才能完成端对端的连接。IANA事先定义了一些基础的网络服务端口(比如HTTP:80, SSH:22),但是对于大多数的自定义应用,需要我们在启动的时候来指定其端口。

通常我们调用bind(port)方法来向操作系统申请一个指定的端口port,但有时会遇到该端口被占用的情况。为了应对这种硬编码带来的问题,当我们调用bind(0)来向系统申请绑定端口时,系统会从可用端口列表中获取一个并返回。

发表评论

电子邮件地址不会被公开。

92 ÷ 46 =