导图社区 计算机网络应用层
本张思维导图整理了计算机网络应用层协议及具体内容,归纳了域名系统DNS、文件传送协议FTP、电子邮件、万维网等具体内容。
编辑于2022-01-12 23:56:56应用层
解决通过应用进程交互来实现特定网络应用的问题
常见的网络应用:万维网www、域名系统DNS、动态主机配置DHCP、电子邮件、文件传送FTP和P2P文件共享、多媒体网络应用
客户/服务器方式(C/S)和对等方式(P2P)
动态主机配置协议DHCP
域名系统DNS
UDP,53
用户首先会在自己的DNS高速缓存中查找该域名所对应的IP地址,没有再向网络中的DNS服务器查询
域名:使用层次结构的命名树作为主机名字;使用分布式的域名系统,大多数域名都在本地解析
... . 三级域名 . 二级域名 . 顶级域名TLD
顶级域名
国家顶级域名nTLD:cn、us、uk
通用顶级域名gTLD:com、net、org、int、edu、gov、mil
反向域arpa:用于反向域名解析,IP->域名
二级域名
在国家顶级域名下注册的二级域名均由该国家自行确定
域名服务器
根域名服务器:最高层次的域名服务器,共13个不同IP地址的根域名服务器,每个都是服务器集群,根域名服务器通常不直接对域名进行解析,而是返回该域名所属的顶级域名的顶级域名服务器IP地址
顶级域名服务器:管理在该顶级域名服务器注册的所有二级域名,可能给出最后结果还有可能是下一级权限域名服务器的IP地址
权限域名服务器:管理某个区的域名,每个主机的域名都必须在某个权限域名处登记,他知道其管辖域名与IP地址的映射关系,还知道下级域名服务器的地址
本地域名服务器:不属于等级结构,代理作用,会将DNS域名请求报文转发到上述的域名服务器的等级结构中
域名解析过程
为了提高查询效率,减轻根域名服务器的负荷,减少因特网上DNS查询报文数量,域名服务器中广泛使用了高速缓存。高速缓存存放最近查询过的域名以及从何处获取域名映射信息记录。主机启动时从本地域名服务器下载域名和IP地址的全部数据库,放在自己最近使用的域名高速缓存,找不到才向域名服务器查询。都要保持高速缓存的正确性,定时更新
文件传送协议FTP
常见用途:计算机之间传输批量文件、让网站设计者将构成网站内容的大量文件批量上传至其web服务器
WindowsFTP站点,可用浏览器及ftp站点IP地址访问ftp站点
原理
1. FTP服务器端口号21,客户随机选择临时端口号,建立TCP连接,用于传送FTP的相关控制命令,随机端口号——21;
2. 有数据传输时FTP客户通过命令通道告知FTP服务器使用熟知端口号20来与自己的另一个临时端口号建立TCP连接,建立数据通道,另一个随机端口号——20;建立数据通道时,是FTP服务器主动连接FTP客户,称为主动模式;
控制连接在整个会话期间一直保持打开,数据连接在传输文件时才建立,传输结束就关闭;
3. 有数据传输时,FTP客户通过命令通道告知FTP服务器开启某个临时端口被动等待TCP连接,建立数据通道;另一个随机端口号——随机端口号;被动模式;
电子邮件
电子邮件系统采用客户/服务器方式
三个主要组成构件:用户代理,邮件服务器,电子邮件所需协议。
用户代理:用户与电子邮件系统接口,又称电子邮件客户端软件
邮件服务器:电子邮件系统的基础设施。所有ISP都有邮件服务器,功能是发送接收邮件及维护用户邮箱
电子邮件所需协议:邮件发送协议(SMTP)和邮件读取协议(POP3,IMAP)
用户代理-SMTP-》发送方邮件服务器-SMTP-》接收方邮件服务器《-POP3-接收方用户代理
简单邮件传送协议SMTP
只能传送ASCII码文本数据,不能传送可执行文件或其他二进制对象,多媒体文件;MIME可以将非ASCII码文件(逆)转换成ASCII码文件
邮局协议POP:TCP,110
因特网邮件访问协议IMAP:TCP,143
基于万维网的电子邮件:使用的是HTTP协议;
用户-HTTP-服务器-HTTP-用户
用户-HTTP-服务器-SMTP-服务器-HTTP-用户
万维网
运行在因特网上的分布式应用,利用网页之间的超链接将不同网站的网页连接成一张逻辑上的信息网;
浏览器最重要的部分是渲染引擎,也是浏览器内核
用户-请求报文-万维网服务器-响应报文-用户主机
为方便访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置
<协议>://<主机>:<端口>/<路径>(/<网页文件>)
浏览器内核解释渲染
超文本标记语言HTML,Hyper Text Markup Language,使用多种标签来描述网页的结构和内容
层叠样式表CSS,Cascading Style Sheet,美化
Javascript,脚本语言,控制网页行为
超文本传输协议HTTP,Hyper Text Transfer Protocol
定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传给浏览器
用户主机访问万维网服务器可以看成用户主机浏览器进程与服务器进程基于因特网的通信
浏览器进程首先发起与服务器进程的TCP连接,端口号80
基于已建立好的TCP连接,浏览器进程向服务器进程发送HTTP请求报文,服务器进程收到后执行相应操作并给浏览器进程发送HTTP响应报文
HTTP/1.0:非持续连接方式,浏览器每请求一个文件都要与服务器建立TCP连接,收到响应后就立即关闭,为减小时延,浏览器会建立多个并行TCP连接同时请求多个对象,但占用大量服务器资源。
HTTP/1.1:持续连接方式,可持续传送HTTP请求和响应报文,不局限于一个网页上引用的对象,只要文档都在一个服务器上就行;可流水线方式,浏览器收到HTTP响应报文之前可以连续发送多个请求报文
报文格式
HTTP是面向文本的,报文的每一个字段都是一些ASCII码串,每个字段长度不确定
请求报文格式
方法:
响应报文格式
状态码:200、400、404
浏览器会使用Cookie在服务器上记录用户信息
早期HTTP是无状态协议,用户仅仅是查看放在不同服务器上的各种静态文档
Cookie能够使万维网服务器记住用户,是一种对无状态的HTTP进行状态化的技术
在用户浏览器进程第一次向万维网服务器发送HTTP请求报文时,服务器进程会为其产生一个唯一Cookie识别码,并以此为索引在服务器的后端数据中创建一个项目,用来记录该用户访问该网站的各种信息,接着向浏览器进程发回HTTP响应报文(包含首部字段为Set-Cookie的首部行,取值就是Cookie识别码);浏览器进程收到响应报文后,就在特定 的Cookie文件添加一行,记录该服务器域名和Cookie识别码;再次访问时,浏览器进程每发送一个HTTP请求报文,都会从cookie文件中提取该网站的cookie识别码,放到HTTP请求报文的cookie首部行中;服务器可以根据识别码识别该用户,并返回该用户的个性化网页。
万维网缓存和代理服务器
缓存机制可以提高效率,万维网缓存又称为web缓存,可位于客户机,也可位于中间系统上,位于中间系统上的web缓存又称为代理服务器(Proxy Server)
web缓存将最近的请求和响应暂存本地磁盘,当新请求到达,若请求与暂时存放的请求相同,就返回暂存的响应,不需要按URL的地址再次去因特网访问该资源,每个响应对象都有修改时间Last-Modified字段和有效日期字段Expired;若没有所请求的对象,则代理服务器则会向原始服务器请求,原始服务器向代理服务器发送响应请求(包含请求对象),代理服务器将该响应存入web缓存,并向主机发回该响应。
若代理服务器中响应过期,则代理服务器会向因特网上的原始服务器发送请求(If-modified-since首部行=Last-Modified),原始服务器判断代理服务器与自己的文档是否一直;一致,发送不包含实体主体的响应,状态码304 Not Modified,代理服务器重新更新Expired,再将该文档封装在响应报文中发给主机;不一致,则原始服务器发送封装有该文档的响应报文,代理服务器更新该文档并发给主机