计算机网络:应用层 - 文件传输协议 FTP & 电子邮件

计算机网络:应用层 - 文件传输协议 FTP & 电子邮件

    • [文件传输协议 FTP](#文件传输协议 FTP)
    • 电子邮件

文件传输协议 FTP

文件传送协议 FTP(File Transfer Protocol),曾是互联网祝频讲解上使用得最广泛的文件传送协议。

其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。

FTP一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。看起来在两台主机之间传送文件是很简单的事情。其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。经常遇到的问题是:

  1. 计算机存储数据的格式不同
  2. 文件的目录结构和文件命名的规定不同
  3. 对于相同的文件存取功能,操作系统使用的命令不同

FTP只提供文件传输的一些基本服务,它使用TCP可靠的运输服务。主要功能是减少或者消除再不同操作系统下文件的不兼容性。

一个FTP服务器可以同时为多个客户提供服务,FTP服务器进程主要由两部分组成:一个主进程和多个从属进程

主进程的工作如下:

  1. 打开熟知端口21,客户通过该端口连接服务器
  2. 等待客户进程发出连接请求
  3. 启动从属进程处理客户发来的请求,从属进程处理完任务后就终止
  4. 继续等待其它客户进程发来的请求

如下图所示:

本例中控制进程数据传送进程都是从属进程

  • 控制进程:使用21端口,整个会话期间都会保持打开,客户端发送的请求,通过控制连接发送给控制进程,但是该进程并不用于传输文件
  • 数据传送进程:使用20端口,实际用于传输文件的进程,当控制进程收到文件传输请求,就会创建数据传输进程,传输完毕后再关闭该进程

使用两个独立的连接的好处在于更加简单和容易实现。


电子邮件

实时通信的电话固然使用方便,但有两个严重缺点。第一电话通信的主叫和被叫双方必须同时在场。第二,有些电话常常不必要地打断被叫者的工作或休息。

电子邮件是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。

这相当于互联网为用户设立了存放邮件的信箱,电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。

电子邮件系统由三个主要构件组成:用户代理邮件服务器,以及邮件发送协议和邮件读取协议

如图:

用户代理是用户与电子邮件系统的接口,大部分情况下它是运行在用户计算机中的一个程序,因此又被称为电子邮件客户端软件。用户代理其实就是向用户提供一个方便操作的接口(页面),来发送和接收邮件。

用户代理至少要包含以下功能:

  1. 攥写:给用户提供编辑信件的环境
  2. 显示:可以在计算机屏幕上显示信件
  3. 处理:发送邮件和接收邮件,删除邮件等等,也就是对邮件的各种处理方式
  4. 通信:可以把邮件发送到服务器,也可以从服务器读取邮件到本地

邮件服务器主要用来发送和接收邮件,同时还要向发件人报告邮件传送的结果。

如图所示:

SMTP是邮件发送协议,POP3是邮件读取协议。

用户代理要先通过SMTP协议,将自己攥写的邮件发送到SMTP服务器上。随后该服务器再作为SMTP客户,利用SMTP协议将邮件发送到接收方的SMTP服务器上。

而用户想要接收邮件时,与服务器使用的是POP3协议,此时就可以把邮件读取到本地了。


相关推荐
向懒羊羊学习的大猫1 小时前
【专题】计算机网络之网络层
计算机网络
co0t3 小时前
计算机网络(11)和流量控制补充
服务器·网络·计算机网络
Li_0304063 小时前
Java第十四天(实训学习整理资料(十三)Java网络编程)
java·网络·笔记·学习·计算机网络
QQ_7781329749 小时前
密码学在网络安全中的应用
网络·计算机网络
QQ_77813297410 小时前
利用编程语言和脚本编写技术,实现自动化渗透测试和安全工具的开发
网络·计算机网络
Michael_Good16 小时前
【计算机网络】设备如何监听 ARP 请求广播
计算机网络
dal118网工任子仪1 天前
xss的过滤和绕过(2)
笔记·学习·计算机网络·网络安全·xss
java_heartLake2 天前
计算机网络之会话层
网络·计算机网络
也无晴也无风雨2 天前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
UestcXiye2 天前
《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项
c++·计算机网络·ip·tcp