准备慢慢的自己将相关的RFC文档翻译一遍。这是一个汇总的列表,后面还会根据自己的需要不断添加需要翻译的文档,以及修改对每个文档的备注。
只是个人的学习,不足和错误还请多指教。
一.TCP/IP协议簇
TCP/IP协议簇是一组构成互联网基础的通信协议。各个协议都有相应的RFC(Request for Comments)文档来定义它们的标准和行为。下面列举一些TCP/IP协议簇中核心协议及其对应的RFC文档:
-
Transmission Control Protocol (TCP):
-
RFC 793: 定义了最初的TCP规范。
-
-
User Datagram Protocol (UDP):
-
RFC 768: 规定了UDP的运作方式。
-
-
Internet Protocol (IP):
-
RFC 791: 描述了IPv4协议标准。
-
RFC 2460: 定义了IPv6协议。
-
-
Internet Control Message Protocol (ICMP):
-
RFC 792: 针对IPv4环境下的ICMP。
-
RFC 4443: 针对IPv6环境下的ICMPv6。
-
-
Address Resolution Protocol (ARP):
-
RFC 826: ARP协议规范。
-
-
Reverse Address Resolution Protocol (RARP):
-
RFC 903: RARP协议规范。
-
-
Point-to-Point Protocol (PPP):
-
RFC 1661: PPP协议规范。
-
RFC 1662: PPP在HDLC-like framing中的实现。
-
-
Border Gateway Protocol (BGP):
-
RFC 4271: BGP-4协议规范。
-
-
Dynamic Host Configuration Protocol (DHCP):
-
RFC 2131: DHCP服务的基础规范。
-
-
Domain Name System (DNS):
-
RFC 1034: DNS的概念和技术规范。
-
RFC 1035: DNS的具体协议细节。
-
以上仅为部分重要协议及其RFC文档,实际上TCP/IP协议簇内含众多子协议和扩展,每个都有详细的RFC文档记录其设计、功能和实现细节。若需要最新的RFC列表或详细了解某个特定协议,请访问IETF(Internet Engineering Task Force)官方网站的RFC索引页获取最新信息。
二、HTTP
HTTP(Hypertext Transfer Protocol)也有多个相关的RFC文档,下面是几个关键版本:
-
HTTP/1.0:
-
RFC 1945: 定义了原始的HTTP 1.0版本。
-
-
HTTP/1.1:
-
RFC 2616: 这是HTTP 1.1早期的一个综合RFC,虽然现在已经被细化成多个RFC替代,但仍然经常被引用。
-
后续细化的RFCs:
-
RFC 7230: HTTP/1.1: Message Syntax and Routing
-
RFC 7231: HTTP/1.1: Semantics and Content
-
RFC 7232: HTTP/1.1: Conditional Requests
-
RFC 7233: HTTP/1.1: Range Requests
-
RFC 7234: HTTP/1.1: Caching
-
RFC 7235: HTTP/1.1: Authentication
-
-
-
HTTP/2:
-
RFC 7540: 定义了HTTP/2协议,该版本显著提高了性能,引入了多路复用、头部压缩等新特性。
-
-
HTTP/3:
-
RFC 9114 (QUIC transport): QUIC传输层协议,HTTP/3基于此构建。
-
HTTP/3 over QUIC:
-
目前HTTP/3尚未正式通过一个单一RFC发布,但它基于IETF QUIC工作组的工作,并参考了多个草案文档。最终规范可能会在未来形成RFC。
-
-
请注意,随着时间的推移和技术的发展,上述RFC可能会有更新或者修订版出现。为了获取最准确和最新的HTTP协议标准,请查阅IETF官方发布的RFC文档。
三、POP3
POP3(Post Office Protocol version 3)是用来从邮件服务器下载电子邮件的古老且广泛应用的协议。它的RFC文档详细描述了其工作原理和实现细节。
POP3的主要RFC文档是:
-
RFC 1939: 这是原始的POP3协议规范,定义了基本的邮件获取操作。它发布于1996年。
随着时间推移,为了增强安全性,对POP3进行了扩展以支持加密传输,相关的RFC包括:
-
RFC 2595: 它引入了使用STARTTLS扩展在不安全的网络上传输POP3时进行安全层升级的方法,通常基于SSL/TLS协议。
-
RFC 4978: POP3的更新版,即“IMAP4 COMPATIBILITY WITH THE POST OFFICE PROTOCOL (POP3)”,提供了与IMAP4更好的兼容性建议。
当前推荐使用的POP3版本,结合安全传输,主要参照的是RFC 1939以及关于安全传输的RFC扩展文档。如果您想要详细了解POP3协议,可以查阅这些RFC文档。随着技术的发展,现代邮件服务更多地倾向于使用更安全且功能更丰富的IMAP协议(RFC 3501及后续相关RFC)。
四、IMAP
RFC 3501
RFC4314
RFC 4551
RFC 3502
RFC3516
RFC3501(取代了RFC2060)
RFC8314
IMAP(Internet Message Access Protocol)是一种用于访问和管理远程邮件服务器上存储的邮件的标准协议。相比于POP3(主要用于下载并删除邮件),IMAP允许用户在客户端和服务器之间保持邮件的同步,并提供更为灵活的邮件管理功能。
以下是IMAP协议的关键RFC文档:
-
RFC 3501: 这是最基础且核心的IMAP4rev1协议规范,它详细描述了IMAP协议的工作机制、命令集、响应格式以及如何处理邮件和邮件箱等。
-
RFC 4314: 关于IMAP邮箱的访问控制列表(ACLs)。
-
RFC 4551: 引入了SORT和THREAD命令,增强了IMAP协议对于邮件排序和线程化显示的支持。
-
RFC 3502: 对IMAP中的多部分消息处理进行了说明。
-
RFC 3516: IMAP扩展——关键词搜索(SEARCH=KEYWORD)。
-
RFC 2060(已由RFC 3501取代):最初的IMAP4协议规范。
此外,还有许多其他RFC文档扩展了IMAP协议以支持安全连接(如使用TLS/SSL)和其他功能改进。例如:
-
RFC 8314: 要求IMAP和POP3服务器默认启用并强制使用STARTTLS来加密非安全连接。
要详细了解IMAP协议,请直接查阅上述RFC文档。IMAP协议因其强大的灵活性和实时同步能力而被广泛应用于现代邮件系统中。
五、SSH
RFC 4251
RFC 4252
RFC 4253
RFC 4254
RFC 4716
RFC 6668
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行远程登录和其他网络服务。SSH协议的设计目的是提供数据机密性、完整性以及用户身份验证。以下是一些与SSH相关的RFC文档:
-
RFC 4251: 定义了SSH协议框架,包括总体架构、基本的数据类型、编码规则、以及协议版本号。
-
RFC 4252: 描述了SSH的身份验证协议,包括公钥认证、口令认证及其他认证方式。
-
RFC 4253: 规定了SSH传输层协议,它负责数据加密、压缩、MAC计算以及其他传输层相关功能。
-
RFC 4254: 定义了SSH连接协议,用于建立多个安全通道(secure channels),比如一个用于命令执行的会话通道(session channel)或其他类型的交互。
-
RFC 4716: 规范了OpenSSH公钥证书的格式,这种证书用于SSH公钥认证体系中。
-
RFC 6668: 取消了旧版SSH-1协议,推荐使用SSH-2协议。
这些RFC共同构成了SSH协议的核心标准,并不断随着安全需求和技术发展而更新。SSH在实际应用中广泛用于远程登录、文件传输(SFTP基于SSH)、端口转发等多种场景。
六、PPP
1.RFC 1661
2.RFC 1662
3.RFC 1332
4.RFC 2516
PPP(Point-to-Point Protocol)即点对点协议,是一种在点对点链路上封装多种网络层协议的数据链路层协议。PPP协议主要用于拨号上网、DSL连接和两台计算机之间直接的串行通信等场景。以下是与PPP相关的几个关键RFC文档:
-
RFC 1661:
-
标题:The Point-to-Point Protocol (PPP)
-
描述:定义了PPP的基本操作、帧格式、LCP(Link Control Protocol)控制协议,以及如何封装其他网络层协议。
-
-
RFC 1662:
-
标题:PPP in HDLC-Like Framing
-
描述:详细说明了如何在类似HDLC的帧格式中实现PPP。
-
-
RFC 1332:
-
标题:The PPP Internet Protocol Control Protocol (IPCP)
-
链接:RFC 1332 - The PPP Internet Protocol Control Protocol (IPCP)
-
描述:介绍了IPCP(Internet Protocol Control Protocol),这是PPP的一个组件,用于协商和配置两端点之间的IP地址和其他IP参数。
-
-
RFC 2516:
-
标题:A Method for Transmitting PPP Over Ethernet (PPPoE)
-
链接:RFC 2516 - A Method for Transmitting PPP Over Ethernet (PPPoE)
-
描述:规定了在以太网上传输PPP的方法,也就是现在广泛应用的PPPoE(Point-to-Point Protocol over Ethernet)。
-
除此之外,还有关于PPP认证协议如PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)的RFC文档:
-
RFC 1994:PPP Challenge Handshake Authentication Protocol (CHAP)
-
链接:RFC 1994 - PPP Challenge Handshake Authentication Protocol (CHAP)
-
描述:详细阐述了CHAP协议,它是PPP的一种更安全的身份验证机制。
-
RFC 1334:PPP Authentication Protocols
-
描述:概述了包括PAP在内的几种PPP认证协议。
以上RFC共同构建了PPP协议的标准基础,并指导其在不同应用场景中的实施。
七、WebSocket
RFC6455
WebSocket是一种在单个TCP连接上进行全双工通信的协议,旨在提供低延迟的双向通信,特别适合实时应用,如网页聊天、实时游戏、股票报价系统等。WebSocket协议的标准规范是由IETF制定的,对应的RFC文档是RFC 6455,发布于2011年12月。
RFC 6455 - The WebSocket Protocol 定义了WebSocket如何通过握手升级HTTP连接为WebSocket连接,之后客户端和服务端就可以在这个持久连接上自由地发送和接收数据帧,而无需像传统的HTTP那样每次请求都需要建立新的连接。
WebSocket协议的特点包括:
-
使用HTTP Upgrade机制来初始化WebSocket连接。
-
使用Sec-WebSocket-Key等头部字段进行安全握手。
-
提供了一种轻量级的二进制编码框架,支持文本和二进制数据的传输。
-
允许客户端和服务端互相推送消息,而非仅仅是客户端向服务器发起请求。
八、TLS/SSL
TLS(Transport Layer Security)及其前身SSL(Secure Sockets Layer)的安全协议标准是由一系列RFC文档定义的。以下是主要的RFC版本:
-
SSL 1.0, 2.0, 和 3.0:
-
SSL 1.0从未公开发布过,存在安全问题。
-
SSL 2.0: 定义于 RFC 6101,但由于存在多个安全缺陷,已被废弃并强烈不建议使用。
-
SSL 3.0: 定义于 RFC 6103,同样由于安全漏洞已不再安全,且在2015年因POODLE攻击而被宣布废弃。
-
-
TLS 1.0 - TLS 1.3:
-
TLS 1.0 基于SSL 3.0,并在RFC 2246中定义,后来因为安全性原因逐渐被淘汰。
-
TLS 1.1 在RFC 4346中定义,对TLS 1.0做了一些改进,但如今也被视为过时。
-
TLS 1.2 在RFC 5246中定义,广泛采用并且相对安全,支持当前许多加密套件和算法。
-
TLS 1.3 是目前最新和推荐使用的版本,在RFC 8446中定义,它带来了大幅度的性能提升和安全性改进,比如减少了握手消息的数量以及弃用了弱加密套件。
-
综上所述,当前推荐使用的TLS协议版本是TLS 1.3,其RFC文档为 RFC 8446。对于TLS 1.2及更早版本,除非出于兼容性考虑,否则应该避免使用。
九、DNS
DNS(Domain Name System)的相关规范由一系列RFC(Request for Comments)文档定义。以下是DNS协议及其扩展的主要RFC列表:
-
DNS基础协议:
-
RFC 1034: Domain Names - Concepts and Facilities,定义了域名系统的基本概念和机制。
-
RFC 1035: Domain Names - Implementation and Specification,详细描述了DNS的协议细节,包括各种资源记录类型和查询格式。
-
-
DNSSEC(DNS Security Extensions)安全扩展:
-
RFC 4033: DNS Security Introduction and Requirements,介绍了DNSSEC的需求与概述。
-
RFC 4034: Resource Records for the DNS Security Extensions,定义了DNSSEC所需的资源记录类型和操作。
-
RFC 4035: Protocol Modifications for the DNS Security Extensions,说明了DNS协议如何修改以支持DNSSEC。
-
-
EDNS(Extension Mechanisms for DNS):
-
RFC 6891: Extension Mechanisms for DNS (EDNS(0)),引入了扩大DNS消息大小和增加DNS功能扩展的方法。
-
-
DNS其它重要RFC:
-
RFC 2136: Dynamic Updates in the Domain Name System (DNS UPDATE),定义了DNS动态更新的协议。
-
RFC 6761: Special-Use Domain Names,指定了某些具有特殊用途的域名如
.onion
、.arpa
等。 -
RFC 8499: DNS Terminology,提供了DNS术语的标准定义。
-
以上仅为部分关键RFC文档,随着技术发展,还有更多RFC涉及到DNS的具体实现、最佳实践以及其他增强功能。
十、SMTP
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,其标准主要由以下几个RFC文档定义:
-
SMTP基础协议:
-
RFC 5321: Simple Mail Transfer Protocol (SMTP),这是当前SMTP的核心规范,取代了早期的RFC 821,并详细描述了SMTP的操作规则和消息格式。
-
-
ESMTP(Extended SMTP)扩展:
-
RFC 1869: SMTP Service Extension for Command Pipelining,引入了命令管道的概念,允许在SMTP会话中连续发送多个命令而不必等待每个命令的响应。
-
RFC 1870: SMTP Service Extension for Message Size Declaration,定义了
SIZE
命令,允许在投递邮件前预先声明邮件大小。 -
其他RFC定义了众多ESMTP扩展,例如认证(AUTH)、八位编码传输(8BITMIME)、优先级标记(MAIL PRIORITY 或已废弃的 RFC 2156)等。
-
-
SMTP TLS 加密传输:
-
RFC 3207: SMTP Service Extension for Secure SMTP over Transport Layer Security,定义了如何通过TLS(Transport Layer Security)对SMTP会话进行加密。
-
-
邮件地址国际化:
-
RFC 6531: SMTP Extension for Internationalized Email,用于支持非ASCII字符的电子邮件地址。
-
RFC 6532: Internationalized Email Headers,支持邮件头部字段使用Unicode字符。
-
-
相关邮件处理标准:
-
RFC 5322: Internet Message Format,定义了邮件消息的内容格式,包括邮件头和正文结构。
-
要详细了解SMTP及其所有相关扩展,建议查阅上述RFC文档以及后续针对特定功能发布的RFC。
十一、FTP
FTP(File Transfer Protocol)文件传输协议的标准同样是由一系列RFC文档定义的,主要包括:
-
FTP基础协议:
-
RFC 959: 文件传输协议(FTP),这是FTP的基本规范,最初定义了FTP的所有核心操作,包括登录、目录导航、文件上传与下载、断开连接等。
-
-
安全性增强:
-
RFC 2228: FTP Security Extensions,定义了FTP扩展命令集以提供数据保护和用户身份验证的安全控制机制,如数据通道加密(CCC, PBSZ, PROT)和安全认证(AUTH)等。
-
RFC 4217: FTP over TLS,规定了如何在FTP中使用Transport Layer Security (TLS) 来加密控制和数据连接,通常称为FTPS。
-
-
PASV模式和EPSV扩展:
-
RFC 1579: FTP Passive Mode Extensions,介绍了被动模式FTP(PASV)的工作原理,解决了FTP在NAT环境下的问题。
-
RFC 2428: Extensions for FTP, including IPv6 and Extensions for NATs,定义了扩展 passive 模式的
EPSV
命令,以适应IPv6和更复杂的网络地址转换环境。
-
-
FTP其他扩展:
-
RFC 3659:Extensions to FTP,包括了一些新的命令和功能扩展,比如MLST/MLSD命令用来标准化列出目录信息的方式。
-
为了全面了解FTP协议及其所有相关扩展,需要查阅这些RFC以及其他可能的更新和补充RFC文档。随着技术的发展,一些更现代的替代方案如SFTP(基于SSH的文件传输协议)和HTTPS文件传输逐渐被更多地采用以提供更强的安全保障。
十二、Telnet(Teletype Network)
Telnet是一个用于远程登录和命令行通信的应用层协议,其标准由一系列Request for Comments (RFCs) 文档定义。以下是关于Telnet协议关键RFC文档的概述:
-
RFC 854: Telnet Protocol Specification - 这是最早的Telnet协议规范,定义了基本的Telnet命令和选项以及终端类型协商机制。
-
RFC 855: Telnet Option Specifications - 描述了初始的一系列Telnet选项,例如Echo、Suppress Go Ahead等。
-
RFC 1143: Telnet Linemode Option - 定义了Linemode选项,允许客户端和服务器之间以更高效的方式处理行编辑和本地回显等功能。
-
RFC 2217: Telnet Com Port Control Option - 为通过Telnet访问串口设备提供了扩展功能。
-
RFC 2328: Telnet Authentication Option - 提出了Telnet的身份验证机制。
-
RFC 4248: Telnet Binary Transmission - 关于二进制数据传输的选项。
随着时间的推移,Telnet由于其明文传输和安全性较低的问题,在很多场景下已被SSH(Secure Shell)协议所取代,SSH提供了加密的数据传输和更强的身份验证能力。尽管如此,Telnet仍然是理解和学习网络协议栈、进行简单远程访问测试时的重要工具。