zoukankan      html  css  js  c++  java
  • 域名系统DNS和FTP

    域名系统概述

      域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址。

      为什么机器在处理IP数据报时要使用IP地址而不使用域名呢?IP地址长度固定,而域名长度不固定,机器处理起来比较困难。

      域名系统采用层次树状结构的命名方法,并使用分布式域名系统,并使用客户服务器方式提供服务。DNS使大多数名字在本地进行解析,只有少量解析需要在因特网上进行通信,因此DNS系统效率很高。

      域名:任何一个链接在因特网上的主机或路由器,都拥有一个唯一的层次结构名字,该名字为域名。
      域:名字空间中的一个可被管理的划分,可以继续划分为子域。
      设计原则:域名的结构由若干个分量组成,各分量之间用点隔开,如:….三级域名.二级域名.顶级域名。每一级域名都由英文字母和数字组成(不超过63个字符,不区分大小写字母),除连字符(-)外不能使用其他标点符号。级别最低的域名写在最左边,级别最高的顶级域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。

      域名只是一个逻辑概念,并不代表计算机所在的物理地点。

      顶级域名分为三大类:国家级顶级域名、通用顶级域名和基础结构顶级域名。我国把二级域名划分为"类别域名"和"行政区域名"。

      DNS通过划分区域的方法来解决域名解析问题,一个服务器所负责管辖的范围叫区。每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。DNS服务器的管辖范围是以区为单位。区可能小于或等于一个域,但是一定不可能大于一个域。

      域名服务器划分:

    • 根域名服务器:最高层的域名服务器。所有的根域名服务器都知道所有顶级域名服务器的域名和IP地址。根域名服务器并不直接把待查询的域名直接转化成IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
    • 顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。
    • 权限域名服务器:负责一个区的域名服务器。当一个权限域名服务器还不能给出最后查询时,就会告诉发出查询请求DNS客户,下一步应当查询哪一个权限域名服务器。
    • 本地域名服务器(默认域名服务器):一般距离用户较近,一般不超过几个路由器距离。

      为了提高查询效率,并减轻根域名服务器的负载和减少英特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存。

      域名解析的迭代查询和递归查询如下:

     FTP协议

      FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
      默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
      FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive(也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。

    Port(主动模式)

      FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

    Passive(被动模式)

      在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
      很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/wxgblogs/p/5633457.html
Copyright © 2011-2022 走看看