计算机网络|应用层 笔记
概述
每个应用层协议都是为了解决某一类问题
通过位于不同主机的多个应用进程之间的通信和协同工作来完成
应用层的具体内容就是规定应用进程在通信时所遵循的协议
应用层的许多协议都是基于客户服务器方式
域名系统DNS
DNS概述
域名系统 DNS (Domain Name System) ,将域名和IP地址相互映射的一个分布式数据库,主要功能是提供域名解析服务,即将域名解析为IP地址,方便访问互联网
域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器
互联网采用层次树状结构的命名方法
…….三级域名.二级域名.顶级域名
域名服务器
根域名服务器
最高层次,最重要的域名服务器
所有的根域名服务器都知道所有的顶级域名服务器的域名和其IP 地址
本地域名服务器只要自己无法解析,就首先求助于根域名服务器
互联网13套根服务器,a到m
顶级域名服务器
顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名
权限域名服务器
每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射
本地域名服务器
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器
域名解析过程
主机向本地域名服务器的查询
采用递归查询
主机所询问的本地域名服务器不知道被查询域名的 IP 地址时,本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文
本地域名服务器向根域名服务器的查询
采用迭代查询
根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器进行后续查询的下一个服务器
高速缓存
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。
可大大减轻根域名服务器的负荷,使互联网上的 DNS 查询请求和回答报文的数量大为减少。每项内容设置计时器,并处理超过合理时间的项
动态主机配置协议DHCP
连接到互联网的计算机的协议软件需要配置的参数包括:
- IP 地址
- 子网掩码
- 默认路由器的 IP 地址
- 域名服务器的 IP 地址
动态主机配置协议 DHCP (Dynamic Host Configuration Protocol)
允许一台计算机加入新的网络时自动获取 IP 地址等相关信息,而不用手工配置
DHCP能够给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址
过程
需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报(DHCP DISCOVER),这时该主机就成为 DHCP 客户
本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文
DHCP 服务器先在其数据库中查找该计算机的配置信息
若找到,则返回找到的信息;若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机
DHCP服务器的回答报文叫做提供报文(DHCP OFFER)
现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息
当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答
收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机
租用期
DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期
租用期的数值应由 DHCP 服务器自己决定。
DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。
万维网www
一个大规模的、联机式的信息储藏所
万维网用“链接” 的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息
万维网以客户 - 服务器方式工作
浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档
在一个客户程序主窗口上显示出的万维网文档称为页面 (page)
四个问题
用URL标志分布在整个互联网上的万维网文档
用HTTP协议实现万维网上各种超链的链接
HTML使各种万维网文档都能在互联网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链
使用搜索引擎使用户能够很方便地找到所需的信息
URL
使用统一资源定位符 URL (Uniform Resource Locator) 来标志万维网上的各种文档。
使每一个文档在整个互联网的范围内具有唯一的标识符 URL。
资源定位符 URL 是对可以从互联网上得到的资源的位置和访问这些资源方法的一种简洁表示。
URL:<协议>://<主机>[:<端口>]/<路径>
HTTP http://<主机域名>[:<端口80>]/<路径>
HTTP
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)
HTTP 是一个应用层协议,它使用 TCP (80端口)连接进行可靠的传送
HTTP操作过程
为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。
从层次的角度看,HTTP 是面向事务的 (transaction-oriented) 应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础
HTTP报文结构
请求报文
响应报文
HTML
超文本标记语言 HTML (HyperText Markup Language) 使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来
HTML 定义了许多用于排版的命令(即标签)
HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档
电子邮件
用户代理UA
用户与电子邮件系统的接口。又被称为电子邮件客户端软件
基本功能:撰写、显示、处理和通信
邮件服务器 (Mail Server)
又被称为邮件传输代理
功能:发送和接收邮件,同时还要向发信人报告邮件传送的情况
邮件发送和读取协议
邮件发送和读取使用不同的协议协议。
简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件
读取协议:
POP3:邮局协议 (Post Office Protocol) 第3个版本
IMAP:网际报文存取协议 (Internet Message Access Protocol)
发送、接收电子邮件时使用 HTTP 协议
两个邮件服务器之间传送邮件时使用 SMTP
邮件服务器必须能够同时充当客户和服务器
SMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,目的是为了可靠地传送邮件
文件传送协议 FTP
(File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。
FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
RFC 959 很早就成为了互联网的正式标准。
文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
打开熟知端口(端口号为 21),使客户进程能够连接上。
等待客户进程发出连接请求。
启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。
接着,服务器进程用自己传送数据的熟知端口 (20) 与客户进程所提供的端口号码建立数据传送连接。
由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
使协议更加简单和更容易实现。
在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。
远程终端协议 TELNET
简单的远程终端协议,是互联网的正式标准
用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)
TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕
c/s
现在由于 PC 的功能越来越强,用户已较少使用 TELNET 了。
TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程
和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接

浙公网安备 33010602011771号