计网复习-2. 应用层(ch25-29)

2 应用层(ch25-29)


  • 应用层使用户能够访问网络,用户可以是人或软件。它为用户提供服务的接口和支持,如电子邮件、文件访问和传输、访问系统资源、游览万维网,及网络管理。

由于优快云的md格式和语雀不一样,语雀一些内置功能无法呈现,可以移步本人语雀原文档阅读,更加清晰:《计网复习-2. 应用层(ch25-29)》

2.1 ch25域名系统


  • TCP/IP协议使用IP地址唯一地确定一台主机到因特网的连接
  • DNS用于获取对应的IP地址

2.1.1 定义概念


名字空间
  • 名字空间将每一个地址映射到一个唯一的名字,它可以按两种方式进行组织:平面的和层次的。
  1. 平面名字空间
    1. 一个名字分配给一个地址
    2. 可能有也可能没有公共部分;即使有公共部分,也没有实际含义
    3. 必须集中控制才能避免二义性和重复
  2. 层次名字空间
    1. 每一个名字由几个部分组成
域名空间
  • 为了获得层次结构的名字空间而设计
  • 所有的名字由根在顶部的倒置树结构定义
  1. 标号
    1. 一个最多为63个字符的字符串
    2. 每一个节点的子节点(从同一节点分支出来的节点)有不同的的标号,这样就确保了域名的唯一性
  2. 域名
    1. 树上的每一个节点都有一个域名
    2. 域名总是从节点向上读到根节点
    3. 全称域名FQDN——包含所有的标号,唯一地定义一台主机的名字
    4. 部分域名PQDN——
    1. 是域名空间的一棵子树
    2. 域的名字是子树顶部节点的域名
    3. 一个域本身也可以再分划为多个子域
名字空间的分布
  • 必须将域名空间所包含的信息存储起来
  1. 名字服务器的层次结构
    1. 整个空间划分为多个基于第一级的域
  2. 区域
    1. 一个服务器负责或者授权的范围
    2. 完整的域名层次结构被分在多个服务器上——即一个节点由多个服务器构成
    3. 域或者区域都是“域名集合”,理解域和区域的区别关键在于:
      1. 域是层次结构中的概念,指某个完整的子树“域名集合”
      2. 区域是一个电脑负责管理的“域名集合“,不一定是一颗子树
  3. 根服务器——区域由整棵树组成的服务器
  4. 主服务器和辅助服务器
    1. 主服务器——存储了授权区域有关文件的服务器,负责创建、维护和更新区域文件,并将区域文件存储在本地磁盘中
    2. 辅助服务器——负责从另一个服务器 (主服务器或者辅助服务器) 传输一个区域的全部信息,并将文件存储在它的本地磁盘中
    3. 主服务器能够从磁盘文件中装载所有信息,辅助服务器从主服务器中装载信息。当辅助服务器从主服务器中下载信息时,这称为区域的传递。
因特网中的DNS
  • 因特网中,域名空间 (树) 被划分为三个部分:通用域、国家域和反向域
  1. 通用域——根据主机用途、组织机构类型来命名
  2. 国家域——使用两个字母的国家缩身(例如us代表美国),第二级标号可以是组织机构
  3. 反向域——用于将地址映射为名字

2.1.2 方法过程原理


DNS解析
  • 将名字映射为地址或者将地址映射为名字的过程,称为名字-地址解析。
  1. 解析程序
    1. DNS是一个客户机/服务器应用程序
    2. 主机调用一个称为解析程序的DNS客户程序将地址映射为名字或者将名字映射为地址
    3. 当解析程序接收到映射后,它解释并传递给发出请求的进程
  2. 名字到地址的映射
    1. 解析程序将域名提交给服务器,请求给出对应的地址
  3. 地址到名字的映射
    1. 客户机向服务器发送IP地址,请求映射为域名
  4. 递归解析
    1. 服务器把请求发送给另一个服务器 (通常是父服务器),并等待响应
  5. 迭代解析
    1. 客户端负责向第二台服务器重复发送请求
  6. 高速缓存
    1. 当服务器接收到查询一个不属于自己域的名字时,它需要搜索自己的数据库以查找一台服务器的IP地址
    2. TTL生存时间
