应用层

  应用层协议用于位于不同主机中的多个应用进程之间的通信和协调工作,主要定义了应用进程交换的报文类型,各种报文类型的语法,字段语义和进程何时、如何发送报文,以及对报文响应的规则。

一、域名系统DNS

  域名系统DNS用于将互联网上的主机名字转换为IP地址,当一个应用进程需要把主机名解析为IP地址时,该应用进程调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器,本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回,应用进程获得目的主机的IP地址后进行通信。

  • 域名结构:由标号序列组成,各标号之间用点隔开
    • 标号序列由英文字母和数字组成,每一个标号不超过63个字符,不区分大小写,标号在除了连字符-以外不能使用其他标点符号
    • 级别最低的写在最左边,级别最高的写在最右边
    • 由多个标号组成的完整域名总共不超过255个字符
    • 互联网中的域名是唯一的

 

  • 域名服务器
    • 根域名服务器:最高层次域名服务器,所有的根域名服务器知道所有的顶级域名服务器域名和IP地址,不直接把待查询的域名转换成IP地址,而告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询
    • 顶级域名服务器:管理该层级下的所有二级域名,当收到DNS请求时,可能给出最后的结果,也可能是下一步应当找的域名服务器的IP地址
    • 权限域名服务器:当一个权限域名服务器还不能给出最后的查询回答,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器
    • 本地域名服务器:当所有要查询的主机也同属于同一个本地ISP时,本地域名服务器立即将所查询的主机名转为IP地址,不需访问其他域名服务器
    • 为了提高域名服务器的可靠性,当主域名服务器出故障时,辅助域名服务器可以保障DNS查询工作不会中断,主域名服务器定期将数据复制到辅助域名服务器,而更改数据只能在主域名服务器中进行,保证了数据的一致性
  • 域名解析过程
    • 主机向本地域名服务器的查询一般是递归查询,当主机询问的本地域名服务器不知道被查询域名的IP地址,本地域名服务器以DNS客户的身份想起他根域名服务器发出查询请求报文,返回的结果要么是所要查询的IP地址,要么是报错,无法查询到所需的IP地址
    • 本地域名服务器向根域名服务器的查询采用迭代查询,当根域名服务器收到本地域名服务器发出的查询请求报文时,要么给出查询的IP地址,要么告诉本地域名服务器下一步去哪个域名服务器查询,通常是把自己知道的顶级域名的IP地址告诉本地域名服务器,本地域名服务器在去顶级域名服务器查询
    • 为了提高DNS效率,并减轻根域名服务器的负荷,减少互联网的DNS查询报文数量,在域名服务器中使用告诉缓存,存放最近查询的域名以及从何处获取的域名映射信息
    • 域名服务器为每项内容设置计时器并处理超过合理时间的项

二、文件传送协议FTP

  • 文件传输协议FTP适用于在异构网络中任意计算机之前传送文件,若要存取一个文件,先获得一个本地的文件副本,如果要修改文件,只能对副本进行修改,然后将修改的文件副本传回到原节点。
  • 允许多个程序同时对一个文件进行存取,由操作系统提供对远地共享文件进行透明存取,不需要对使用文件的应用程序做明显的改动
  • 工作原理
    • 使用TCP可靠传输服务,减少或消除在不同操作系统下处理文件的不兼容性
    • 适用客户服务器方式,主进程打开端口号21,是客户进程能连接上,等待客户进程发送连接请求,启动从属进程处理客户进程发来的请求
    • 从属进程对客户进程的请求处理完毕后立即终止,但从属进程在运行期间根据需要可能创建了其他子进程
    • 从属进程包括控制进程和数据传送进程,在进行文件传输时,FTP客户和服务器之间建立两个并行的TCP连接,控制连接在整个会话期间一直打开,FTP客户发出的传送请求通过控制连接发送给服务器的控制进程,不传送文件;服务器的控制进程在接收到FTP客户发来的文件传输请求后,创建数据传送进程和数据连接,用来连接客户端和服务器的数据传送进程,完成实际文件的传送,;传送完毕后关闭数据连接结束运行
    • FTP 的控制信息是带外传送的,使协议在传输文件同时可以利用控制连接对传输过程进行控制

 

  • 简单传送文件TFTP
    • 使用客户服务器方式,UDP数据报传送
    • 有差错改正措施,只支持文件传输,不支持交互,数据报文按序编号,从1 开始
    • 没有庞大的命令集,没有列目录,不能对用户进行身份鉴别,支持ASCII码或二进制传送
    • 内存占用小,每次传送的数据报文中有512字节的数据,但最后一次可不足512字节
    • 可对文件进行读写,首部UDP 简单,端口号69
    • 若文件长度恰好为512字节的整数倍,在文件传送完毕后,需在最后发送一个只含首部而无数据的数据报文

三、远程终端协议TELNET

  • 跨距离传输,采用客户服务器方式,适应多计算机操作系统差异,定义网络虚拟终端NVT
  • 采用TCP协议,端口号23
  • RDP 远程桌面,必须利用管理员权限/远程用户组启动远程管理连接
    • Server多用户操作系统启动RDP可支持多用户同时使用服务器
    • XP和Windows 7 支持单用户操作
       

