端口
Q: 为什么需要端口
A: 主机接收到数据后,应该把数据传送给哪个进程,所以我们用端口来标识一个程序或者说是进程。当主机接受到数据报后,根据报文首部的目的端口号,把数据发送到相应端口号,然后与端口号相应的那个进程将取走数据。
Q: IP地址和端口的区别
A: IP地址用于标识网络上的一台主机,端口用于标识主机上的一个进程。好比IP地址表示一家酒店,端口表示酒店里的哪个房间。
Linux系统端口号的范围为0~65535
按端口号可分为:
(1) 公认端口(0~1023):通常这些端口表明了某种服务的协议 也叫知名端口
(2) 注册端口(1024~49151):松散地绑定于一些服务些端口在没有被服务器资源占用的时候 可以被用户使用
(3) 动态端口(49152~65535):一般不固定分配某种服务 而是动态分配
按类型可分为:
(1) TCP端口
(2) UDP端口
由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也有235端口,两者并不冲突。
Linux下可以通过 /etc/services 文件查看所有的知名应用层协议
常用的应用层协议与其绑定的端口号
DNS 53
HTTP 80
FTP 21
Telnet 23
SMTP 25