端口号

一、概念

端口号,即Port Number,是网络协议中常见的一个概念。


二、用途

传输层(包括OSI七层模型中的传输层和TCP/IP框架中的传输层)中有4个协议使用端口号: TCP, UDP, DCCP和SCTP。这些协议使用端口号的目的是为了区分使用这些协议提供的服务的上层协议。

两个不同的使用端口号的协议可以使用相同的端口号,比如在TCP协议中和UDP协议中都可以使用60000这个端口号,而不冲突。

在OSI七层体系中,传输层之上还有“会话层”,“表示层”,“应用层”。这些层次中的协议可以使用传输层协议提供的服务,自然包括TCP,UDP,DCCP和SCTP这4个协议提供的服务。那么对于一个TCP(UDP,DCCP,SCTP)服务来说,如何知晓是哪个上层协议正在使用该服务,就得靠端口号。


三、端口绑定
端口号与上层协议的绑定有多种方案:0-1023端口号是“System Ports”由IETF进行绑定;1024-49151端口号是“User Ports”由IANA进行绑定;49152-65535端口号是“动态端口号”未被绑定。
比如1080端口被与会话层中的SOCKS协议绑定。
比如524端口被与表示层中的NCP协议绑定。
比如80端口被与应用层中的HTTP协议绑定。
“System Ports”和“User Ports”中的端口绑定只是一个推荐规范,并非强制标准,你仍然可以在你的提供HTTP服务的Web服务器中配置将HTTP协议绑定到非80端口,比如49153端口。


参考文献:
[1]http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt
[2]http://blog.csdn.net/dslztx/article/details/48140225

你可能感兴趣的:(端口号)