计算机网络复习(二) 应用层 下

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
简介: 计算机网络复习(二) 应用层

正文


3、File and FTP


(1)通信过程


对于文件 (File) 传输,通常使用 FTP (File Transfer Protocol) 控制通信规则,其依赖于 TCP 提供的服务


FTP 协议在通信时会建立两个连接,分别为 控制连接 (Control Connection) 和 数据连接 (Data Connection)


  • 控制连接:用于传输命令,进行授权认证
  • 数据连接:用于传输文件

对于 CS 架构通信过程如下:


  • 客户端与服务端建立控制连接
  • 客户端通过控制连接进行授权,发送命令
  • 服务端收到文件传输命令之后,建立数据连接
  • 服务端通过数据连接传输文件,当一个文件传输完成后,服务端关闭数据连接
  • 如果还有其它文件传输,需要重新建立数据连接

6caa6ae4dd2cb3b0de190e0922da29f8_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg


(2)消息格式


FTP 采用 命令/响应 格式,客户端发送的命令以及服务端返回的响应通过控制连接传输,它们都是 7 比特的 ASCII


客户端发送 命令 (Command) 进行授权和请求资源,常用的命令如下:


  • USER username:向服务端发送账号
  • PASS password:向服务端发送密码
  • LIST:返回当前目录的文件列表
  • RETR filename:从服务端下载文件
  • STOR filename:将文件上传到服务端


服务端接收到命令后,发送 响应 (Response) 返回结果,一个响应包括状态代码和状态信息,常见的响应如下:


  • 311:账号正确,要求输入密码
  • 125:已经建立数据连接,开始传输文件
  • 425:不能建立数据连接


4、Email and SMTP


(1)通信过程


对于邮件 (Mail) 传输,通常使用 SMTP (Simple Mail Transfer Protocol) 控制通信规则,其依赖于 TCP 提供的服务


邮件传输有两个重要的组件,分别是 用户代理 (User Agent) 和 邮件服务器 (Mail Server)


  • 用户代理:用于编辑、阅读邮件
  • 邮件服务器:用于发送、接收邮件


对于 CS 架构通信过程如下:


  • 发送方通过自己的用户代理编辑邮件
  • 发送方的用户代理发送邮件到自己的邮件服务器
  • 发送方的邮件服务器接收邮件,将邮件放在消息队列 (Message Queue),等待发送
  • 发送方的邮件服务器发送邮件到接收方的邮件服务器
  • 接收方的邮件服务器接收邮件,将邮件放在邮件箱子 (Mail Box),等待阅读
  • 接收方通过自己的用户代理阅读邮件

dfbefe971d1571f69d853d7cc0b64785_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg


(2)消息格式


最开始的时候,邮件只能传输文本,因此只用简单的 ASCII 定义邮件格式

普通邮件格式 包括两个部分,分为头部 (Header) 和主体 (Body)

281ea6b47d1bffc2f1ad3ca81e91065c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg

后来,邮件还能传输多媒体资源,又定义了新的格式 MIME (Multiperpose Internet Mail Extension)

只需要在头部添加新行,指定使用 MIME 邮件格式 即可

fdee2deb97231e61d00c7e46047a762d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg


SMTP 同样采用 命令/响应格式,对于客户端发送的命令以及服务端返回的响应,它们都是 7 比特的 ASCII


客户端发送 命令 (Command) 进行授权和请求资源,常用的命令如下:


  • HELO:建立连接
  • AUTH LOGIN:身份认证
  • MAIL FROM address:指定发送邮件的邮箱
  • RCPT TO address:指定接收邮件的邮箱
  • DATA:指定邮件正文
  • QUIT:关闭连接


服务端接受到命令后,发送 响应 (Response) 返回结果,一个响应包括状态代码和状态信息,常见的响应如下:


  • 220:服务就绪
  • 250:要求的操作已完成
  • 354:开始输入邮件正文,以 . 结束
  • 221: 服务关闭


(3)其它邮件协议


上面介绍过的 SMTP 是 邮件发送协议,下面要介绍的 POP3 和 IMAP 是 邮件接收协议


  • POP3 (Post Office Protocol 3):允许用户从邮件服务器下载邮件
  • IMAP (Internet Mail Access Protocol):允许用户直接在邮件服务器上管理邮件,包括移动、分类等

5、DNS


DNS (Domain Name System) 的作用是 将域名解析为 IP 地址


