计算机网络基础 - 应用层(2)


大家好呀!我是小笙,本章我主要分享计算机网络基础 - 应用层(2)学习总结,希望内容对你有所帮助!!

应用层

FTP 与 EMail

文件传输协议 FTP

  • 有状态的协议
  • 向远程主机上传输文件或从远程主机接收文件
  • ftp服务器端口号为 21

FTP客户端与FTP服务器上传下载过程

  • FTP客户端与FTP服务器通过端口 21 联系,并使用TCP作为传输协议
  • 客户端通过控制连接获得身份确认
  • 客户端通过控制连接发送命令浏览远程目录并上传/下载文件
  • 收到一个文件传输命令时,服务器打开一个到客户端的数据连接
  • 一个文件传输完成后,服务器关闭连接
  • 服务器打开第二个TCP数据连接用来传输另一个文件

注意:建立的控制连接和数据连接不在同一个进程端口上

建立数据连接的模式

  • 主动模式时,服务器的20号端口主动与客户端的随机端口建立传递数据的连接
  • 被动模式时,服务器告知客户端,让其与服务器的某一指定端口建立数据连接,但客户端的端口依然是随机的

电子邮件 EMail

电子邮件是一种异步通信媒介,现代电子邮件具有许多强大的特性,包括具有附件、超链接、 HTTP 格式文本和图片的报文

主要组成部分
  • 用户代理 又名 “邮件阅读器”

    • 撰写、编辑和阅读邮件 如Outlook、Foxmail
    • 输出和输入邮件保存在服务器上
  • 邮件服务器

    • 邮箱中管理和维护发送给用户的邮件
    • 输出报文队列保持待发送邮件报文
  • 简单邮件传输协议 SMTP

    • 客户:发送方邮件服务器
    • 服务器:接收端邮件服务
image-20240822222417842
SMTP
概述

SMTP 是因特网电子邮件的核心,用于从发送方的邮件服务器发送报文到接收方的邮件服务器

  • 持久性链接

  • 报文必须为7位 ASCII 码

  • 使用TCP在客户端和服务器之间传送报文,端口号:25

  • 直接传输:从发送方服务器到接收方服务器,传输的3个阶段

    • 握手
    • 传输报文
    • 关闭
SMTP 与 HTTP1.1

相同点是两者都使用持续连接的方式

不同点:

  • HTTP 协议主要是一个 PULL 的协议,STMP 基本上是一个 PUSH 的协议
  • SMTP 要求每个报文采用7位 ASCII 码,而 HTTP 并没有这种限制
  • SMTP 可以将一个既包含文本又包含图片的文件放在同一个报文中,但是 HTTP 不行
邮件报文格式
报文格式

报文的首部行:每个首部必须含有一个 From 首部行和一个 To 首部行;一个首部也许包含一个 Subject: 首部行以及其他可选的首部行

image-20240823131820135
多媒体扩展 MIME

一种用于扩展电子邮件消息功能的标准,允许电子邮件不仅限于文本,还可以包含各种格式的内容如图像、音频、视频等

  • 它在多媒体内容传输和Web应用中也被广泛应用

  • MIME定义了内容类型(如 text/htmlimage/pngaudio/mpeg 等)以及内容编码方式,从而使得浏览器和其他应用程序能够正确处理和显示这些内容

  • 报文的格式

    image-20240824105017006
邮件访问协议
概述
image-20240823132238282
  • SMTP: 传送到接收方的邮件服务器
  • 邮件访问协议:从服务器访问邮件
    • POP3:邮局访问协议(Post Office Protocol) ;用户身份确认 (代理 <=> 服务器) 并下载
    • IMAP:Internet 邮件访问协议(Internet Mail Access Protocol);在服务器上处理存储的报文
    • HTTP
POP3

一个极为简单的邮件访问协议(本地管理文件夹)

工作过程

当用户代理打开了一个到邮件服务器(服务器)端口 110 上的 TCP 连接后, POP3就开始工作了

  1. 用户代理发送(以明文形式)用户名和口令以鉴别用户
  2. 用户代理取回报文,同时在这个阶段用户代理还能进行如下操作,对报文做删除标记,取消报文删除标记,以及获取邮件的统计信息
  3. 在客户发出了 quit 命令之后,目的是结束该 POP3 会话;这个时候该邮件服务器删除那些被标记为删除的报文

注意

  • 可以使用下载并删除、下载并保留两种模式
    • 下载并删除模式:如果改变客户机,客户就不能阅读邮件
    • 下载并保留模式:不同客户机上为报文进行拷贝
  • 在用户代理与邮件服务器之间的POP3会话期间,该POP3服务器保留了一些状态信息,特别是记录了哪些用户报文被标记为删除了;然而,POP3服务器并不在POP3会话过程中携带状态信息,会话中不包括状态信息大大简化了POP3服务的实现(在会话中是无状态的)
IMAP

一种用于电子邮件客户端与邮件服务器之间通信的协议(远程管理文件夹)

它允许用户在服务器上管理和访问电子邮件,而不仅仅是下载到本地客户端;IMAP特别适合于需要在多个设备上访问相同邮箱的场景,例如在手机、电脑和其他设备上查看邮件

  • IMAP 服务器将每个报文与一个文件夹联系起来
  • 允许用户用目录来组织报文
  • 允许用户读取报文组件
  • 在会话过程中保留用户状态: 目录名、报文ID与目录名之间映射

