计算机网络
来自up湖科大教书匠
为啥我的长这样
网络世界真的神奇,amazing!!!!!
ping www.hnjtgc.cntracert www.hnjtgc.cn
当我们在浏览器输入域名的时候,用户PC中的DNS客户端进程会发送一个DNS查询请求报文。
DNS查询请求报文需要使用运输层的UDP协议,封装成UPD用户数据报,其首部中的源端口字段的值,在短暂端口号49151~65535挑选一个未被占用的,用来表示DNS客户端进程,例如49152,目的端口的值设置为53,这是DNS服务端进程所使用的熟知端口号,之后,将UPD用户数据报封装在IP数据报中,通过以太网发送给DNS服务器,DNS服务器端收到该IP数据报后,从中解封出UPD用户数据报,DNS服务端进程解析DNS查询请求报文的内容,
然后按其要求查找对应的IP地址,之后,会给用户PC发送DNS响应报文,
DNS响应报文需要使用运输层的UPD协议,封装成UPD用户数据报,之后,将UPD用户数据报封装在IP数据报中,通过以太网发送给用户PC,用户PC收到该IP数据报后,从中解封出UPD用户数据报,
然后,将DNS响应报文,交付给用户PC中的DNS客户端进程,DNS客户端进程解析DNS响应报文的内容,就可知道自己之前所请求的Web服务器的域名所对应的IP地址为192.168.0.3
现在,用户PC中的HTTP客户端进程,可以向Web服务器发送HTTP请求报文了,HTTP请求报文需要使用运输层的TCP协议封装成TCP报文段,
之后,将TCP报文段封装在IP数据报中, 通过以太网发送给Web服务器,Web服务器收到该数据报后,从中解封出TCP报文段,将HTTP请求报文交付给本服务器中的HTTP服务器端进程,HTTP服务器端进程解析HTTP请求报文的内容,之后会给用户PC发送HTTP响应报文,HTTP响应报文需要使用运输层的TCP协议封装成TCP报文段,
之后,将TCP报文段封装在IP数据报中,通过以太网发送给用户PC,用户PC收到该数据报后,从中解封出TCP报文段,HTTP客户端进程解析HTTP响应报文的内容,并在网页浏览器中进行显示。