四、万维网WWW

  万维网是一个分布式的超媒体系统,是超文本系统的扩充,超文本是指包含指向其他文档的链接的文本,仅包含文档信息,超媒体文档包含图像、声音、动画等其他表示方式的信息

  • 万维网解决的问题:
    • 怎样标志分布在整个互联网上的万维网文档
    • 何种协议实现万维网链接
    • 怎样是不同作者不同作风的万维网文档显示在不同主机上并使用户知道链接地址
    • 怎样使用户快速方便找到信息
  • 统一资源定位符URL标记万维网文档
    • 每一个文档在互联网中存在唯一标识符URL
    • 格式: 协议://主机:端口/ 路径
    • 主机就是计算机在互联网上的域名,协议一般是HTTP或HTTPS
    • HTTP默认端口号是80,URL的协议和主机部分字母不区分大小写,但路径有时要区分大小写
  • 超文本传送协议HTTP实现互联网链接
    • HTTP面向事务,定义了浏览器怎样向万维网服务器请求万维网文档以及服务器怎样把文档传送给浏览器
    • HTTP协议本身是无连接的,使用的是TCP协议,通信双方在交换HTTP报文之前不需要先建立HTTP连接
    • HTTP协议是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
    • HTTP是面向文本的,在HTTP报文中的每一个字段都是ASCII码,每个字段长度不同
    • HTTP报文

      • HTTP请求报文:从客户端向服务器发送请求报文
        • 请求报文的请求行包括方法,请求资源的URL以及HTTP版本
        • 首部行说明浏览器服务器或报文主体信息
        • 一般不使用实体主体字段
      • HTTP响应报文:从服务器到客户端的回答
        • 状态行包含HTTP版本,状态码以及解释状态码的短语
        • 状态码都是三位数字,分为5类
          • 1xx表示通知信息,如请求收到了,正在进行处理
          • 2xx表示成功,如接受或知道了,202接受
          • 3xx表示重定向,如要完成某一请求还必须采取进一步行动,301 永久的转移了
          • 4xx表示客户的差错,如请求中有错误的语法或不能完成, 400 错误的请求,404找不到
          • 5xx表示服务器的差错,如服务器失效,无法完成请求
      • HTTP使用cookie跟踪用户信息,表示HTTP服务器和客户之间传递状态信息
        • 当用户浏览某个使用cookie的网站时,该站服务器为客户产生一个唯一识别码,并以此作为索引在服务器后端数据库产生一个项目,在客户的HTTP响应报文中添加一个Set-cookie的首部行
        • 当用户收到响应时,其浏览器在他管理的特定cookie文件中添加cookie信息,当用户继续浏览这个网站时,每发送一个HTTP请求报文,浏览器就会从其cookie文件中提取网站识别码,并放在HTTP请求报文的cookie首部行中
        • 此网站跟踪用户cookie后的,服务器不需知道用户真实姓名和其他信息,记录cookie识别码记录什么时间访问了什么页面,以及访问顺序和相关活动
        • 用户下次访问网站时,浏览器会在其HTTP请求报文中继续使用cookie首部行,网站服务器根据用户的访问记录返回上次记录的最后信息
    • 超文本标记语言HTML实现页面设计
      • HTML不是应用层协议,是一种网页语言,以.html或.htm为后缀,浏览器对HTML文档中的标签进行解释,用于结构化内容,是静态文档
      • XML 是可扩展标记语言,常用作配置文件,用于标记数据、定义数据类型,允许用户对自己的标记语言进行定义,跨平台,是对HTML语言的补充
      • CSS是层叠样式表,用于为HTML文档定义布局
  • 搜索引擎快速找到信息

五、电子邮件传送协议

  • 电子系统包括用户代理、邮件服务器、邮件发送协议SMTP和邮件读取协议POP3
    • 用户代理UA是用户与电子邮件系统的接口,实现对电子邮件的撰写、显示、处理和通信功能
    • 邮件服务器,既充当客户端,又充当服务器
    • 邮件发送协议SMTP是客户端向服务器发送邮件,使用TCP传送
    • 邮件读取协议POP3是服务器向客户端发送邮件,使用TCP传送
    • 电子邮箱地址格式:用户名@邮件服务器域名
  • SMTP简单邮件传送协议
    • 连接建立
      • 客户端端口号25与接收方邮件服务器SMTP建立TCP连接
      • 连接建立后,接收方SMTP服务器发出220 Service Ready服务就绪
      • SMTP客户向SMTP服务器发送HELO命令。附上发送方主机名
      • SMTP 如有能力接受邮件发送250 OK 否则回答421 Service Not Avaliable
      • SMTP不使用中间邮件服务器,直接在发送方和接收方直接建立TCP连接
    • 邮件传输
      • RCPT 命令: 先弄清楚接受方系统是否已做好接受邮件的准备,再发送邮件,避免资源浪费,不至于发送了很久的邮件才知道地址有错
      • 发送成功不代表收件人已读取有邮件
    • 连接释放
      • 邮件发送完毕后,客户端SMTP发送QUIT命令,SMTP服务器返回221服务关闭表示SMTP同意释放TCP连接
    • 在浏览器和互联网上的邮件服务器之间传送邮件时,使用HTTP协议,但在各邮件服务器之间传送邮件时,使用SMTP协议
  • 邮局协议POP3
    • ·只要用户从POP3服务器读取了邮件,POP3就把邮件删除
    •  是用户代理从接收方邮件服务器上读取邮件使用的协议

 

posted @ 2021-03-22 13:53  forever_fate  阅读(145)  评论(0)    收藏  举报