OSI参考模型下电子邮件传输过程

来源:互联网 发布:kali linux能做什么 编辑:程序博客网 时间:2024/05/21 09:07

在OSI参考模型下的电子邮件传输过程

         电子邮件的工作过程遵循客户---服务器模式。每份电子邮件的发送都要涉及到发送方和接收方,发送发构成客户端,而接收方构成服务器。其主要用到的协议由SMTP和POP3协议。

         应用层:主机A向主机B发送电子邮件,首先由主机A的发送进程将数据交给应用层。在应用层中,Email客户端使用SMTP、POP3和IMAP协议来收发电子邮件。主机A使用SMTP协议来处理该数据,即在数据前加上SMTP的标记,以便使对端在收到后知道使用什么软件来处理该数据。同时,该层屏蔽下面物理层的差别,向下一层提供一致的数据格式,此时所形成的信息单元包括协议头,报头AH,数据,可能还有协议尾,发送至表示层。

        表示层:应用层将数据处理完成后会交给下面的表示层,表示层会进行必要的格式转换,使用一种通信双方都能识别的编码来处理该数据,同时将处理数据的方法添加到数据中,以便对端知道该怎样处理数据。在此层再次添加计算机B表示层所理解的控制信息的协议头PH,信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了接收方对应曾要使用的控制信息。在此层,数据将按照网络能理解的方案进行格式化,这种格式化也因所使用网络的类型不同而不同。

        会话层:表示层处理完成之后,将数据交给下一层会话层,会话层在A主机和B主机之间建立一条只用于传输该数据的会话通道,并监视他的连接状态,直到数据同步完成,断开该会话。此时数据添加了会话层报头SH。

        传输层:传输层的作用就是在通信双方之间利用上面的会话通道传输控制信息TH,完成数据的可靠传输。会话通道建立后,为了保证数据传输中的可靠性,就需要在数据传输的构成当中对数据进行必要的处理,如分段、编号、差错校验、确认、重传等等,这些方法的实现必须依赖通信双方的控制。该层的传输协议同时进行流量控制或是基于接收方可接受数据的快慢程度规定适当的发送速率。初次之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包,发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,该过程即被称为排序。

        网络层:网络层是实际传输数据的层次,在网络层中必须要将传输层中处理完的数据再次封装(NH),添加上自己的地址信息和对端接收者的地址信息,并且要在网络中找到一条由自己到接收者最好的路径,然后按照最佳路径发送到网络中。

        在网络层,使用逻辑寻址(比如IP)将每个数据段送到正确的网络中,网络层协议向来自传输层的数据段中添加控制报头,现在所得到数据块就称为数据包或数据报。传输层和网络层一起工作,以在接收方主机中重建数据流,但他们并不将他们的PDU放在本地网段上,这是得到有关路由器或主机信息的唯一方式。

        数据链路层:数据链路层将网络层的数据再次进行封装除了添加数据链路层报头DH外,还要将网络层递交的数据加上数据链路层报尾DT从而形成最终的一帧数据。该层会添加能唯一标识每台设备的地址信息(MAC地址),这个数据在相邻的两个设备之间一段一段的传输,最终到达目的地。为了保证数据在不可靠的物理线路上进行数据传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传送数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。

         数据链路层将每个数据包封装成帧,帧的报头中包含了源和目的主机的硬件地址。如果目的设备在一个远程网络中,帧就会被送往路由器,以通过互联网络传送到目的地。一旦它达到了目的网络,就会使用一个新的帧将数据包送往目的主机。在传输过程中,帧会变,但是数据包不会变。为了将帧送到网络上,它首先必须被转换成数字信号的形式。帧实际上是1和0的逻辑组,物理层负责将这些数值封装为数字信号,在同一个本地网络中就可以直接传输了。

         物理层:物理层将数据链路层的数据转换成电流传输到交换机,通过交换机将数据帧发向路由器。

         通过物理电路传递到B主机后,B主机会将电信号转换成数据链路层的数据,数据链路层再去掉本层的硬件地址信息和其他的对端添加的内容上交给网络层,网络层同样去掉对端网络层添加的内容后上交给自己的上层。最终数据到达B主机的应用层。应用层看到数据是用SMTP协议封装后,就知道应用电子邮件的软件来处理。其详细分析如下:

        物理层:保证比特的同步,并将接收的二进制数据放到缓存中。再讲接收到的信号解码成比特流后,通知数据链路层已经收到一个帧。因此物理层在媒体上已经提供了传递的比特流。

        数据链路层:数据链路层检查帧尾的帧校验序列(FCS),判断传输过程中是否有错误法伤(差错控制)。如果有错误发生,丢弃此帧。检查数据链路层的地址,使主机B决定是否需要进一步处理这些数据。如果这个地址是主机B的地址,那么将在数据链路层报头和尾之间的数据传递给上一次的软件。从而,数据链路层通过该链路实现了数据的传输。

        网络层:检查网络层的目的地址。如果该地址是主机B的地址(逻辑地址),处理过程将会继续进行,将在网络层的报头之后的数据传递给传输层的软件,从而网络层实现了端到端的数据传输服务。

        如果传输层选择了差错恢复,标识这段数据的计数器与确认信息(差错恢复)一起在传输层的报头中进行编码。在差错恢复和对输入数据进行重新排序后,将这些数据传递给会话层。

        会话层:该层可以用来保证一系列消息的完整性。如果没有完成后续的通信,收到的数据可能没有任何意义。会话层的报头中包含有标识字段意味着是一个不连续数据链的中间流而不是结束流。在会话层保证所有的流都完成后,将在会话层报头之后的数据传递给表示层软件。 

        表示层:表示层定义并维护数据的格式。例如,如果数据是二进制数据而不是字符数据,报头会指明这一点。接收方并不会用主机B中缺省的ASCII字符集转换这些数据。通常,此类报头只包括在初始流中,而不包含在每个被传输的流(数据格式)中。在完成了数据格式的转换后,将数据传递给应用层的软件。

        应用层:应用层处理最后的报头,然后检查真正的终端用户数据。这个报头指明了主机A与主机B已协商好的应用程度所使用的运行参数,该报头用于交换所有参数值。因此,通常只在应用程序初始化时才发送和接收这个报头。例如,在文件传输是,会相互传递所传输文件的长度和文件格式(应用参数)。

        其工作流程图如下:

    注:

