计算机网络(5)—— Email应用及对应协议

1. Email应用的构成组件
  • 邮件客户端
    • 读、写Email消息
    • 与服务器交互,收发Email消息
    • Outlook,Foxmail、Thurderbird
    • Web客户端
  • 邮件服务器
    • 邮箱:存储发给该用户的Email
    • 消息队列(message queue):存储等待发送的Email
  • SMTP协议(Simple Mail Transfer Protocol)
    • 邮件服务器之间传递消息所使用的服务器
    • 客户端:发送消息的服务器
    • 服务器:接收消息的服务器
2. SMTP协议——RFC 2821
  • 使用TCP进行Email消息的可靠传输
  • 端口25
  • 传输过程的三个阶段:握手、消息的传输、关闭
  • 命令/响应交互模式
    • 命令(command):ASCII文本
    • 响应(response):状态代码和语句
3. SMTP协议的特点
  • 使用持久性连接
  • 要求Email消息必须由7位ASCII码组成<
### 计算机网络——自顶向下方法(第八版)习题答案与知识点总结 #### 关于端系统如何生成分组 在计算机网络中,当端系统 A 向端系统 B 发送一个大文件时,数据传输过程通常涉及多个层次的操作。具体来说,在应用层,文件被分割成较小的数据单元;随后在网络层,这些数据单元进一步封装为具有目标地址和其他控制信息的分组[^1]。 对于分组交换机而言,其决策依据主要来源于分组头部的目标地址字段。通过解析此字段,交换机能判断应将当前分组转发至哪条链路以接近最终目的地。 #### 分组交换机制比喻解释 因特网中的分组交换类似于一个人驾车前往陌生城市的导航行为。在这个过程中,驾驶员每经过一个重要路口都会停下来询问当地居民正确的行驶方向。同样地,在网络通信里,每当一个分组进入一个新的路由器或交换节点时,它会基于自身的路由表查询最佳路径并将分组朝向更靠近接收方的方向传递下去。 #### 报文首部分析实例 假设我们接收到一封电子邮件对应的 SMTP 协议报文中包含了若干 `Received:` 字段,则每一个这样的字段都记录了一次邮件服务器间跳转的信息。例如: ``` Received: from mail.example.com (mail.example.com [192.0.2.1]) by mx.google.com with ESMTPS id s4si1234567pbc.68.2023.01.01.12.00; Sun, 01 Jan 2023 12:00:00 -0800 (PST) ``` 上述例子展示了发件人所在域 (`mail.example.com`) 和收件服务提供商之间的交互细节以及时间戳等附加元数据[^3]。 以下是针对该问题的一个简单 Python 脚本用于提取并统计所有 `Received` 行的数量: ```python import re def count_received_headers(file_path): pattern = r'^Received:' received_count = 0 try: with open(file_path, 'r') as file: lines = file.readlines() for line in lines: if re.match(pattern, line.strip()): received_count += 1 except Exception as e: print(f"Error occurred while processing the file: {e}") return received_count if __name__ == "__main__": path_to_file = input("Enter the full path to your email header text file:") result = count_received_headers(path_to_file) print(f"The number of Received headers is: {result}") ``` 以上脚本可以帮助快速定位和计数指定文本文件内的 `Received` 头部行数量。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值