python网络编程之端口
该文档仅用作学习笔记,转载请表明出处
什么是端口
- 那么TCP/IP协议中的端口指的是什么呢?
- 端口就像一个房子的门,是出入这间房子的毕竟之路。
- 如果一个进程需要收发网络数据,那么久需要有这样的端口。
- 在linux系统中,端口有2的16次方(65536)个
- 操作系统为了对端口统一管理,所以进行了编号,这就是端口号。
端口号
- 端口是通过端口号来标记的,端口号只有整数,范围是0 - 65535
端口号分配问题
端口号不是随便使用的,而是按照一定的规定进行分配。端口的分类标准有好几种,在这里不做详细介绍。只介绍下知名端口和动态端口。
- 知名端口
知名端口是众所周知的端口号,范围是0到1023.- 80端口分配给HTTP服务
- 21端口分配给FTP服务
一般情况下,如果一个程序需要使用知名端口的需要有root权限。
- 动态端口
动态端口的范围是从1024到65535
之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。
动态分配是指当一个系统进程或应用程序进程需要网络通信时候,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。
当这个进程关闭时,同时也就释放了所占用的端口号。