DNS 是一个 分布式、层次化的数据库,里面储存着域名与 IP 地址的映射关系,称为 资源记录 (Resource Record)


资源记录的格式如下:(name, value, type, ttl),常见的资源记录如下:


  • A 记录:type 为 A,此时 name 表示域名,value 表示 IP 地址
  • NS 记录:type 为 NS,此时 name 表示域名,value 表示负责解析 name 的域名服务器的域名
  • SOA 记录:type 为 SOA,此时 name 表示域名,value 表示负责解析 name 的主域名服务器的域名
  • CNAME 记录:type 为 CNAME,此时 name 表示别名,value 表示标准名称


数据库按照层级的不同可分为四层:


  • 根域名服务器 (Root DNS Server):目前全球一共有 13 台根域名服务器
  • 顶级域名服务器 (Top-Level Domain DNS Server):提供 com、org、net、edu 等顶级域名的解析服务
  • 权威域名服务器 (Authoritative DNS Server):为特定的组织提供解析服务
  • 本地域名服务器 (Local DNS Server):严格来说不属于其中一层,每个 ISP 都有一个本地域名服务器


DNS 也是一种 应用层协议,当请求域名解析服务时,通常使用 DNS 控制通信规则,其依赖于 UDP 提供的服务


(1)通信过程


当客户端向域名服务器请求域名解析服务时,有两种查询方式,分别是迭代查询和递归查询


如果使用 迭代查询 (Iterated Query),那么通信过程如下:

307056483dd1755c866cf646c0d6e8eb_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg

如果使用 递归查询 (Recursive Query),那么通信过程如下:

9ce46d8f1bc610364acf1c47741ed9d3_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg


(2)消息格式


DNS 使用 请求/回复格式,它们使用相同的报文


eb5572f9ae7665c264231f4c76fc1cdc_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzbXJ6eA==,size_16,color_FFFFFF,t_70#pic_center.jpg


文章知识点与官方知识档案匹配,可进一步学习相关知识

目录
相关文章
|
5月前
|
存储 分布式计算 监控
应用层---网络模型
应用层---网络模型
47 3
|
1月前
|
域名解析 网络协议 前端开发
【第四期】网络层、传输层、应用层
【第四期】网络层、传输层、应用层
25 3
|
1月前
|
XML JSON 网络协议
【网络】TCP/IP五层网络模型:应用层
【网络】TCP/IP五层网络模型:应用层
21 1
|
4月前
|
域名解析 存储 网络协议
一次读懂网络分层:应用层到物理层全解析
**网络五层模型简介:** 探索网络服务的分层结构,从应用层开始,包括HTTP(网页传输)、SMTP(邮件)、DNS(域名解析)和FTP(文件传输)协议。传输层涉及TCP(可靠数据传输)和UDP(高效但不可靠)。网络层由IP(路由数据包)、ICMP(错误报告)和路由器构成。数据链路层处理MAC地址和帧传输,物理层规定了电缆、连接器和信号标准。了解这些基础,有助于深入理解网络运作机制。
348 5
|
5月前
|
网络协议 API
【计算机网络概述】第二章:应用层:2.1 应用层原理
【计算机网络概述】第二章:应用层:2.1 应用层原理
|
5月前
|
域名解析 存储 缓存
【基础计算机网络】应用层
【基础计算机网络】应用层
|
6月前
|
传感器 数据可视化 JavaScript
物联网架构:感知层、网络层和应用层
【5月更文挑战第30天】物联网(IoT)由感知层、网络层和应用层构成。感知层利用传感器(如DHT11)收集环境数据;网络层通过ESP8266等设备将数据传输至云端;应用层提供用户服务,如Node-RED实现数据可视化。示例代码展示了Arduino读取温湿度,ESP8266连接Wi-Fi及Node-RED数据可视化流程。物联网架构为数据处理与服务提供全面支持,预示其在各领域广阔的应用前景。
472 2
|
5月前
|
网络协议
计算机网络学习记录 应用层 Day6(1)
计算机网络学习记录 应用层 Day6(1)
34 0
|
5月前
|
存储 缓存 网络协议
计算机网络网--应用层
计算机网络网--应用层
44 0
|
5月前
|
机器学习/深度学习 前端开发 JavaScript
【计算机网络】深度学习使用应用层的HTTP协议
【计算机网络】深度学习使用应用层的HTTP协议
61 0