telnet发送socket报文_3 分钟带你了解一封邮件的发送过程

背景

我们常使用邮件客户端,如 Foxmail 、Outlook 等收发邮件。大家应该了解邮件协议基础知识吧,发送邮件是通过 SMTP 协议完成,收取邮件则走的是 POP3 协议。由于工作原因,笔者曾对邮件协议的通信过程进行过完整的分析,这里整理下邮件协议的通信过程,以巩固对通信协议的理解。

协议是什么

我曾经做过一个基于 UDP 字节序列的应用:两个进程【一个用 Java 开发,另一个 是C++ 进程】之间,通过逐个解析 UDP 数据包中的字节数据完成通信业务,最小业务数据单位是比特。

大概的流程是这样子的:

  1. 循环读取 UDP 数据包
  2. 先取出第一个字节
  3. 在读取这个字节的前 2 个 bit 数据,它代表某一种业务类型
  4. 紧接着的 6 比特代表业务数据总长度
  5. 再循环读取第二个字节以后的数据,直到达到总长度

很多年过去了,已经忘记了那个应用的具体功能,但是对 UDP 字节数据的解析流程依然清晰。它让我理解了什么是协议,这其实就是一种基于简单处理规则的通信协议,也算是一种自定义的应用层协议了吧。

由此推及到 OSI 七层模型中的其他协议,它们跟这种简单约定类似,只不过通信规则更复杂一些!

SMTP 协议基础

SMTP 全称为「 Simple Mail Transfer Protocol 」,这是来自百度百科的解释:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值