通讯端口

admin

传输层协议,如传输控制协议(TCP)与用户资料包协议(UDP),在数据包表头中,定义了来源端口号与目的端口号。一个端口号使用16位无符号整数(unsigned integer)来表示,其范围介于0与65535之间。在TCP协议中,端口号0是被保留的,不可使用。1--1023 系统保留,只能由root用户使用。1024--4999 由客户端程序自由分配。5000--65535 由伺服器端程序自由分配。在UDP协议中,来源端口号可选择是否填上,如果设为0,则代表无来源端口号。

在操作系统中,一个进程可以通过网络插座将它的输入与输出与一个特定的传输协议、一个通讯端口、一个IP地址关系起来。这个关系动作,称为綁定(binding),在这之后,就可以通过网络提交与接收资料。

在操作系统上运行的网络软件,可以通过操作系统,利用各个不同的通讯端口,将资料发送到网络上;操作系统也可以根据资料分组的IP地址以及端口号,将这些资料分组转送到符合的进程去。

虽然使用同样传输协议,但是特定的IP地址以及通讯端口的组合,只会被綁定到单一的特定进程上。当使用同样协议的多个程序,尝试着綁定在同一个IP地址下的相同通讯端口,就会产生一个常见的应用程式错误,这个错误有时候被称为通讯端口冲突(port conflicts)。

存储文件

编辑

在Linux的 /etc/services文件,Windows的 C:\Windows\system32\drivers\etc\services文件,记录了网络服务名、端口号、协议、别名。

C语言

编辑

应用程式可以不直接使用端口号,通过函数getservbyname("server","tcp")获取端口号。如果服务想更改端口号,只要更改/etc/services中的端口号,但应用程式不需任何更改。函数getservbyport(htons(50),“tcp”)作用是获取对应端口和规约上的服务名。

Copyright © 2088 南美洲世界杯预选赛程_世界杯2 - ycfcjt.com All Rights Reserved.
友情链接