DNS报文
  • 查询报文——头部和查询记录
  • 响应报文——头部、查询记录、响应记录、授权记录和附加记录
  1. 头部
    1. 查询和响应报文的头部格式相同
    2. 12个字节
      1. 标识——匹配对查询的响应
      2. 标记——子字段的集合,定义了报文的类型、应答的类型、期望的解析类型(递归或迭代)等
      3. 询问记录数——查询报文中询问部分请求记录的数量
      4. 应答记录数——响应报文中应答部分应答记录的数量
      5. 授权记录数——响应报文中授权部分所含授权记录的数量
      6. 附加记录数——响应报文中附加部分所含附加记录的数量
  2. 查询部分——由一条或者多条询问记录构成。查询和响应报文都含有这一部分
  3. 应答报文——包括从服务器到客户端 (解析器) 的应答
  4. 授权部分——给出了用于查询的一台或者多台授权服务器的信息 (域名)
  5. 附加消息部分——给出了有助于解析程序的附加信息。例如,服务器可以在授权部分为解析程序提供授权服务器的域名,并且把同一授权服务器的IP地址包含在附加信息部分中

2.1.7 记录的类型


  1. 询问记录——可户机从服务器获取信息
  2. 资源记录——每个域名与一个资源记录相关联,服务器数据库包含了所有的资源记录,可以返回资源记录给客户机

2.1.8 注册机构


  • 新的域名通过注册机构加入到DNS中

2.1.9 动态域名系统DDNS


  • DNS主文件动态更新,由DHCP发送信息,
  • 主动通知方式 & 被动通知方式

2.1.10 封装


  • DNS可以使用UDP或者TCP协议
  • 服务器熟知端口为53
  • 响应报文小于512B,使用UDP;反之使用TCP

2.2 ch26远程登录、电子邮件与文件传输


2.2.1 远程登录


  • TELNET是一个通用的客户/服务器应用程序
    • 分时环境——用户计算机通过一个终端产生交互
    • 登录
      • 用户标识符
      • 本地登录
        • 终端驱动程序将字符传递给操作系统,操作系统解释字符的组合,并调用所需的应用程序或实用程序
      • 远程登录
        • 本地动作:
          • 操作系统接受字符,发送到TELNET客户机
          • 这些字符转换成称为网络虚拟终端(NVT)字符的通用字符集
          • 传送给本地TCP/IP协议堆栈
          • 通过因特网传递给远程机器的TCP/IP堆栈
        • 远程动作:
          • 字符传递给OS
          • OS传送给TELNET服务器
          • TELNET服务器将字符转换成远程计算机可以理解的字符
          • 使用伪终端驱动程序接收上面的字符
          • 将这些字符传送给适当的应用程序
    • 网络虚拟终端
      • 用于将计算机字符与NVT形式之间地转换
      • NVT字符集
        • 数据字符
        • 控制字符
    • 嵌入
      • 使用TCP连接,服务器端口23
      • 将控制字符嵌入到数据流中
      • 用控制解释(IAC)将数据与控制字符区别开来
      • eg.
        • 退格字符被转换成两个远程字符 (IAC EC), 它嵌人在数据中发送到远程服务器。
    • 选项
      • 选项协商
      • 子选项协商
    • 操作方式
      • 默认方式——没有通过选项协商调用其他方式,单个字符编辑,客户机回显
      • 字符方式——服务器回显
      • 行方式——整行编辑,整行发送

2.2.2 电子邮件


1 架构
- 第一种情况——发送方与接收方是在同一个系统内的用户![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901123889-5d9986e1-faad-4ffa-96cc-5a34689613c9.png)
    * 两个UA(user agent)
- 第二种情况——发送方和接收方是不同系统上两个用户![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901169798-54edf9ef-7210-4855-892e-671c34877c5c.png)
    * 两个UA和一对MTA(massage transfer agent)
- 第三种情况——同情况二,发送方通过LAN或WAN连接邮件服务器![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901409253-a6b127d2-b066-4d76-b010-89c5948c127d.png)
    * 需要两对MTA(客户和服务器)
- 第四种情况——发送方和接收方通过局域网与广域网连接到邮件服务器![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901531783-67a79916-2538-47f3-a298-cf0765bf649b.png)
    * 需要两个UA、两对MTA (客户机与服务器)和一对MAA(客户 与服务器)
