访问网页过程

输入地址后如何访问上一个网页?

先介绍几个基本的知识点:

DNS:
      通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
    DNS是典型的应用层协议,端口号53,独特的地方在于在传输层,可以使用TCP和UDP发送数据!

为什么DNS既可以使用tcp也可以使用udp?
    可以从2方面来理解

    原因之一:当DNS协议使用udp报文大小受限制,udp最多一次发送512B,而tcp可以发送512B甚至更多。为什么呢?通过DNS报头我们可以看到:


DNS报头:
    其中,两个字节的标志部分具体如下:
    QR(1比特):查询/响应的标志位,1为响应,0为查询。
    opcode(4比特):定义查询或响应的类型(若为0则表示是标准的,若为1则是反向的,若为2则       是服务器状态请求)。
    AA(1比特):授权回答的标志位。该位在响应报文中有效,1表示名字服务器是权限服务器
    TC(1比特):截断标志位。1表示响应已超过512字节并已被截断
    RD(1比特):该位为1表示客户端希望得到递归回答
    RA(1比特):只能在响应报文中置为1,表示可以得到递归响应。
    zero(3比特):不说也知道都是0了,保留字段。
   rcode(4比特):返回码,表示响应的差错状态,通常为0和3,各取值含义如下:
 
    TC标志,仅当DNS报文使用UDP服务时使用。因为UDP数据报有长度限制,所以过长的DNS报文将被截断。1表示DNS报文超过512字节,并被截断。

    也就是说当使用udp的时候,如果DNS数据报超过了512B ,那么后面的部分就被截断了。由于TC位是仅在使用UDP协议的时候用,对于TCP没有影响

原因之二:
           DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。
    也就是说在主DNS服务器与辅助DNS服务器进行同步的时候,需要用TCP协议,为什么呢?个人理解是因为TCP是可靠的面向连接的,DNS服务器存储中的数据 不能出错。这也是使用TCP的原因。

DNS使用TCP 或者UDP 的场合?
  通俗地讲,就是DNS服务器之间传输时使用TCP,而客户端与DNS服务器之间传输时用的是UDP


2 ARP(地址解析协议)
    只知道了ip地址是不行的,ip地址能告诉我们将要访问的主机地址,能够使得ip数据包完整,但是当从ip层向下提交给数据链路层的时候,就需要MAC地址,如何得知MAC地址呢?就需要ARP协议啦!
    ARP:是根据IP地址获取物理地址的一个TCP/IP协议。这一部分的详细内容会近期在另一篇文章中说。

好了,有了前面的知识铺垫,下面来进行访问网页的过程:

DNS的过程:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值