打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用户主机请求一个网址后使用的协议以及过程的分析
用户在web浏览器(如IE)地址栏输入URL(统一资源定位符)“youngyl.360doc.com”,然后回车:

一.通过DNS服务器将域名解析为IP地址(假设DNS和我们的主机在一个网段):

(一)用户主机向其本地域名服务器发出DNS请求报文:
(主机向本地域名服务器的查询采用的是递归查询)
1.主机应用程序(浏览器)产生一个DNS请求报文(应用层),将请求传递给传输层。
2.传输层通过UDP(User Datagram Protocol,用户数据报协)或TCP(Transmission Control Protocol,传输控制协议)把DNS请求报文封装成用户数据报(UDP)或报文段(TCP),再传递给网络层。
3.网络层把传输层传下来的信息当作数据部分,加上自己的头部,将其封装成IP数据报(如果太长要切分成IP数据报片),IP数据报的源地址是当前主机IP地址,目的地址是本地域名服务器的IP地址,通过ARPAddress Resolution Protocol,地址解析协议)协议得到DNS服务器的MAC址(一说是在数据链路层,注1),然后把IP数据报传送给数据链路层。
4.数据链路层(三个基本问题:封装成帧,透明传输,差错检测)将网络层传下来的IP数据报组装成帧,以后把数据帧通过以太网传输给DNS服务器(本地域名服务器)。
5.DNS服务器再将收到的帧向上传给传输层,得到UDP(TCP)报文。通过UDP(TCP)报文中指定的端口号传给DNS应用程序。
6.本地域名服务器收到请求后,查询本地缓存(高速缓存),如果要解析的域名在当前的DNS服务器中有相应的表项,DNS服务器通过DNS应答将得到的IP地址返回给请求的主机。如果没有记录,本地DNS服务器还要向上级的DNS服务器发出DNS查询请求(以DNS客户的身份向根域名服务器发出解析请求,本地域名服务器向根域名服务器的查询采用迭代查询):(1)根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。(2)本地DNS服务器向顶级域名服务器dns.com发出解析请求报文。(3)顶级域名服务器dns.com收到请求后,判断该域名属于360doc.com域,故将对应的授权(权限)域名服务器dns.360doc.com的IP地址返回给本地域名服务器。(4)本地DNS域名服务器向授权域名服务器dns.360doc.com发起解析请求报文。(5)授权域名服务器dns.360.com收到请求后,将查询结果返回本地域名服务器。(6)本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。

(二)此时虽然浏览器得到对方的IP地址了,但仍不能发出请求。 要和对方服务器建立一个TCP(传输控制协议,TCP和UDP同属传输层,但是TCP协议是个可靠的面向连接的协议,要比UDP复杂的多。TCP更适合要求可靠传输的应用。)连接。
建立连接通过三次握手方法(注2),这里和以下发送的TCP报文同样要传给下一层:网络层。同样的,IP层给TCP报文加上IP报头,发送给路由器(假设主机和web服务器不在同一个网内),路由器根据报文中的目的IP地址决定下一跳的IP地址和端口。这个决定需要查询它自身的路由表(而路由表的维护需要路由协议,比如OSPF等)。IP报文可能通过多个路由器的转发,终于到达了对方的服务器。再剥掉IP报头递交给上层。
建立好了TCP连接,以后发送的数据都可以这条可靠的连接传输了。和WEB服务器之间的TCP连接建立成功。就可以发送请求了。下一步用HTTP协议请求网页内容。WEB服务器收到请求,就可以将HTTP响应信息通过刚才建立好的TCP连接送回给请求方。

(三)通过以上过程的描述我们可以发现,在发出web请求后所需要的协议有:
http协议、用户数据报协议、地址解析协议、TCP协议、路由协议和IP协议。它们的作用分别是,http协议:超文本传送协议 (HTTP) 是一种通信协议,它允许将超文本标记语言 (HTML) 文档从Web 服务器传送到 Web 浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。HTTP工作在TCP/IP协议体系中的TCP协议上。
用户数据报协议(UDP):U D P是一个简单的面向数据报的运输层协议,进程的每个输出操作都正好产生一个U D P数据报,并组装成一份待发送的I P数据报,提供面向事务的简单不可靠信息传送服务。
地址解析协议(ARP):实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。就比如以太网环境,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。
路由协议:路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。
TCP协议和IP协议组成一个体系,即TCP/IP协议(TCP传输控制协议和IP互联网协议),它由网络层的IP协议和传输层的TCP协议组成, TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。




注1:在OSI模型中ARP协议属于链路层;而在TCP/IP模型中,ARP协议属于网络层。
1)ARP分层的位置是TCP/IP的网络层
2)ARP报文是由以太网帧进行封装传输的。没有封装进IP包。
3)实际上,对网络接口层的以太网帧来讲,它们同样是帧的上层协议,当收到以太帧 时,根据帧的协议字段判断是送到ARP还是IP。
4)之所以不把它放在数据链路层,是因为它并不具备数据链路层的功能,它的作用是 为数据链路层提供接收方的帧地地址。 另外,我也建议读《TCP/IP详解》卷一里面有 图,明确它的位置属于网络层(画的时候,ARP,RARP画在IP层稍下端,而ICMP和I GMP画在IP层的上部,因为这二个协议是由IP进行封装的。)
注2:TCP头部: 其中 ACK   SYN  序号  这三个部分在以下会用到,它们的介绍也在下面。


暂时需要的信息有:

ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1

SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此,  SYN置1就表示这是一个连接请求或连接接受报文。


FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。




三次握手的过程:

首先由Client发出请求连接即 SYN=1 ACK=0  (请看头字段的介绍), TCP规定SYN=1时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=x

然后 Server 进行回复确认,即 SYN=1 ACK=1 seq=y, ack=x+1,

再然后 Client 再进行一次确认,但不用SYN 了,这时即为 ACK=1, seq=x+1, ack=y+1.

然后连接建立,为什么要进行三次握手呢(两次确认)。



下面是释放连接的过程:



当客户A 没有东西要发送时就要释放 A 这边的连接,A会发送一个报文(没有数据),其中 FIN 设置为1,  服务器B收到后会给应用程序一个信,这时A那边的连接已经关闭,即A不再发送信息(但仍可接收信息)。  A收到B的确认后进入等待状态,等待B请求释放连接, B数据发送完成后就向A请求连接释放,也是用FIN=1 表示, 并且用 ack = u+1(如图), A收到后回复一个确认信息,并进入 TIME_WAIT 状态, 等待 2MSL 时间。

为什么要等待呢?

为了这种情况: B向A发送 FIN = 1 的释放连接请求,但这个报文丢失了, A没有接到不会发送确认信息, B 超时会重传,这时A在 WAIT_TIME 还能够接收到这个请求,这时再回复一个确认就行了。(A收到 FIN = 1 的请求后 WAIT_TIME会重新记时)


另外服务器B存在一个保活状态,即如果A突然故障死机了,那B那边的连接资源什么时候能释放呢?  就是保活时间到了后,B会发送探测信息, 以决定是否释放连接。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
你应该知道的计算机网络知识
万字长文总结计算机网络核心知识点(建议收藏)
40张图大揭秘:输入网址后到底发生了什么
完整的一次 HTTP 请求响应过程(一)
后端通用教程(二)
从输入url到页面展示到底发生了什么
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服