• 计算机网络:应用层 - 文件传输协议 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协议,此时就可以把邮件读取到本地了。


  • 相关阅读:
    如何安装虚拟机
    【SpringMVC】一行代码完成文件上传&JRebel的使用
    二叉树基本操作实现 && 树和二叉树&& 二叉树进阶oj && 堆的基本概念 && 优先级队列的使用_
    压控振荡器的设计与分析
    【Linux入门学习教程】
    no appropriate protocol (protocol is disabled or cipher suites are inappropr
    【Redis】事务、lua脚本、发布订阅、异步连接
    Java输入-a,-b,geek,-c,888,-d,[hello,world]字符之后,如何将[hello,world]这个不分开
    LeetCode刷题复盘笔记—一文搞懂动态规划系列(第二篇)746. 使用最小花费爬楼梯
    第3周 用1层隐藏层的神经网络分类二维数据
  • 原文地址:https://blog.csdn.net/fsdfafsdsd/article/details/139835825