了解计算机网络 - DNS与IP寻址
引子
以前学习计算机网络总是浅尝辄止,这次希望可以好好梳理一下网络的脉络,对一些日常中遇到的名词,这次在读《网络是怎样连接的》的时候,时不时会有种融汇贯通的感觉。
关于DNS
DNS服务,这个我很久以前就知道了这个概念。无外乎是可以通过DNS服务器来获取到域名背后真实的ip地址。但是在这次的学习中,又获取到了新的知识。
通常来说我们不会去明确指定使用哪个DNS服务器,这个时候,将域名翻译成ip地址的工作就交给了路由器来做了。路由器会根据DHCP 下发的 DNS来进行域名的解释。
这里出现了一个新的名词——动态主机配置协议(DHCP),他通常来说是一个服务器,由路由器来承担这个职责。如果路由器没有这个功能,在我们的设备接入路由器的时候,我们需要手动给这些设备输入IP地址、子网掩码、网关等信息。但是,当有了DHCP,这一切都由路由器来完成了。
DHCP 的主要任务是向网络中的设备自动派发”上网参数套装”,这个套装通常包含以下四个核心信息:
- IP地址:设备在局域网内的唯一标识
- 子网掩码:在一个局域网内,所有设备必须使用相同的子网掩码,才能正确识别谁是”自己人”(内网),谁是”外人”(外网)。路由器作为网络的”家长”,统一发号施令,发出的”套装”里包含了一模一样的掩码,保证大家对网络边界的理解是 100% 同步的。
- 默认网关:告诉设备如果要把数据发到外网去,要走哪扇门,这里通常就是路由器的IP
- DNS服务器:去哪里查询域名
关于IP寻址
IP的寻址,之前对此就是一知半解,之前确实知道,有了ip地址,就有了明确的目的地,可以进行请求与数据访问。现在看来,还不止如此。
电脑拿到一个ip地址之后:
- 首先会把ip地址发给路由器,路由器会知道默认路径,大型的电信运营商的大型路由器。
- 运营商的路由器上有着巨大的路由表,他会知道这个ip的服务器在什么位置,知道应该把这个数据交给哪个出口节点。
- 数据包就像接力棒一样,在互联网上经过数个甚至数十个路由器的转发,最终到达目的地。
这里出现了一个新的概念——线路。
在折腾VPN节点服务器的时候,经常会看到这个词语,很多机场也拿线路来标榜自己。
这里出现了一个名词BGP(边界网关协议):
这些是高性能的工业级设备。它们维护着一张巨大的路由表。它会根据 BGP 协议(边界网关协议)判断:这个 IP 属于 Google 的网络,我应该把它转发到哪一个出口节点。
这在我之前折腾vps服务器的时候,经常遇到,服务器的网络规格上会说他使用了什么网络线路。这里的BGP不是线路,是一个导航的手段,真正的线路是 CN2 GIA 这样指的是线路,CN2 GIA 指的就是电信的专线。
服务商为了方便理解,经常把使用了 BGP 协议实现多线接入的服务直接简称为”BGP 线路”。