应用层
至今为止从下到上物理层,数据链路层,网络层,传输层保证了我们的进程可以实现与其他网络中电脑的某一进程通信了,此时根据不同应用程序的需要,我们设计相对应的协议来满足他们的需求,这也是我们想要的最终目的。
两种网络应用:
1.客户/服务器(client/server)
客户端请求服务器,服务器响应客户端这样的一种方式进行“交流
2.P2P
也称为对等体系结构。P2P相当于每个人的电脑度可以当服务器,也可以当客户端,不单单限制于只能客户端访问服务器,你自己的计算机可以去访问别人的计算机上的内容,别的同样可以访问你计算机上的内容,这样达到一种共享的状态。
DNS协议
域名与ip地址的对应
一个完整的 DNS 协议进行域名解析的过程。这里我们以正向解析为例(域名解析成 IP 地址):
1)首先搜索浏览器的 DNS 缓存,缓存中维护一张域名与 IP 地址的对应表;
2)若没有命中,则继续搜索操作系统的 DNS 缓存;
3)若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器查询自己的DNS缓存,查找成功则返回结果(注意:主机和本地域名服务器之间的查询方式是递归查询);
4)若本地域名服务器的 DNS缓存没有命中,则本地域名服务器向上级域名服务器进行查询,通过以下方式进行迭代查询(注意:本地域名服务器和其他域名服务器之间的查询方式是迭代查询,防止根域名服务器压力过大):
首先本地域名服务器向根域名服务器发起请求,根域名服务器是最高层次的,它并不会直接指明这个域名对应的 IP 地址,而是返回顶级域名服务器的地址,也就是说给本地域名服务器指明一条道路,让他去这里寻找答案
本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的地址
本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址
5)本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来
6)操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来
7)至此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起来
HTTP协议
图片来自HTTP权威指南,边读边更
超文本传输协议(HTTP) 是一个用于传输超媒体文档(例如HTML)的应用层协议。 它是为Web 浏览器与Web 服务器之间的通信而设计的,但也可以用于其他目的。