在浏览器中输入www.centoschina.cn后万维网的工作过程
这个问题经常可以看到,今天我好好总结了下,是从网络模型的角度来分析问题的。
主要涉及:
应用层:DNS,HTTP
传输层:TCP
网络层:IP和路由选择协议:RIP,OSPF(内部网关协议),BGP(外部网关协议)
数据链路层:ARP
下面来具体分析:
1.应用层:客户端浏览器通过DNS解析到www.centoschina.cn的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
DNS解析IP:
HTTP访问服务器:
2、传输层:在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,通过查找路由表决定通过那个路径到达服务器,其中用到路由选择协议
路由选择协议:
因特网有两大类路由选择协议:
内部网关协议IGP(Interior Gateway Protocol)即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和OSPF协议。外部网关协议EGP(External Gateway Protocol)若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用最多的是BGP-4。
1)RIP协议
工作原理:
路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议。RIP是一种分布式的基于距离向量的路由选择协议。RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。距离的解释:从一路由器到直接连接的网络的距离定义为1。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加1。这里的“距离”实际上指的是“最短距离”。RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。“距离”的最大值为16时即相当于不可达。可见RIP只适用于
小型互联网。RIP不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由(即最短路由)哪怕还存在另一条高速(低时延)但路由器较多的路由。
2)内部网关协议OSPF(Open Shortest Path First)
基本特点:
“开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的。“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。OSPF只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。是分布式的链路状态协议。
工作原理:
向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
3)外部网关协议 BGP
BGP是不同自治系统的路由器之间交换路由信息的协议。边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
BGP发言人:每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”。一般说来,两个BGP发言人都是通过一个共享网络连接在一起的,而BGP发言人往往就是BGP边界路由器,但也可以不是BGP边界路由器。
BGP交换路由信息:
一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息。使用TCP连接能提供可靠的服务也简化了路由选择协议。使用TCP连接交换路由信息的两个BGP发言人,彼此成为对方的邻站或对等站。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
ARP(地址解析协议)
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS服务器利用 Nginx 静态代理博客并开启全站HTTPS
首先,你得有台云主机Vps。国内的话有阿里云、腾讯云这些。由于一些不可描述的原因,我选择的是部署在香港的 VPS,懂的都懂,其实我这台 VPS 主要是服务于 SS。当然一台买了这个 VPS 只拿来做 SS 服务有点浪费啊,而且部署在 github page 上的静态博客访问其实挺慢的,然后因为不想备案的原因,还无法用到国内大厂的 CDN 加速服务,于是萌生了干脆把博客静态指向到 VPS 的 IP 算了。 然后你还得买个域名,这总不能用 IP 来访问吧,太low。 安装 Nginx 在这里就不累赘了,附上安装地址:https://www.centoschina.cn/course/install/3480.html 配置 Nginx 配置文件在 /etc/nginx/nginx.conf 其中配置了两个 server,一个 80 端口的是 HTTP,一个 443 端口的是 HTTPS,这里强制让 80 端口重定向到了 HTTPS。 user root; worker_processes 4; pid /run/nginx.pid; events { worker_connections ...
- 下一篇
Linux命令硬链接、软链接
1.mount命令使用 2.fstab文件的使用 作业:把/opt挂载到/tmp/opt下,并且添加到fstab中 mkdir /tmp/opt mount –B /opt /tmp/opt /opt /tmp/opt none bind 0 0 本节内容: 1.硬链接 硬链接是用索引节点来进行链接的实际链接,硬链接允许一个文件拥有多个有效路径,删除其中一个链接并不会影响其本身,只有最后一个链接删除时才会删除本身节点。 硬链接有两个限制: a)不允许给目录创建链接 b)不能在不同分区之间创建硬链接 创建硬链接使用的命令:ln 基本用法 : ln 目标文件 链接名称,比如我们有一个hard01的文件,创建一个硬链接hard_link,可以使用命令 ln hard hard_link 可以看到这两个文件的inode是一样的,都是1260478,同时我们看到第三列的值变成了2。删除硬链接后会变成1: 2.软链接 软链接也叫符号链接,是一个包含了另一个文件路径的文件,可以指向任意文件或目录,也可以跨不同的文件系统,和windows下的快捷方式非常类似。删除软链接不会删除所链接的文件,删除源...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS关闭SELinux安全模块
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16