一、传输层定义
IP首部有一个协议字段,用来标识网络层的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据是TCP的内容还是UDP的内容。
TCP/IP的大多数协议都是以客户端/服务器端的形式运行,客户端类似于客户的意思,是请求的发起端,服务器端则是表示提供服务的意思,是请求的处理端。另外,服务器应该提前启动,准备接受客户的请求。
服务端程序在UNIX系统当中叫做守护进程。例如HTTP的服务端程序是httpd,ssh的守护进程是sshd。在UNIX系统中不需要将这些所有的守护进程逐个启动,而是启动一个可以代表它们接收客户端请求的inetd(互联网守护进程)服务程序即可。它是一种超级守护进程,收到客户端请求后会创建新的进程并转换为sshd等个守护进程。
确认一个请求进程是发给哪个服务器,可以通过收到的数据包的目标端口号轻松识别。
二、端口号
数据链路层和IP中的地址,分别是MAC地址和IP地址。前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中也有地址,就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序,也被称为程序地址。
TCP/IP或UDP/IP通信通常采用5个信息来识别一个通信。分别为:源IP地址、目标IP地址、协议号、源端口号、目标端口号。
范围 | 端口号 |
---|---|
0~1023 | 熟知端口号 |
1024~49151 | 注册端口号 |
49152~65535 | 临时端口号 |
认识知名端口号
UDP熟知端口号
端口号 | 服务进程 | 说明 |
---|---|---|
53 | DNS | 域名服务 |
67/68 | DHCP |