当我在浏览器上输入一个珍藏已久的网址之后,回车加载的那一刻,作为牛马猿的我突然就萌发了一个好奇心,从网址加载到最后页面渲染,中间到底涉及了哪些技术?在我片刻思考之后,就发现我的技术栈炸了...
首先第一个映入我大脑的问题就是,到底这个浏览器是怎么通过一个网址找到对应的服务器的?比如我们输入一个网址www.baidu.com,最后打开了百度的首页。首先我们先明确一点,互联网冲浪服务器之间的访问,是基于IP地址的,那么就是说有一种神秘的力量,我们虽然输入的是域名网址,但是最后访问时,被转换成了IP地址。那么就引出了第一个知识点,DNS(Domain Name System)域名系统。
当你的电脑遇到baidu.com时,它自己先会问本地域名解析服务知不知道baidu.com对应的IP地址,很直观的就是Windows系统的hosts文件里的域名解析配置,如果不知道那么就会问网络运营商DNS服务器,比如你是电信的网络,这个域名解析请求就会发给电信的DNS服务器,如果电信也不知道,那么电信就会询问互联网根域名服务器,根域名服务器收到之后,会根据.com、.cn、.edu等后缀,告诉电信顶级域服务器地址,让电信去问他,因为这个后缀的域名归他管,这样电信就继续跑去问顶级域服务器,顶级域服务器根据管理的注册域名,然后会告诉你注册这个域名的权威DNS服务器,这个权威DNS服务器就是百度负责管理的DNS服务器,它会告诉你一个可以访问的服务IP,这样你就通过域名找到了要访问的目标IP。
这里补充说明,现在有IP地址了,那端口呢?HTTP请求的默认访问端口就是80。
IP寻址既然我们现在知道了百度服务器的IP,那么我们的电脑是怎么通过IP+网线找到百度的呢?就好比我现在在地址A,百度在地址B,我想给B送点土特产,有没有导航,我咋知道这路怎么走呢?
首先我们得先了解一下IP地址的数据格式,IP地址是由四段,每段范围0~255,则IP地字范围0.0.0.0 ~ 255.255.255.255 ,其中一个IP地址实际上由网络号 + 主机号组成,也就是说四段的IP地址一部分是网络号,一部分是主机号,这里边通过子网掩码来设定,比如IP地址192.168.1.1、192.168.2.1,其中他们的子网掩码是255.255.255.0,也就是说192.168.1和192.168.2代表网络号,后边的1代表具体设备的主机号,通俗点来说192.168.1可以代表一个机房的网段,这个机房可接入的电脑设备为255个,每个电脑的IP地址都是192.168.1.*,其中*可以自动获取,也可以手动配置,但是不能重复。在同一网段下两个设备之间网络是互通的,但是说192.168.1.100的机器想访问192.168.2.1的机器,这样就得通过路由器了。
那么当我们知道百度IP地址是180.101.51.73,然后电脑(192.168.2.10)发现跟自己不是同一个网段的,就把请求(192.168.2.10:54321 > 180.101.51.73:80)转发给了路由器(外网IP125.121.66.66),路由器收到之后发现不在自己管辖域,然后把请求进行网络地址转换(125.121.66.66:1024 > 180.101.51.73:80)向上游路由器(运营商)转发,同时进行映射关系保存(192.168.2.10:54321 -- 125.121.66.66:1024),运营商路由器收到请求之后,再通过层层网络路由,把请求转发给百度,百度收到之后相应请求报文,然后再逆向把数据返回给路由器,路由器再根据映射关系把数据报文转回给本机电脑。
光猫、路由器、交换机说到这里,总是会想起家里的光猫、路由器还有一个叫交换机的,到底有什么用?每次看了就忘,然后也捋不清他们之间到底是怎么相互配合使用的。
光猫:光缆信号的调制解调器,就是负责把光信号转换成路由器认识的报文,然后再把路由器要发出去的报文转换成光信号。
路由器:负责内外网的连接,其中WAN接口连接光猫,LAN接口负责连接设备,其中LAN接口可以有多个物理接口,也可以只有一个LAN物理接口,然后通过虚拟化多个WLAN接口,LAN接口后边可以接入电脑、打印机等设备,也可以接入交换机。
交换机:可以将路由器的LAN接口一分多个,同时会记录每一个接入口对应机器的MAC地址。
局域网ARP地址解析协议
当A电脑(192.168.1.10)请求B电脑(192.168.1.20)时,A先通过子网掩码255.255.255.0判定,B就是同一网段的局域网,可以不走路由器,于是先查询ARP缓存,查找最近通信过的IP地址对应的MAC地址,如果发现缓存没有,就会在局域网内广播一个ARP请求,询问192.168.1.20的MAC地址,然后192.168.1.20收到之后,会单独回复A电脑告知MAC地址,这样A电脑就直接封装报文通过MAC地址发送请求,交换机收到之后,根据目标MAC地址直接把请求转到对应LAN接口,发送给目标电脑。
Q:如果没有交换机呢?两个电脑直接接在路由器的两个LAN接口上,是走的IP路由还是MAC路由?
A:路由器集成了三个独立的功能模块,一个路由器负责网络通信,一个交换机负责内网请求转发,一个无线接入点负责无线网络接入。
路由器&交换机&WLAN
很多时候路由器的物理LAN接口是非常珍贵的,他决定你能接入多少个机器,但是很明显路由器的LAN接口不可能很多,而待接入的机器会很多,于是就出现了交换机,将LAN接口一分多。但是有时候机器一多为了方便管理,就需要对机器进行网络划分,就好比财务部的网络跟销售部的网络就需要进行一定的隔离,原本路由器的多个LAN接口也可以分割网段,但是很明显这样太奢侈,于是就搞出来一个虚拟LAN接口。
路由器有一个WAN接口负责接入外网,多个LAN接口负责接入设备,交换机多个Access接口负责接入设备,有一个Trunk接口负责接到路由器的LAN接口或是交换机的Access接口。这样一个路由器的LAN接口想管理多个网关,接入的交换机就得支持VLAN,即智能交换机。
首先需要对交换机的Access接口划分VLAN,比如 VLAN 10、VLAN 20,然后通过Access接口接入的数据包都会被交换机自动打标上VLAN 10或 VLAN 20标签,然后再路由器LAN 1接口划分出两个虚拟子接口LAN 1.10 (配置IP地址192.168.1.1 作为VLAN 10的网关)和Lan 1.20(配置IP地址192.168.2.1 作为VLAN 20的网关)分别来处理带有VLAN 10和VLAN 20标签的数据包。这种模式被称为“单臂路由”,因为所有VLAN间的流量都经过路由器这一条胳膊,这样就通过路由器的一个LAN接口 + 交换机接入了多个机器,同时通过逻辑分组进行了网段的划分。
下一篇:一个网址引发的技术大爆炸 - 第二章
转载请注明来自海坡下载,本文标题:《为什么要查找同一IP地址下的网站(一个网址引发的技术大爆炸第一章 DNSIP寻址局域网)》
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...