1.2 向DNS服务器查询Web服务器的IP地址

1.2.1 IP地址的基本知识

  1. 生成http请求消息后,下一步就是根据域名查询IP地址。
  2. TCP/IP的结构就是由茫茫多的子网通过路由器连接起来组成一个大的网络,在网络中每个设备都会被分配一个地址,地址包括子网号和主机号,网络号可以理解为子网号,主机号可以理解为设备在子网内的编号,整个地址的整体称为IP地址。
  3. IP地址是一串32比特的数字,8比特为一组分成4组,分别用十进制表示然后再用圆点隔开。
  4. 区分IP地址网络号和主机号的附加信息称为子网掩码,子网掩码为1的部分表示网络号,为0的部分表示主机号。
    10.11.12.13/255.255.255.0 与IP地址主题相同格式的子网掩码
    10.11.12.13/24 采用网络号比特数表示子网掩码的方法
    10.11.12.0/24 主机号部分比特全部为0,表示的不是单台设备,而是整个子网
    10.11.12.255/24 主机号部分全部为1,表示对整个子网进行广播

1.2.2 域名和IP地址并用的理由

  1. TCP/IP网络是通过IP地址来确定通信对象的,因此必须知道IP地址才能发消息。
  2. 网络中使用域名是因为域名比IP地址容易记住。
  3. 传送数据时用IP地址,是因为IP地址一共只占用4个字节,相比域名的几十甚至几百个字节,减少了路由器的负担,也提高了传送数据的效率。再者,域名不是定长数据,而处理长度不定的数据要比处理长度固定的数据复杂。
  4. DNS:Domain Name System,域名服务系统。最重要的功能是通过名称查询IP地址,通过IP地址查询名称。

1.2.3 Socket库提供查询IP地址的功能

  1. 计算机向DNS服务器发出查询需要有DNS客户端,又称为DNS解析器或解析器,通过DNS查询IP地址的操作称为域名解析。
  2. 解析器实际上是一段程序,包含在操作系统的Socket库中。库就是一堆通用程序组件的集合
  3. Socket库包含的程序组件可以让其他应用程序调用操作系统的网络功能,解析器就是苦衷的其中一种程序组件。

1.2.4 通过解析器向DNS服务器发出查询

  1. 只需要在应用程序中调用解析器提供的域名解析方法,即可完成IP地址查询。
    例如:<内存地址> = gethostbyname("www.lab.glasscom.com");
  2. 根据域名查询IP地址时,浏览器会使用Socket库中的解析器。

1.2.5 解析器的内部原理

  1. 网络应用程序调用解析器时,程序的控制流程转移到解析器内部,解析器得到IP地址并写入应用程序指定的内存地址后,控制流程回到应用程序。
  2. http消息是用文本编写,DNS消息是二进制数据。
  3. DNS服务器的IP地址是作为TCP/IP的一个设置项目事先设置好的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,100评论 0 8
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,651评论 2 56
  • IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一) 问题解析 问: IP地址,子网掩码,默认网关,...
    吴业鹏阅读 17,395评论 1 14
  • 本周一共看了三本书,其中有两本已看完,一本正在看。 《植物知道生命的答案》 推荐指数:5星 书评:这本书可以说很有...
    四鬼阅读 265评论 0 0
  • 因为近日的项目需要用到对数组做深克隆,所以做一个简要介绍与总结。 一开始听说这个概念的时候吓一跳,觉得高深莫测,有...
    FJW135阅读 696评论 0 1