当前位置: 首页 > article >正文

计算机网络学习20250526

SMTP——简单邮件传输协议

TCP 端口号:25
Alice给Bob发送邮件过程:

  1. Alice使用邮件代理程序写邮件给Bob
  2. 用户代理把报文发给邮件服务器,放入报文队列中
  3. 邮件服务器上SMTP客户端建立与Bob服务器上SMTP服务器的TCP连接
  4. 经过初始的握手后,SMTP客户端通过TCP发送Alice的报文
  5. Bob邮件服务器上SMTP服务器接收报文,放入Bob的邮箱中
  6. Bob调用用户代理阅读报文
  • SMTP不使用中间邮件服务器
  • 三个阶段:握手,传送报文,关闭
  • SMTP采用持续连接
  • 命令(ASCII码)/响应(状态码)交互
  • 报文内容:ASCII码

邮件访问协议

  1. POP3 TCP 110
    三个阶段:
    (1)特取(认证):代理以明文形式发送用户名和密码
    (2)事务处理:取回报文——》做/取消报文删除标记(下载并删除、下载并保留)——》获取邮件统计信息
    (3)更新:用户退出后邮件服务器删除被标记为删除的报文
    POP3服务器保留用户的一些状态信息但不在POP3会话过程中携带状态信息
  2. IMAP TCP 143
    (1)创建文件夹并在文件夹间移动邮件
    (2)维护IMAP会话的用户状态信息
    (3)允许用户代理获取报文组件
  3. HTTP——基于web的电子邮件

DNS——因特网的目录服务(UDP 53)

Internet内主机标识:主机名或IP地址

DNS提供的服务

DNS域名系统:主机名与IP地址转换的目录服务

多个域名之间用“.”隔开,不区分大小写,域名唯一

一级域名(顶级域名):由域名主体和后缀组成(如baidu.com),仅包含一个点号
二级域名:在一级域名前添加主机名(如zhidao.baidu.com),包含两个点号

  • 国家:cn,us,jp,uk
  • 机构:com公司企业,edu教育机构,net网络服务机构,org非营利性组织

DNS是由分层的DNS服务器实现的分布式数据库,是使主机能够查询分布式数据库的应用层协议,基于C-S架构,将复杂问题放在网络边缘,DNS是网络的核心功能,用户并不直接使用,而是为其他应用层协议使用

通过主机别名可以获得规范主机名

DNS记录

资源记录RR格式:(name,value,type,ttl)

  • type=A:name=hostname,value=ip add
  • type=NS:name=domin(域名),value=authoritative name(为域服务的权威DNS服务器主机名)
  • type=CNAME:name=alias name(别名),value=canonial name(规范主机名)
  • type=MX:name=mail server name,value=canonial name(邮件服务器规范主机名)
    权威DNS服务器:是指对特定域名及其下属子域名的DNS查询提供权威答案的服务器。当想要知道某个特定域名的IP地址时,权威DNS服务器提供的答案是最权威的,它直接从域名的注册记录中获取信息,而不是依赖于其他服务器的缓存数据。

DNS报文

  1. 首部区域(12字节):
  • 标识符(16bit):用于标识该查询,标识符会被复制到回答报文中,用于匹配查询和应答
  • 标志字段(16bit):
    QR:1bit字段,0表示查询报文,1表示响应报文
    opcode:4bit,通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)
    AA:1bit字段,表示授权回答,该名字服务器是授权该域的
    TC:1bit字段,表示可截断,使用UDP时表示当应答的总长度超过512字节时,只返回前512字节
    RD:1bit字段,表示期望递归,该比特能在一个查询中设置,并在响应中返回。这个标志告诉名字服务器必须处理这个查询(递归查询),如果该位为0,且被请求的服务器没有一个授权回答,就返回一个能解答该查询的其它名字服务器的列表(迭代查询)
    RA:1bit字段,该位置1表示名字服务器支持递归查询
    3bit0:
    rcode:4bit,返回码字段,通常值为0(没有差错)和3(名字差错),名字差错表示在查询中指定的域名不存在
  • 4*16bit数量字段:问题数,回答RR数,权威RR数,附加RR数
  1. 问题区域:查询的名字和类型字段
  2. 回答区域:对查询的响应的资源记录,可以包含多条RR,一个主机名可以有多个IP地址
  3. 权威区域
  4. 附加区域:包含其他帮助信息
http://www.lryc.cn/news/2387102.html

相关文章:

  • ArkUI:鸿蒙应用响应式与组件化开发指南(一)
  • YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点
  • C/C++的OpenCV 进行轮廓提取
  • 计算机网络总结(物理层,链路层)
  • TIGER - 一个轻量高效的语音分离模型,支持人声伴奏分离、音频说话人分离等 支持50系显卡 本地一键整合包下载
  • yolov8,c++案例汇总
  • 无人机降落伞设计要点难点及原理!
  • 20250526给荣品PRO-RK3566的Android13单独编译boot.img
  • vue3项目动态路由的相关配置踩坑记录
  • git子模块--命令--列表版
  • C++(4)
  • 构建版本没mac上传APP方法
  • 如何解决大模型返回的JSON数据前后加上```的情况
  • 本地处理 + GPU 加速 模糊视频秒变 4K/8K 修复视频老旧素材
  • 服务器异常数据问题解决 工具(tcpdump+wireshark+iptables)
  • 综合实现案例 LVS keepalived mysql 等
  • 【QT】对话框dialog类封装
  • 2025/5/26 学习日记 基本/扩展正则表达式 linux三剑客之grep
  • 【后端高阶面经:消息队列篇】29、Kafka高性能探秘:零拷贝、顺序写与分区并发实战
  • Spring Boot企业级开发五大核心功能与高级扩展实战
  • 在SpringBoot项目中策略模式的使用
  • 在 Docker 中启动 Jupyter Notebook
  • IP 地址反向解析(IP反查域名)原理与应用
  • CodeTop之LRU缓存
  • uboot常用命令之eMMC/SD卡命令
  • 【Kafka】编写消费者开发模式时遇到‘未解析的引用‘SIGUSR1’’
  • DeepSeek 赋能教育游戏化:AI 重构学习体验的技术密码
  • Docker run命令-p参数详解
  • 知识宇宙-学习篇:学编程为什么从C语言开始学起?
  • Mybatis-入门程序、 数据库连接池、XML映射配置文件、MybatisX