生成HTTP报文后,因为我们输入的是服务器的域名,但在包体的发送中需要的是服务器的IP地址,所以接下来的工作就是查找服务器的IP地址,而查询IP地址,就需要DNS服务器来帮忙了。
IP地址简介:
IP地址是32比特的数字构成的,一共4个字节,用十进制表示,然后原点隔开。共网络号+主机号两部分,但分配关系不确定。
IP地址表示方法:
10.11.12.13
子网掩码:用来区分IP地址内部结构的附加信息,是一串与IP地址长度相同的32比特数字,子网掩码为1的部分表示网络号,为0的部分表示主机号;其中主机号部分全部为0代表整个子网,主机号全部为1代表对子网所有设备进行广播
10.11.12.13/255.255.255.0 后四位字节就是子网掩码。
DNS解析器(客户端):
位于浏览器程序内部(Socket库),是一段代码,调用时将服务器名称填入相应位置即可进行查询。
DNS服务器:与DNS解析器对应的就是服务器,里面存放有IP地址与域名的对应关系。
在解析器和服务器内部流转的消息叫做:UDP消息
收发数据的4个阶段:
1、创建套接字阶段(连接由客户端发起) 应用程序是靠描述符来识别套接字的
2、连接阶段 连接的时候调用connect,需要指定描述符、端口号、IP地址这3个参数
3、数据传输阶段
4、断开管道并删除套接字阶段(可由客户端或服务器之一来断开) 客户端和服务器是靠端口号和IP地址来识别对方套接字的