应用层
应用层
域名系统DNS——UDP/TCP、获取域名对应的IP
-
DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。
-
域名结构: 根域名、顶级域名、二级域名
-
DNS一般使用UDP进行传输,端口号为53。在以下两种情况下使用TCP进行传输:
- 返回的响应超过的 512 字节(UDP 最大只支持 512 字节的数据)。
- 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。
文件传输协议FTP——TCP、传输数据
-
控制连接: 服务器在21号端口接收客户端请求并建立连接
-
数据连接:
- 主动: 服务器使用20号端口主动与客户建立数据连接,客户端使用的端口随机(>1024)
- 被动: 服务器等待客户端发起数据连接请求,客户端使用自定端口,服务端端口号随机
- 区别: 主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。
动态主机配置协议DHCP——服务器为客户端自动配置IP地址/子网掩码/网关IP等
- 客户端使用UDP报文向子网中所有主机广播Discover报文,目的地址为255.255.255.255:67、源地址为0.0.0.0:68
- DHCP服务器收到Discover报文,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
- 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
- DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
远程登录协议TELNET
电子邮件协议SMTP/POP3/IMAP
Web页面请求过程
-
DHCP配置主机信息
-
ARP获取本地网关MAC(由DHCP只知道网关IP)
-
DNS解析域名获取HTTP服务器IP
-
TCP建立连接获取HTTP请求页面并在本地浏览器显示