DNS

概述

为其他应用提供服务的应用

  • 运行在UDP之上端口号为53的应用服务
  • 核心的 Internet 功能,但以应用层协议实现,在网络边缘处理复杂性

DNS 主要用来做什么?

主要目的

ip 地址(ip 地址标识主机、路由器)不好记忆,不便人类使用,一般倾向于使用一些有意义的字符串来标识 Internet上的设备,例如:百度 https://www.baidu.com/baidu

然而路由器则喜欢定长的、有着层次结构的 ip 地址,例如:127.0.0.1

因此为了折中这些不同的方式,需要一种能进行主机名到 ip 地址转换的应用服务

其它目的

  • 主机别名到规范名字的转换
  • 邮件服务器别名到邮件服务器的正规名字的转换
  • 负载均衡:当客户对映射到某地址集合的名字发出一个 DNS 请求时,即服务器用 ip 地址的整个集合进行响应,但在每个回答中循环这些地址次序

域名结构

  • 每个(子)域下面可划分为若干子域,树叶是主机

  • 域名:从本域往上,直到树根;中间使用 “.” 间隔不同的级别,例如:www.baidu.com

域与物理网络无关

  • 域遵从组织界限,而不是物理网络
    • 一个域的主机可以不在一个网络
    • 一个网络的主机不一定在一个域
  • 域的划分是逻辑的,而不是物理的

工作机理

集中式设计

客户直接将所有查询直接发往单一的 DNS 服务器,同时该 DNS 服务器直接对所有的查询客户做出响应。尽管这种设计的简单性非常具有吸引力,但它不适用于当今的因特网,因为因特网有着数量巨大的主机,存在如下问题

  • 单点故障:如果该 DNS 服务器崩溃,整个因特网随之瘫痪
  • 通信容量:单个 DNS 服务器不得不处理所有的 DNS 查询(上亿台)
  • 远距离的集中式数据库:单个 DNS 服务器不可能"邻近"所有查询客户
  • 维护:单个 DNS 服务器将不得不为所有的因特网主机保留记录
分布式、层次数据库

为了处理扩展性问题, DNS 使用了大量的 DNS 服务器 ,它们以层次方式组织,并且分布在全世界范围内。大致分成3种类型的 DNS 服务器,根 DNS 服务器顶级域 DNS 服务器权威 DNS 服务器

image-20240825141335109
根 DNS 服务器

根名字服务器由 13个不同的组织管理(根名字服务器提供 TLD 服务器的 ip 地址)

顶级域 DNS 服务器

对于每个顶级域和所有国家的顶级域都有 TLD 服务器(或服务器集群) (TLD 服务器提供了权威 DNS 服务器的 ip 地址)

  • 通用的(.com、.edu、.int 等等)
  • 国家的(.cn、.us、.nl等等)
image-20240824151117670
权威 DNS 服务器

组织机构的DNS服务器, 提供组织机构服务器(如Web和mail)可访问的主机和 ip 之间的映射(组织机构可以选择实现自己维护或由某个服务提供商来维护)

image-20240825142055334
本地DNS服务器

严格说来,一个本地DNS服务器并不属于该服务器的层次结构,但它对DNS层次结构是至关重要

主机的本地DNS服务器通常“邻近”本主机。当主机发出DNS请求时,该请求被发往本地DNS服器,它起着代理的作用,并将该请求转发
到DNS服务器层次结构中,详细的调用过程如下两种

递归查询

名字解析负担都放在当前联络的名字服务器上,解决方式: 迭代查询

image-20240825143810226

迭代查询

  • 根(及各级域名)服务器返回的不是查询结果,而是下一个 DNS 的地址
  • 最后由权威名字服务器给出解析结果

image-20240825143430490

DNS 缓存

为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术

  • DNS缓存的原理非常简单。在一个请求链中,当某DNS服务器接收一个DNS回答(包含某主机名到 ip 地址的映射)时,它能将映射缓存在本地存储器中
  • 由于主机和主机名与 ip 地址间的映射并不是永久的,DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信息

记录和报文

资源记录
  • 作用:维护域名 - ip 地址(其它)的映射关系
  • 位置:Name Server的分布式数据库中
  • RR格式: (Domain_name,Ttl,Type,Class,Value)
    • Domain_name: 域名
    • Ttl: time to live : 生存时间,决定了资源记录应当从缓存中删除的时间
    • Class 类别 :对于Internet,值为 IN
    • Value 值:可以是数字,域名或ASCII串
    • Type 类别:资源记录的类型

对于不同的 Type 类型,转换的方式不同,如下

  • Type = A:Name 为主机;Value 为 ip 地址
  • Type = CHAME:Name 为规范名字的别名;Value 为规范名字
  • Type = NS:Name 为域名;Value 为该领域的权威服务器的域名
  • Type = MX:Name 为邮件服务器的规范名字的别名;Value 为邮件服务器的规范名字
报文

DNS 只有这两种报文,并且查询和回答报文有着相同的格式

image-20240826130110784
  • 前 12 个字节是首部区域。第一个字段(标识符)是一个 16 比特的数,用于标识该查询(类似于订单号的作用)
  • 问题区域包含着正在进行的查询信息该区域包括:①名字字段 ②类型字段
  • 回答区域包含了对最初请求的名字的资源记录
  • 权威区域包含了其他权威服务器的记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗念笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值