《计算机网络》读书笔记——应用层

发布于 2019-05-15  1.74k 次阅读


应用层

前言

每个应用层协议是为了解决某一类应用问题而提供的更详细的通信规则,具体来说,应用层协议应当定义:

  • 应用进程交换的报文类型,如请求报文和响应报文。
  • 各种报文类型的语法,如报文中的各个字段及其详细描述。
  • 字段的语义,即包含在字段中的信息的含义。
  • 进程何时、如何发送报文,以及对报文进行响应的规则。

''

DNS

域名系统被设计成一个联机式的分布式数据库系统,基于UDP通信将域名解析为IP地址返回。

域名服务器
  • 根域名服务器

    记录互联网上所有顶级域名服务器的域名和IP复制,根域名服务器采用任播技术,当DNS客户像某个根域名服务器的IP地址发送查询报文时,互联网的路由器能找到离这个客户最近的根域名服务器,大大加快查询过程。

  • 顶级域名服务器

    负责该顶级域名下的二级域名的解析请求。

  • 权威域名服务器

    负责一个区的域名解析。

  • 本地域名服务器

    离用户最近的域名服务器。

递归查询

''

向上作为客户机进行递归查询

迭代查询

''

"踢皮球"式,若查不到仅仅给予下一个要去查询的域名服务器建议。

高速缓存

与解析记录设置的ttl值有关,域名服务器在获取该解析后,将把解析记录缓存所设置的ttl时间,以便减少解析时间。

HTTP

HTTP是面向事务(一次请求一次响应)、无连接、无状态的应用层协议。

URL

统一资源定位符,用于得到资源位置并访问资源。

<协议>://<主机IP地址/域名>:<端口>/<资源路径>

HTTP报文结构

''

邮件协议

''

DHCP

动态主机配置协议DHCP(Dynamic Host Configuration Protocol)简化了一般用户上网的流程(手动配置IP、子网掩码等信息),提供了即插即用联网的机制。

DHCP对运行客户软件和服务器软件的计算机都适用。当运行客户软件的计算机移至一个新的网络时,就可使用DHCP获取其配置信息而不需要手工干预。DHCP给运行服务器软件而位置固定的计算机指派一个永久地址,而当这计算机重新启动时其地址不改变。 DHCP使用客户服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER)(将目的IP地址置为全1,即255.255.255.255),这时该主机就成为DHCP客户。发送广播报文是因为现在还不知道DHCP服务器在什么地方,因此要发现(DISCOVER)DHCP服务器的IP地址。这台主机目前还没有自己的IP地址,因此它将IP数据报的源IP地址设为全0。这样,在本地网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(address pool)中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER),表示“提供”了IP地址等配置信息。

DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租用期(lease period),但并没有具体规定租用期应取为多长或至少为多长,这个数值应由DHCP服务器自己决定。例如,一个校园网的DHCP服务器可将租用期设定为1小时。DHCP服务器在给DHCP发送的提供报文的选项中给出租用期的数值。按照RFC2132的规定,租用期用4字节的二进制数字表示,单位是秒。因此可供选择的租用期范围从1秒到136年。DHCP客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。

TCP系统调用流程

''


面向ACG编程