2 用户代理UA
- 用户代理提供的服务![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901562781-952d03a4-bde8-489b-9c99-92283af75b0e.png)
    * 组成报文——用户代理帮助用户组成发送出去的电子邮件
    * 读取报文
    * 回答报文
    * 转发报文
    * 处理邮箱——收件箱和发件箱
- 用户代理类型
    * 命令驱动型——从键盘接受单个字符的命令以执行某项任务(mail,pine,elm)
    * GUI型——使用键盘和鼠标与软件进行交互(Outlook,Netscape,Eudora)
- 发送邮件
    * ![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1731901831572-05e9e334-e447-409f-bc12-385ec2c95c59.png)
    * 信封——发信人与收件人的地址
    * 报文
        + 头部——定义发信人、收件人、报文的主题及其他信息
        + 主体——包含信的内容
- 接收邮件——用户(或定时器)触发用户代理检查邮箱。
- 地址——邮件处理系统的寻址系统![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1732259010187-f54229ed-66be-4f50-95be-4090e3fd994d.png)
        + 本地部分——用户邮箱
        + 域名——邮件服务器或交换器,域名来自DNS数据库
- 邮件列表电子邮件允许用一个名字,即别名 (alias), 来表示多个不同的电子邮件地址,这称为邮件列表。
- MIMEMultipurpose Internet Mail Extension)多用途因特网邮件扩展——一个辅助协议, 它允许非ASCII数据能够通过电子邮件传送。![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1732259206329-e1d15a6d-953d-4a53-85c9-7b36b5775413.png)
    * MIME头部
        + 1. MIME版本;
        + 2.内容一类型;——报文主体的数据类型
        + 3.内容-传送-编码;——定义将报文编码为一些0和一些1的方法
        + 4. 内容-标识符:——在多报文环境中唯一地标识整个报文
        + 5.内容一描述。——定义主体是否为图像、音频或视频
