网络解决了互联网内多台主机间的通信问题,但是对于一个主机,一般只分配到一个 IP,主机的内部进程只能复用一个 IP,如果不新增机制,则同一时间系统内只能有一个进程访问网络。因此,引入端口号分配给不同的进程,实现对 IP 的复用。
Q1:如何让多个进程复用同一个 IP?#
添加端口号机制,一个进程绑定若干个端口,通过端口号区分是哪些进程在通信。
Q2:如何提供可靠信道?#
TCP 协议。通过编号,确认,重传机制提供基于连接的可靠传输,并进行拥塞控制。其中可靠传输机制可分为三种,停止 - 等待协议,GBN 协议,SR 协议。在此基础上基于拥塞窗口进行拥塞控制。
Q3:如何提供不可靠信道?#
UDP 协议,像 IP 协议一样,提供尽力交付,只用 CRC 对数据包内容进行一定程度的检错,而不考虑数据包是否成功到达。
Q4:常用端口分类?#
服务器端口号:0-49151,其中 0-1023 在以前作为熟知端口号由 iana 分配。
常用熟知端口号
应用 | 端口 | 协议 | 应用 | 端口 | 协议 |
---|---|---|---|---|---|
FTP | 21 | TCP | TFTP | 69 | UDP |
TELNET | 23 | TCP | NFS | 2049 | UDP |
SMTP | 25 | TCP | DNS | 53 | UDP |
HTTP | 80 | TCP | SNMP | 161 | UDP |
DHCP | UDP | IGMP | UDP | ||
IP 通话 | UDP | RIP | UDP |
客户端端口号:39152-65535,也成为短暂端口号,一般仅在用户进程运行时选择。