IT之道-艾锑知道

您当前位置: 主页 > 资讯动态 > IT知识库 >

艾锑知识—服务器运维


2020-04-24 17:37 作者:艾锑无限 浏览量:
服务器运维

为什么我们从来不需要设置 DNS 服务器呢?这是因为现代路由器大多具备 DHCP 服务器的功能,DHCP 服务器自动为我们提供默认的 DNS 服务器地址。

路由器会将连接到自身所有设备的 DNS 服务器地址设置为自己的 IP 地址。连接该路由器的手机、电脑等网络设备的 DNS 请求,统一发送至路由器 IP 地址,此时路由器扮演各设备的 DNS 服务器。然后,路由

器转发 DNS 请求,到实际的 DNS 服务器。实际的 DNS 服务器解析域名 IP,返回给路由器。最后,路由器再把 IP 返回给终端设备。

发送 DNS 请求到 DNS 服务器获取网站真实的 IP 地址,这个过程需要一定的时间,影响这个时间的因素之一就是 DNS 服务器的地理位置。DNS 服务器离你越近,传输数据自然更快。因此默认情况下,路由器

将从网络提供商提供获取最近的 DNS 服务器地址,实现最快的网络响应。
 
2. ARP

只要确定了 IP 地址,就可以向这个目标地址发送 IP 数据报。然而,在底层数据链路层,进行实际通信却有必要了解每个 IP 地址所对应的 MAC 地址。

于是需要一种方法,根据目的主机的 IP 地址,获得其 MAC 地址。这就是 ARP 协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标 IP 地址转换成目标 MAC 地址的过程。

另外,当发送主机和目的主机不在同一个局域网中时,即便知道对方的 MAC 地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过 ARP 协议获得的将不是目的主机的真实 MAC 地

址,而是一台可以通往局域网外的路由器的 MAC 地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为委托 ARP 或 ARP代理(ARP Proxy)。

(1) ARP工作原理

ARP 是如何知道 MAC 地址的呢?简单来说,ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的。

在每台安装有 TCP/IP 协议的电脑或路由器里都有一个 ARP 缓存表,表里的 IP 地址与 MAC 地址是一对应的,如下表所示。

以主机A(192.168.38.10)向主机B(192.168.38.11)发送数据为例。
  • 当发送数据时,主机A会在自己的 ARP 缓存表中寻找是否有目标 IP 地址。如果找到就知道目标 MAC 地址为(00-BB-00-62-C2-02),直接把目标 MAC 地址写入帧里面发送就可。
  • 如果在 ARP 缓存表中没有找到相对应的 IP 地址,主机A就会在网络上发送一个广播(ARP request),目标 MAC 地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.38.11的 MAC 地址是什么?”
  • 网络上其他主机并不响应 ARP 询问,只有主机B接收到这个帧时,才向主机A做出这样的回应(ARP response):“192.168.38.11的 MAC 地址是00-BB-00-62-C2-02”,此回应以单播方式。这样,主机A就知道主机B的 MAC 地址,它就可以向主机B发送信息。同时它还更新自己的 ARP 高速缓存(ARP cache),下次再向主机B发送信息时,直接从 ARP 缓存表里查找就可。
需要注意,示例的主机 A 和主机 B 属于同一网段。如果主机 A 和主机 B 不属于同一网段,那么主机 A 发送的广播(ARP request)主机 B 就不可能收到。

所以,在发送广播(ARP request)前,主机 A 会判断主机 B 是否属于同一网段,如果不属于,就会在自己的 ARP 缓存表中寻找网关(也就是路由器)的 MAC 地址。如果没有找到,主机 A 就会在网络上发送一个广

播(ARP request)询问网关(路由器)的 MAC 地址。

ARP 缓存表采用老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可减少缓存表的长度,加快查询速度。

(2) 查看本机ARP

如何查看本机 ARP 缓存表呢?
  •  
  • Windows:开始 → 运行 → cmd → arp -a(参数a表示显示所有内容)
  •  
  • Linux:终端 → arp -nv
  • MacOS:终端 → arp -nla
 
3. DHCP
如果逐一为每一台主机设置 IP 地址会是非常繁琐的事情。于是,为了实现自动设置 IP 地址、统一管理 IP 地址分配,就产生了 DHCP 协议。

如下图所示,Mac 电脑可以在「系统偏好设置 - 网络 - Wi-Fi - 高级 - TCP/IP」查看当前本地 IP 配置。



相关文章

IT外包服务
二维码 关闭