应用层工作在 TCP/IP 协议栈的最上层,日常中使用的软件都工作在这一层,如 QQ,微信等。该层主要是产生数据,保证和其他系统上的应用进行相互通信。
常见的应用层协议如下图所示:
可以看到,我们熟悉的 HTTP,HTTPS,SSH,FTP 处于数据的可靠性,全都采用了 TCP 作为传输层的协议。而 DNS 有些特殊,既有 TCP,又有 UDP 的协议。
域名的作用:
为了方便人类记忆而设计,否则的话 IP 地址是无法容易记忆的。
DNS 的作用:
由于数据包在网络层传输时,是要通过 IP 进行转发的。所以需要将域名转化成 IP,这个过程就是由 DNS 服务器所提供的。
DNS 的原理:
在 DNS 服务器上会有一张表,记录域名和 IP 的映射关系。比如在浏览器上输入 www.baidu.com
后,会先产生一个 DNS 请求报文,通过运营商的路由器发给 DNS 服务器,然后 DNS 会查询所需域名的 IP 地址,然后进行 DNS 回复把对应 IP 告诉客户端。这时客户端拿到真的 IP 地址就可以和淘宝服务器进行交互了。
这里我们请求下 www.sogou.com
的地址:
紧接着后面就是建立 TCP 三次握手的过程,然后访问搜狗服务器。
一台主机要接入因特网,需要配置 IP 地址、子网掩码、默认网关和域名服务器。动态主机配置协议(DHCP)提供了分配的服务
DHCP 的分配方式是:网络中至少有一台 DHCP 服务器在工作,它会通过端口 67 监听网络的 DHCP 请求,并与客户端协商配置客户机的 TCP/IP 环境
DHCP 协议使用 UDP 作为运输层协议,DHCP 服务器端口号是 67,客户端的端口号是 68. DHCP 服务器管理一个或多个 IP 地址域,称为地址池。当收到客户端的请求后,会从地址池中取出一个未用的地址分配给客户端,称为出租。
DHCP Discover 和 Request 报文都是广播
DHCP Offer 和 Ack 报文都是单播
客户端启动后,会向网络广播一个 DHCP Discover 报文,寻找 DHCP 服务器。此时由于客户端不知道服务器的地址,所以要发送广播。本地网络中的每个主机都会收到,但是只有 DHCP 服务才会响应。
报文如下:
DHCP 服务器收到 DHCP Discover 报文后,从还没出租的地址范围内,选择最前面的空白 IP 地址,向客户端发送 DHCP Offer 报文。
报文如下:
客户端可能会收到一个或多个 DHCP Offer 报文(可能存在多个 DHCP 服务器),客户端从中选择一个 DHCP 服务器,并广播 DHCP Request 报文。在报文中必须指明选择的服务器
报文如下:
被选中的服务情收到 DHCP Request 后,回应 DHCP Ack 报文,地址分配完成
报文如下:
Router>en
Router#>conf t
Router(config)#ho DHCP-SERVER
DHCP-SERVER(config)#ip dhcp pool Central
DHCP-SERVER(dhcp-config)#network 10.1.1.0 255.255.255.0
DHCP-SERVER(dhcp-config)#default-router 10.1.1.254
DHCP-SERVER(dhcp-config)#dns-server 8.8.4.4
DHCP-SERVER(dhcp-config)#lease 0 1 1
r(config)#ip dhcp excluded-address 10.1.1.1 10.1.1.10
DHCP-SERVER(config)int e 0/0
DHCP-SERVER(config)ip add 10.1.1.1 255.255.255.0
DHCP-SERVER(config)no shu
原文:https://www.cnblogs.com/michael9/p/13321583.html