从浏览器访问http://www.sina.com.cn的全过程?
从应用法式出访http://www.sina.com.cn的全操做过程
1.DNSDNS。
①应用法式先在临近地域host文件中搜索,假设搜索到了该www.sina.com.cnPS3到响应IP门商标的态射词条,则DNS获得胜利。
②假设没找出有联系关系的态射,则许诺临近地域所设置装备摆设的DNS伺服器,假设临近地域的DNS伺服器内存了http://www.sina.com.cnPS3有联系关系的IP门商标的重要信息,则临近地域DNS伺服器返回有关统计数据,DNS获得胜利。
③假设没找出有联系关系的IP门商标的重要信息,应用法式递回搜索DNS伺服器,伺服器展开插值搜索,曲到找出http://www.sina.com.cnPS3有联系关系的IP门商标的重要信息,接着返回结论到应用法式,没找出的话DNS失败。
递回搜索的操做过程:
应用法式先向DNS伺服器发出DNS许诺,目地是获取www.sina.com阿谁搜刮引擎大部分联系关系的IP门商标;
应用法式向YakDNS组件发出DNS许诺,DNS组件聚合有关的DNS统计数据流;接着,DNS组件将聚合的DNS统计数据传播达给互联网层的UDP协定组件;UDP协定组件将该统计数据PCB成UDP统计数据报,传达给收集层的IP协定组件;IP协定组件将该统计数据PCB成IP统计数据流,此中目地IP门商标为DNS伺服器的IP门商标;PCB好的IP统计数据流将传达给统计数据物理层的协定组件展开推送;推送时假设ARP内存中没有关统计数据,则推送ARP该台许诺,期待ARP廓清;
统计数据物理层的感化笼盖范畴是以太网,所以其MAC门商标确实是以太网内某台电脑的MAC门商标。而且ARP协定的感化笼盖范畴也是以太网。但IP统计数据流的目地门商标未必都是以太网内的,假设并不是,在以太网内展开ARP该台查询该IP门商标有联系关系的MAC门商标,确实没人廓清,即便各人谁都没阿谁IP门商标。
利用编码数据就能确定IP门商标是并不是统一以太网里的。假设是统一以太网,所以就能展开ARP。假设并不是,那就要靠收集层了。交换机表并不是只在交换电脑上才有的是,Yak上也有,并且也有交换机操做过程。
预设交换机途径(即便任何一个IP门商标 AND 0.0.0.0 后确实都是 0.0.0.0 的)意思就是:假设其他交换机项都不契合,则推送到预设交换机。预设情况下,windows电脑不会甘当交换电脑的机能,它不会转贴(forward)本身承受到的但目地门商标并不是本身的包。但那是能增设的,通过开启交换机转贴机能,就能甘当一个交换电脑了。如许,以太网中N57Cpp电脑就能把预设交换机增设为你的IP,接着他的大部分到内网的包都先交给你,接着你再交换机转贴进来。
IP门商标转换到MAC门商标的操做过程如下:
①起首获得IP包需要送抵的目地门商标 IP-des ;
②查交换机表,按照婚配 IP-des 的交换机表项获得下一跳(next hop)的中间目地门商标 IP-next (能包管 IP-next 是以太网中的门商标);
③在ARP内存中搜索 IP-next 有联系关系的MAC门商标,假设内存中没,再到以太网中利用ARP协定展开询问;获得了MAC门商标后,将MAC门商标放到帧头,推送统计数据。
当获得ARP廓清后,将IP门商标与交换机下一跳MAC门商标有联系关系的重要信息载入ARP内存表;载入内存后,以交换机下一道门商标充填目地MAC门商标,并以统计数据帧体例转贴;即便DNS伺服器在互联网中的位置差别,所以阿谁转贴操做过程可能会展开屡次;
DNS许诺被推送到DNS伺服器的统计数据物理层协定组件;DNS伺服器的统计数据物理层协定组件导出接到的统计数据帧,将其外部所所含的IP统计数据传播达给收集层IP协定组件;DNS伺服器的IP协定组件导出接到的IP统计数据流,将其外部所所含的UDP统计数据报传达给互联网层的UDP协定组件;DNS伺服器的UDP协定组件导出接到的UDP统计数据流,将其外部所所含的DNS统计数据传播达给该伺服器上的DNS办事项目组件;DNS办事项目组件接到DNS许诺,将DNS为有联系关系的IP门商标,产生DNS廓清统计数据流;
(大部分收集层统计数据流必需通过互联网层、收集层和统计数据物理层,此中 收集层次要使命是交换机,而统计数据物理层是供给相邻两个互联网实体间端到端的统计传输,能理解成为以太网内两台电脑间的统计传输。下面的操做过程就不再像之前那样约勒,尽量缩写了。)
DNS廓清统计数据流→UDP→IP→MAC→→许诺DNS的PS3;
许诺DNS的PS3接到统计数据帧,该统计数据帧→IP→UDP→DNS→应用法式;
将DNS的结论以搜刮引擎和IP门商标有联系关系的体例载入临近地域DNS内存表。
2.应用法式与www.sina.com.cn成立TCP毗连
应用法式按照门商标类别(IPv4,IPv6),套传输层
类别(SOCK_STREAM、SOCK_PACKET),协定类别(UDP,TCP)创建套传输层(socket(int domain, int type,
int protocol)),并存取一道门商标(IP+端标语),接着监听该端口(listen()),如今伺服器端处于监听形态。客户端用伺服器IP门商标和应用端标语创建一个套传输层做为许诺的套传输层,挪用connection函数(那里会为客户端创建一个套传输层,客户端IP门商标+肆意分配的端标语)试图许诺毗连(整个毗连操做过程就是三次握手的操做过程)。应用法式向www.sina.com.cn发出TCP毗连许诺统计数据流;
该许诺TCP统计数据流中的SYN标记位被增设为1,暗示毗连许诺;
该TCP许诺统计数据流→IP(DNS)→MAC(ARP)→→交换机→→http://www.sina.com.cnPS3;
该TCP许诺统计数据流颠末IP层时,填入的目地IP门商标就是上面DNS操做过程获得的IP门商标;
颠末统计数据物理层时,若MAC门商标不明,还要展开上面所论述的ARP操做过程;
www.sina.com.cn接到的统计数据帧→IP→TCP,TCP协定组件会廓清许诺应答统计数据流;
该许诺应答TCP统计数据流中的SYN和ACK标记位均被增设为1,暗示毗连许诺应答;
该TCP许诺应答统计数据流→IP→MAC(ARP)→→交换机→→许诺PS3;
许诺PS3接到统计数据帧→IP→TCP,TCP协定组件会廓清许诺确认统计数据流;
该许诺应答TCP统计数据流中的ACK标记位被增设为1,暗示毗连许诺确认;
该TCP许诺确认统计数据流→IP→MAC(ARP)→→交换机→→http://www.sina.com.cnPS3;
www.sina.com.cn接到的统计数据帧→IP→TCP,毗连成立完成;
在阿谁操做过程中,任何一个统计数据流出错或超时,都要展开重传;
阿谁操做过程被称为TCP成立毗连的三次握手
3.应用法式起头HTTP出访操做过程
IE应用法式向www.sina.com.cn发出HTTP-GET办法统计数据流;
该HTTP-GET办法统计数据流→TCP→IP→MAC→→交换机→→http://www.sina.com.cnPS3;
www.sina.com.cn接到的统计数据帧→IP→TCP→HTTP,HTTP协定组件会廓清HTTP协定格局PCB好的HTML超文本体例统计数据;
HTTP-HTML统计数据→TCP→IP→MAC(ARP)→→交换机→→许诺PS3;
许诺PS3接到的统计数据帧→IP→TCP→HTTP→应用法式,应用法式会以网页体例显示HTML超文本,就是我们所看到的网页。
4.断开TCP毗连
应用法式向www.sina.com.cn发出TCP毗连完毕许诺统计数据流;
该许诺TCP统计数据流中的FIN标记位被增设为1,暗示完毕许诺;
该TCP完毕许诺统计数据流→IP→MAC(ARP)→→交换机→→http://www.sina.com.cnPS3;
www.sina.com.cn接到的统计数据帧→IP→TCP,TCP协定组件会廓清完毕应答统计数据流;
该完毕应答TCP统计数据流中的FIN和ACK标记位均被增设为1,暗示完毕应答;
该TCP完毕应答统计数据流→IP→MAC(ARP)→→交换机→→许诺PS3;
阿谁操做过程需要双向展开,因而www.sina.com.cnPS3也会按上述流程再做一次;
整个操做过程被称为TCP断开毗连的四次握手。