跳到正文

电子邮件协议链

50 分钟

电子邮件协议链

本课目标

能沿应用进程、名字解析、传输连接和请求响应画完整协议链;能计算缓存TTL、连接数、RTT与对象时延,并识别每条连接的发起方和状态。

核心机制

用户代理提交邮件到邮件服务器,SMTP负责提交和服务器间传输,采用存储转发;收件人使用POP3或IMAP访问邮箱,Webmail则通过HTTP与用户交互、后台仍用邮件协议。DNS MX记录定位收件域邮件服务器,MIME扩展非ASCII正文与附件类型。

报文与时序推演

alice向bob@example.com发送:客户端提交SMTP→发送方服务器查MX→SMTP传到example.com服务器→bob用IMAP同步。SMTP推送邮件,IMAP/POP3由接收用户拉取。

统一表格记录“时刻、客户端/服务器、协议、连接、源/目的端口、请求、响应、缓存状态”。DNS先解决名字到地址/服务,传输层建立通信,应用协议再交换报文;不同阶段不可用一个‘网络请求’笼统代替。

可运行模型

chain=['user agent','submission SMTP','sender MTA','DNS MX','receiver MTA','IMAP client'];print(' -> '.join(chain))

先手算再运行。修改TTL、对象数、连接复用方式、FTP模式或邮件域,重新画报文和时延。

边界与错因

递归与迭代描述查询责任,不等同UDP/TCP;DNS缓存命中也受TTL约束。FTP控制/数据连接分离,主动/被动模式的数据连接发起方不同。SMTP负责提交与传输,POP3/IMAP负责读取。HTTP无状态指协议请求独立,不妨碍Cookie建立应用状态。

迁移练习

将DNS缓存设为过期、FTP放在NAT后、MX查询失败、HTTP对象改为并行/持久/多路复用,重新计算连接、RTT和错误传播。必须指出哪个阶段变化,而不是只改总时间。

课内验收

完成下方两道在线题,并提交协议时序或RTT表。计算题说明忽略/计入哪些时间;选择题指出错误项混淆的协议职责。

Practice

本课练习

2

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1邮件传输 3

服务器间传邮件主要?

登录 后答题可以领积分
2邮件链 3

可包括?

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以领积分