1.2DNS查询IP地址
- IP地址的基础知识
- 浏览器可以解析网址并生成http消息,但是并不具备将消息转发给网络的功能。
- 操作系统来完成发送消息的功能。
-
子网:用集线器连接起来的数台计算机
- 子网通过路由器连接形成网络。
-
IP地址:有一串32比特的数字,按8比特一组分为4组,分别用十进制表示并用圆点隔开。
-
IP地址的表示方法
方法 | 实例 |
---|---|
IP地址主体的表示方法 | 10.11.12.13 |
采用与IP地址主体相同的格式表示子网掩码 | 10.11.12.13/255.255.255.0 |
采用网络号比特数来表示子网掩码 | 10.11.12.13/24 |
表示子网的地址 | 10.11.12.0/24 |
表示子网的广播地址 | 10.11.12.255/24 |
-
子网掩码:与IP地址相同的32比特数字。
-
左一半是1:表示网络号,右一半是0:表示主机号
全是0 | 代表整个子网 |
---|---|
全是1 | 表示向子网所有设备发送包,即“广播” |
2.域名和IP地址并存的理由
-
DNS机制:
-
人来使用域名,路由器使用IP,弥补两者之间的障碍,通过一种DNS机制域名来查询IP或者IP查询域名
-
Socket库提供查询IP地址的功能
-
库:一堆应用程序组件的集合,其他应用程序需要使用它的组件
-
库的好处:
- 现成的组件搭建应用可以节省工作量
- 多个程序使用相同的组件可以使程序标准化
-
-
Socket库:可以使其他应用程序调用操作系统的网络功能。
- DNS解析器就是这个库中其中的一个应用组件
- 还包括:用于发送和接受的程序组件。、
-
- socket库是用于调用网络功能的程序组件集合。
-
通过解析器想DNS服务器发出查询
- 解析器的调用
- 如图所以,就可以调用解析器想DNS服务器查询IP地址的操作
-
根据域名查询IP地址时,浏览器会使用socket库中的解析器。
- 向DNS服务器发送查询消息
- DNS服务器返回响应消息
- 解析器提前IP地址,并写入浏览器指定的内容地址
-
解析器的内部原理
- 浏览器查询IP地址
- 调用socket库中的解析器
- 想DNS服务器发送查询请求
- 委托操作系统的协议栈发送
- 通过网卡将消息发送给DNS服务器
- IP地址写入响应消息中并返回
- 通过协议栈接收UDP消息
- 返回给解析器
- 返回给应用程序
网友评论