请求包路由
当我们使用域名访问某一个网站时,实际上就是将请求包(以Http请求为例)通过网络传输给某台服务器,比如访问“www.baidu.com”时:
DNS域名解析拿到IP地址
将Http请求包通过网络路由到IP地址所对应的服务器
IP地址 (Internet Protocol Address)
IP地址就是计算机在网络中的唯一身份ID
ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255
IP地址 = 网络地址 + 主机地址(又称:主机号和网络号组成)
子网掩码(subnet mask)
IP中的网络地址和主机地址各是多少位表示呢?这就需要通过子网掩码来实现。
左边连续的1的个数代表网络号的长度(使用时必须是连续的),右边连续的0的个数代表主机号的长度。
网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。
网络号相同的主机处于同一个网段,网关(Gateway)就是到其他网段的出口。
解析域名分为两种:
域名解析是由DNS系统来负责的,DNS服务接受外部请求,从请求里提取域名。再拿着这个域名去做下面这俩件事,最终返回一个IP地址给发送者。发送者拿到IP地址之后,才去完成真正的请求调用。(这域名系统有中间商的味道了)
可以想象为Java里Map来表示这个关系:{域名:IP}。
将一个域名解析为一个IP地址
将一个域名解析为另外一个域名(CNAME别名)
hosts系统文件
文件地址:C:\WINDOWS\system32\drivers\etc\hosts
作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”
用户在浏览器中输入url,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页。
如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析,如果发现是被屏蔽的IP或域名,就会禁止打开此网页!
CDN 一个分布式的缓存服务器
CDN作用:提高访问速度。
CDN的原理是:使得DNS系统在做域名解析时,解析出来一个离用户最近的一个IP地址。
CDN专用DNS服务器需要知道:
1》知道用户当前所在位置(从用户请求的IP提取)
2》知道用户现在访问的这个域名对应哪些IP地址,以及这个IP地址分别在哪?(CDN提供商知道再哪些地方部署了他们的机器,以及他们的ip地址)
CDN流程:
普通DNS服务器发现域名对应的是一个DNS服务器(利用cname),那么会将域名解析工作转交给该DNS服务器(CDN专用DNS服务器)
这个CDN服务器上记录的所有CDN服务器地址信息,选出一个离用户最近的一个CDN服务器地址,并返回给用户。
广域网WAN(Wide Area Network)和局域网LAN(Local Area Network)
LAN好处就是: 通信延迟时间短,误码率低,可靠性较高。(可算是跟我大学学的知识挂边了)
广域网IP地址不能重复
局域网IP地址是局域网内部分配的,不同局域网的IP地址可以重复,不会相互影响
WAN和LAN之间是怎么联系起来的:
广域网(WAN)与局域网(LAN)电脑交换数据要通过路由器或网关的NAT(网络地址转换)进行。
通常情况下,网关或路由器对内部向外发出的信息不会进行拦截,
但对来自外部想进入内部网络的信息则会进行识别、筛选,认为是安全的、有效的,才会转发给内网电脑