SMTP协议:(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。

STMP是一种提供可靠且有效电子邮件传输的协议。SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的统治。它独立于特定的传输子系统,即“SMTP邮件中继”。通常,一个网络可以由公用互联网上TCP可相互访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机,及其它LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一条IP地址。

SMTP协议是为了保证电子邮件的可靠和高效传送。它提供了中邮件传输机制,当收件方和发件方都在一个网络上时,可以把邮件直接传给对方,当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP首先由发件方提出申请,要求与接收方SMTP建立双向的通信渠道,收件方可以使最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双方就可以开始通信。

POP3协议:(Post Office Protocol3)即邮局协议的第3版,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,由RFC1939定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。

IMAP协议:(Internet Mail Access Protocol)  互联网信息访问协议,这是一种优于POP的新协议。和POP一样,IMAP也能下载邮件、从服务器中删除邮件或询问是否有新邮件,但IMAP克服了POP的一些缺点。如,它可以决定客户机请求邮件服务器提交所收到邮件的方式,请求邮件服务器只下载所选中的邮件而不是全部邮件。客户机可先阅读邮件信息的标题和发送者的名字再决定是否下载所选中的邮件而不是全部邮件。通过用户的客户机电子邮件程序,IMAP可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容,完成所有这些工作时都不需要把邮件从服务器下载到用户的个人计算机上。

AH (Application Header) 应用层报头

PH(Presentation Header) 表示层报头

SH(Session Header) 会话层报头

TH(Transport Header) 传输层报头

NH(Network Header) 网络层报头

DH(Data link Header) 数据链路层报头

DT(Data link Termination) 数据链路层报尾

 

 

 

 

 

 

 

0 0
原创粉丝点击