网络简介:网卡跟路由器是如何让你上网的——《码农翻身》阅读笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ljt735029684/article/details/81811589

联网是这样的,首先,你的电脑上必须要有网卡,否则上不了网。这章是动态拨号上网

每个网卡都有一个固定的MAC(Media Access Control)地址。也称为物理地址。MAC地址由产商决定,就像身份证号码,一般不可更改。如:11:27:F5:8A:79:54

可是知道MAC地址是不能上网的,除非知道IP地址。所以第一件事——获取IP地址

通过DHCP服务器获取IP地址

只知道自己的MAC地址,如何获取IP地址呢。向谁要呢?这全都不知道。因此,你只能通过网卡对外广播:我是MAC地址:xxx,我需要租用一个IP地址,请问谁有?。其他主机会帮忙把消息向外广播出去,直到有DHCP服务器(Dynamic Host Configuration Protocol,动态主机配置协议)收到,并返回给你IP地址(它知道你的MAC地址,因此能通过广播顺利返回),当然你可能收到多个IP地址,但你只能使用其中一个。

DHCP返回给你的不止是你的IP地址,一共有:

你的IP地址:如192.168.1.2

网关服务器的IP地址:如192.168.1.1

DNS的IP地址:如202.102.224.69

通过ARP获取网关服务器MAC地址

此时,你想要访问网页,就需要通过DNS解析域名,因此,你需要给DNS发报文

此时你注意到,寄件人收件人都有了,但没有邮差!你可能有疑问了, 为什么前面广播不需要邮差,因为,广播是在小范围内的(局域网), 而通过网关,就是大范围的了, 如果此时还通过广播,就太慢了了。那么。邮差是谁呢?答案是网关服务器

已经知道了网关服务器的IP地址,但不知道MAC地址,因此网卡无法发消息给网关服务器(原因是:网卡只在数据链路层工作使用MAC地址,IP地址是传输层使用的),因此,又只能对外广播:急,在线等,有谁知道IP地址xxx(网关服务器的IP地址)对应的MAC地址是多少么?。此时网关服务器收到,通过ARP(Address Resolution Protocol)地址解析协议告诉你,他的MAC地址是xxx。这么一来,你用于可以发消息给DNS服务器上网了

寄件人地址:你的IP地址

收件人地址:DNS的IP地址

邮差:指定网关服务器MAC地址

 然后就可发报文给DNS了

DNS解析域名

比你你上百度https://www.baidu.com/, 这个域名并不是百度真正的IP地址。他真正的IP地址是115.239.211.112, 然而记忆数字对我们来说太困难了,因此,每次访问这些域名时,都使用DNS(Domain Name System,域名系统)进行解析,返回真正的IP地址给我们上网,此时,基本就没本机的事了

所以结构是这样的, 下图来自《码农翻身》

网卡就说完了,接下来说路由器

现在的路由器是集合路由器、交换机、DHCP、NAT、网关、DNS、防火墙等功能的一种设备。因此,上面说到的几个,现在都被包含在路由器中。

子网络与子网掩码

由于由DHCP发放的IP地址属于私有IP地址,在同一局域网下使用。如果要判断两个IP地址是否属于同一子网络,可通过子网掩码计算。

以IPV4为例。IPV4的子网掩码是32位的。它的网络部分都为1,主机部分都为0

如255.255.255.0,换成二进制就是11111111.11111111.11111111.00000000

计算规则是:

把IP地址A与IP地址B分别于子网掩码进行AND运算,如果得到的是结果相同,则是位于同一子网络。

比如172.16.254.1与172.16.224.233的子网掩码都是255.255.255.0,他们分别于子网掩码进行AND计算后的结果都为172.16.254.0,因此他们在同一子网络

网关服务器使用NAT进行地址转换

现在,网关路由器要对外(DNS)发送报文,肯定需要一个公有IP地址, 使用此公有IP地址与外部的DNS进行交流。

如果是一级路由器,由ISP(Internet Service Provider)发的静态的公有IP地址,互联网服务提供商,例如联通跟电信提供,如果是二级路由器,则得到的是动态IP地址,即由不定时更换的IP的地址。(动态IP地址即一级路由器只发放给需要的二级路由器,这样可一定程度控制IP的数量)

继续前面的故事, 网关服务器作为邮差接受到来自主机发给DNS的报文,网关服务器使用NAT表(NAT,Network Address Translation)网络转换地址把主机的私有IP地址跟公有IP地址建立映射,如192.168.1.2: 4096 <===> 61.52.247.112:3001, 外网连接到此的时候,网关服务器将连接请求转发给主机。

这样每当主机需要时,将此公有IP给它用, 一个局域网内只需使用少量几个,甚至是一个公有IP地址就可以让所有主机上网,

猜你喜欢

转载自blog.csdn.net/ljt735029684/article/details/81811589
今日推荐