电脑上访问一个网页,整个过程是怎么样的(url:www.sina.com):其中DNS、HTTP、TCP、OSPF、IP、ARP具体实现。
1.若DNS缓存中没有相关数据,则IE浏览器先向DNS服务器发出DNS请求:
3.IE浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS报文;
4.DNS模块将生成的DNS报文传递给传输层的UDP协议单元;
5.UDP协议单元将该数据封装成UDP数据报,传递给网络层的IP协议单元;
7.封装好的IP数据包将传递给数据链路层的协议单元进行发送;
8.发送时如果ARP缓存中没有相关数据,则发送ARP广播请求,等待ARP回应;
11.这个转发过程可能会进行多次,这取决于DNS服务器在校园网中的位置;
12.DNS请求被发送到DNS服务器的数据链路层协议单元;
13.DNS服务器的数据链路层协议单元解析收到的数据帧,将其内部所含有的IP数据包传递给网络层IP协议单元;
14.DNS服务器的IP协议单元解析收到的IP数据包,将其内部所含有的UDP数据报传递给传输层的UDP协议单元;
15.DNS服务器的UDP协议单元解析收到的UDP数据包,将其内部所含有的DNS报文传递给该服务器上的DNS服务单元;
17.(所有应用层报文必须通过传输层、网络层和数据链路层,因此在下面的叙述中,我将简化这一过程的叙述,简化形式如下面的样子,其中单箭头为本机内部传递,双箭头为网络上的发送)
18.DNS回应报文→UDP→IP→MAC→→请求域名解析的主机;
19.请求域名解析的主机收到数据帧,该数据帧→IP→UDP→DNS→IE浏览器;