3 报文传输代理:SMTP——定义MTA客户机和服务器的形式化协议称为简单邮件传输协议(Simple Mail Transfer Protocol)
- ![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1732260383459-bea57bd1-2461-4fe7-82eb-9d8f8c519a9c.png)
- 命令和响应:命令从客户发送给服务器,包括一个关键词,后跟着0个或多个变量;响应是服务器发送给客户。响应是一个3位数字码,后面可以跟着附加的文本信息。
- 邮件传输阶段:连接建立、邮件传输和连接终止。
4 报文访问代理:POP和IMAP——客户机必须从服务器拉出报文
- ![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1732260412992-22d1346c-bebe-47fa-8763-6cc5d6d58de8.png)
- POP3——用户需要从邮件服务器的邮箱中下载邮件时,客户端发起邮件访问操作。有删除模式和保存模式。![](https://cdn.nlark.com/yuque/0/2024/png/40365840/1732260513413-20bb2ffe-9d06-4eff-a959-b7a83212cb3a.png)
- IMAP4——域与POP3一样,功能更强大,允许用户在服务器上组织邮件
5 基于Web的邮件

使用HTTP协议,见2.3 ch27万维网和HTTP协议

2.2.3 文件传输


1 FTP文件传输协议、
  • 使用TCP服务。它需要两个TCP连接。熟知端口21用于控制连接,而熟知端口20用于数据连接。
  • 在主机之间建立两个连接。一个连接用于数据传输,另一个用于控制信息传输(命令和响应)。
  • 控制连接是在控制进程之间进行的,而数据连接是在数据传输进程之间进行的。
  • 通过控制连接的通信:
    • 通过命令和响应来完成,一次发送一条命令(或响应),每一条命令或响应都是一个短行
  • 通过数据连接的通信:
    • 读取文件:从服务器将一个文件复制到客户。在RETR命令监管下完成的。
    • 存储文件:从客户将一个文件复制到服务器。在STOP命令监管下完成的;
    • 从服务器向客户发送目录或文件名列表。这是在LIST命令监管下完成的。应注意是FTP将目录或文件名列表当作一个文件,它在数据连接上发送。
    • 客户必须定义要传送的文件类型、数据结构和传输方式。
2 匿名FTP
  • 可用anonymous这个字作为用户名和使用guest这个字作为口令

2.3 ch27万维网和HTTP协议


2.3.1 体系结构


1 客户(浏览器)
  • 解释和显示Web文档
  • 每一种浏览器(browser)通常由三部分构成:一个控制程序、客户协议和一些解释程序。
2 服务器
  • Web页面存储在服务器中。
  • 当客户机请求到达时,相应的文档就发送给客户
3 URL统一资源定位符
  • URL格式包括4个部分:协议、主机、端口和路径。
4 Cookies
  • Cookies的创建和存储
    • 服务器从客户端接收到请求后,它将有关客户端的信息存储在文件或字符串中。这些信息可能包含客户端的域名、cookie的内容(服务器收集到的关于客户端的信息,如主机名、注册号等)、时间戳、以及与实现有关的其他信息
    • 服务器在响应中包含了它发送给客户机的cookie;
    • 浏览器在cookies目录中存储cookie, 并根据域服务器名进行分类。
  • Cookies的使用
    • 客户向服务器发送请求时,浏览器在cookie目录中查询是否有从那个服务器发送过来的cookie。如果有,则在请求中包含这个cookie
    • 服务器接收到这个请求后,它就知道了这是一个老客户
    • cookie的内容从来不让浏览器读取或者透露给用户,cookie只由服务器创建并收回

2.3.2 WEB文档


1 静态文档
  • 静态文档 (static document)是固定内容的文档,它由服务器创建和并存储在服务器中。
  • 客户端只能获取文档的一份副本。
  • HTML用于创建Web页面的语言
2 动态文档
  • 动态文档(dynamic document)是在有浏览器请求该文档时,才由Web服务器创建的。
  • 公共网关接口(CGI):创建和处理动态文档的一种技术。定义了如何编写动态文档,如何将数据传递给应用程序,以及如何使用输出结果
  • 输入:从浏览器到服务器的输入是通过使用一个表单(form)发送的
  • 输出:输出的结果通常是普通文本或者是带有HTML结构的文本;输出结果也可以是其他形式的对象。
  • 动态文档的脚本技术:PHP, JSP, ASP
3 活动文档
  • 需要程序或者脚本在客户端运行称为活动文档(activedocument)
  • Java小应用程序:程序员可以使用Java编写活动文档(一个小应用程序),并在浏览器中运行。
  • JavaScript:如果文档中的活动部分很少,那么可以用脚本语言编写,然后在客户端运行并同时解释。

2.3.3 HTTP


1 HTTP事务
  • 使用TCP服务,但是是一种无状态协议:客户端通过发送请求报文初始化这个事务,服务器通过发送响应进行回复
  • 报文:
    • 请求行和状态行:
    • 头部:
    • 主体:包含要发送或接收到的文档
2 持续与非持续连接
  • 非持续连接:每一次请求/响应都要建立TCP连接
  • 持续连接:服务器在发送响应以后会保持连接处于开启状态,以等待更多的请求。
    • 如果客户请求关闭或者超时时,服务器会关闭连接。
    • 发送方通常在每次响应时会发送数据的长度。
3 代理服务器
  • 代理服务器是一台计算机,能够保存最近请求的响应的副本。
  • 使用代理服务器,客户端必须配置为访问代理服务器而不是目标服务器。

2.4 ch28网络管理

简单了解,感兴趣自己深入学校。


2.4.1 网络管理系统


2.4.2 简单网络管理协议SNMP


  • 简单网络管理协议 (SNMP) 是使用TCP/IP协议族对互联网上的设备进行管理的一个框架,它提供一组基本的操作来监控和维护互联网中的设备。
  • SNMP使用管理器代理的概念。这就是说,管理器,通常是一台主机,控制和监视一组代理,代理通常是路由器
  • SNMP定义管理器代理之间交换分组的格式,读取和改变SNMP分组中对象(变量)的状态(值)
  • SMI定义对象命名、数据类型 (包括长度和定义域)以及编妈方法和取值的一般规则。
  • MIB创建一个被管理的实体中所有对象命名和类型,以及它们之间相互关系。

2.5 ch29多媒体

具体应用场景了,和计算机网络概念差别有点大了,有兴趣自学。


  • 1 数字化音频和视频
  • 2 音频与视频压缩
  • 3 流式存储音频/视频
  • 4 流式实时音频/视频
  • 5 实时交互式音频/sp
  • 6 实时传输协议RTP
  • 7 实时传输控制协议RTCP
  • 8 IP 语音
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值