用户输入网址后到收到网页,客户端需要发送三次数据。
1、DNS域名解析
2、建立TCP/IP连接
3、发送请求网页信息
建立TCP/IP连接与请求网页信息放在一起
1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号(源端口号为大于1023随机,目的
端口号为UDP53端口)及应用层服务(这里因该是请求DNS查询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址
及目的IP地址(源IP地址为客户端IP,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将
会在数据包里加入源MAC地址及目的MAC地址(源MAC地址为客户端网卡MAC地址,目的MAC地址为DNS服务器MAC地址),这里应该查询MAC缓
存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。
电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这个过程变成了解封装),DNS服务器做完域名解
析后再将数据传给客户端,传输过程同客户端发送数据。
2、建立TCP/IP连接:客户端知道WEB服务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器
端发送SYN信息,服务器端收到SYN信息后回复给客户端SYN+ACK确认信息,客户端收到确认信息后再向服务器发送ACK信息建立连接),应
用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WWW封装为数据段传给网路层
。网络层将数据段+源ip与目的ip(WWW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC地址(本
机MAC地址)及目的MAC地址(客户端与路由B相连端口的MAC地址)将数据包封装成数据帧。这里还需要CRC校验。。。。。。数据帧到达物
理层后变成电信号发送到介质上(这里还需要访问控制方法DSMA/CD)
路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FCS校验。。。。。。确定数据帧没有损坏后查看目的MAC地址与路由器端口
地址是否相同,如果相同将解封装,将数据包发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由A之
间的链路,创建帧。
路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层
,路由A查询路由表将数据包转发到与WEB相连的路由端口。
路由A的数据链路层将查询ARP缓存表确定WWW服务器的MAC地址,路由A将创建源MAC地址(路由A)及目的MAC地址(WEB服务器MAC地址)的
数据帧。WEB服务器收到数据帧后比较MAC地址,确定数据帧是发给WEB服务器的,传给WEB服务器的网络层,查看目的IP地址是否与WEB服务
器IP地址是否相同,相同即发送到传输层,查看为TCP协议及80端口号。应用层收到数据即向客户端响应WWW服务请求。
发送网页与请求网页数据发送相同
从输入网址到返回网页,通过OSI流程
原创
©著作权归作者所有:来自51CTO博客作者450120127的原创作品,如需转载,请与作者联系,否则将追究法律责任
上一篇:linux服务器操作系统分区
下一篇:集线器和交换机的区别
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
业务流程图和数据流程图、流程图
业务流程图TFD数据流程图(DFD)业务流程及数据流程图
业务流程图 数据流程图 TFD DFD 数据流图 -
WinForm输入网址打开源码
无聊练习一下WinForm,输入网址,点击按钮就在浏览器打开网址。 源代码下载: http://hovertree.com/h/bjaf/cao15h74.htm
C# .net winform css jquery