• 计算机网络-应用层(文件传输协议(FTP协议),电子邮件系统(SMTP协议,MIME,POP3,IMAP协议))


    1. 文件传输协议

    文件传输协议:

    1. 文件传送协议FTP:提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
    2. 简单文件传送协议TFTP:使用于UDP环境,代码块内存比较小。

    FTP是基于客户/服务器(C/S)的协议。

    用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
    依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
    连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
    
    • 1
    • 2
    • 3

    FTP协议工作原理

    1. ftp+用户名+密码登录ftp。或者也可以使用匿名用户来访问远程主机上公开的文件

    2. FTP使用TCP实现可靠传输。

    3. FTP服务器的进程分为两类,一个主进程,多个从属进程

      主进程:负责接受新的连接请求,打开21号端口,为连接的请求分配从属进程。
      从属进程:处理单个的用户连接请求。

    在这里插入图片描述

    FTP在传送数据时,控制连接在整个文件传输会话中都要保持。用户通过控制链接发送命令给服务器的控制进程。

    控制进程收到用户数据传输命令后,创建数据传送进程,文件传输完毕后关闭数据传送链接。

    这两个端口号不同。数据传送进程和控制进程都属于从属进程。
    是否使用TCP20端口建立数据连接与传输模式有关

    • 主动方式使用TCP20端口
    • 被动方式由服务器和客户端自行协商决定(端口>1024)

    FTP传输模式:

    1. 文本模式:ASCII模式,以文本序列传输数据
    2. 二进制模式:Binary模式,以二进制序列传输数据。

    2. 电子邮件系统

    电子邮件系统组成结构:
    在这里插入图片描述
    用户代理:用户与电子邮件之间的接口。(电子邮件的客户端软件)

    邮件服务器:

    1. 发送、接收邮件
    2. 向发件人报告邮件传送结果
    3. 邮件服务器也可以作为客户。eg:当邮件服务器向另一台邮件服务器发送数据时,此时发送方邮件服务器就作为客户角色。
    4. STMP协议:发送数据协议
      POP3协议,IMAP协议:接受数据协议

    在这里插入图片描述
    SMIP协议:简单邮件发送协议
    SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。

    SMTP进程包括:
    1. 负责发送邮件的SMTP进程就是SMTP客户
    2. 负责接收邮件的进程就是SMTP服务器。
    
    SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
    来达到控制SMTP进程的作用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    SMTP是建立在TCP连接基础上,端口号25,使用客户服务器模型。

    SMTP通信模型建立过程:

    1. 连接建立:
      发送方将邮件发送给发送邮件服务器。
      发送邮件服务器每个一段时间需要对自己的邮件缓存进行扫描,如果发现有邮件没有发送,SMTP会使用端口号25将邮件发送出去

      此时发送方邮件服务器需要向接收方邮件服务器建立TCP连接请求。
      接收方邮件服务器返回220Sever ready响应报文。
      SMTP客户向接收方发送HELLO命令。如果SMIP接收方可以接受邮件,则会返回250OK。如果不能接受邮件,就会返回421service not available

    2. 邮件发送:

      这里使用A代指发送邮件服务器,B代指接受邮件服务器。
      A:MAIL FROM (发件人)
      B:250 OK (SMTP服务器已经准备好接收邮件)
      A:RCPT TO (收件人,可以是多条)
      B:250 OK /550 No such user here (SMTP服务器确定是否有这个用户)
      A:DATA (要开始传输邮件的内容了)
      B : 354 start mail input;end with < CR >< LF >.< CR >< LF >(SMTP服务器同意传输)
      A:DATA (正式传输邮件)
      ……
      B:250 OK

    3. 连接释放:

      邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回221,表示同意释放TCP连接。

    SMTP协议不足:

    1. SMTP不能传送可执行文件或者其他二进制对象。
    2. SMTP仅限于传送7位ASCllI码,不能传送其他非英语国家的文字。
    3. SMTP服务器会拒绝超过一定长度的邮件。

    针对上面的不足,又提出了通用因特网邮件扩充MIME
    在这里插入图片描述

    MIME使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。

    POP3协议:
    POP3协议负责将接受方的邮件服务器的邮件交给接收方用户代理。

    POP3协议使用TCP连接,使用110端口,是客户端服务器模式。(服务器是接收方邮件服务器,客户端是接收方的用户代理)

    POP3工作方式:

    1. 下载并保留(在服务器)
    2. 下载并删除

    IMAP协议是在POP3协议上进行扩充:

    IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。

    IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。

    基于万维网的电子邮件:
    最大的改动是邮件服务器和客户之间的数据交换使用HTTP协议。

    在这里插入图片描述
    服务器与服务器之间的数据传输还是使用SMTP协议。

  • 相关阅读:
    R语言绘制圆形树状图
    Springboot人事信息管理系统毕业设计-附源码221507
    聊聊mysql唯一索引的哪些坑,为什么还是产生重复数据?
    MySQL分页查询的5种方法
    SSH项目集成DM达梦数据库
    openresty关于时区的处理
    利用pycharm调试ssh远程程序,并实时同步文件
    操作系统:进程与线程(二)同步与互斥B
    Seata流程源码梳理下篇-TC
    数字格式化
  • 原文地址:https://blog.csdn.net/dodamce/article/details/128004055