目标 1.1:通用协议
目标 1.1:解释常见网络协议的功能
在计算中,协议是一种约定或标准,用于控制或启用计算端点之间的连接、通信和数据传输。简而言之,协议可以定义为控制通信语法、语义和同步的规则。协议可以通过硬件、软件或二者的组合来实现。在最低级别,协议定义了硬件连接的行为。
虽然协议在目的和复杂性方面可能差异很大,但大多数协议指定以下一个或多个属性
- 检测底层物理连接(有线或无线),或另一个端点或节点的存在
- 握手(动态设置通信通道的参数)
- 协商各种连接特性
- 如何启动和结束消息
- 如何格式化消息
- 如何处理损坏或格式不正确的消息(错误纠正)
- 如何检测连接意外丢失,以及下一步该怎么办
- 终止会话和或连接。
互联网协议套件(通常称为 TCP/IP)是用于互联网和其他类似网络的通信协议集。互联网协议套件与许多协议套件一样,可以看作是一组层。每一层都解决了与数据传输相关的一组问题,并基于使用来自某些较低层的服务,为上层协议提供定义明确的服务。上层在逻辑上更接近用户,处理更抽象的数据,依靠较低层协议将数据转换为最终可以物理传输的格式。TCP/IP 模型由四层组成。从最低到最高,分别是链路层、网络层、传输层和应用层。
有些人尝试将互联网协议模型映射到七层OSI 模型。映射结果是 TCP/IP 链路层在功能方面对应于 OSI 数据链路层和物理层。网络层通常直接映射到 OSI 的网络层。在层次结构的顶部,传输层始终直接映射到同名的 OSI 第 4 层。OSI 的应用层、表示层和会话层被折叠到 TCP/IP 的应用层。
下表提供了一些分组在其各自层中的协议示例。有关每个协议的详细信息,请参见以下部分。
应用 | DNS、DHCP、TFTP、TLS/SSL、FTP、HTTP、IMAP4、POP3、SIP、SMTP、SNMP、SSH、Telnet、RTP |
---|---|
传输 | TCP、UDP |
互联网 | IP(IPv4、IPv6)、ICMP、IGMP |
链路 | ARP |
地址解析协议 (ARP) 是一种通信协议,用于将互联网层地址解析为链路层地址,这是互联网协议套件中的一项关键功能。ARP 由RFC 826在 1982 年定义,是互联网标准 STD 37。ARP 也是大多数操作系统中用于操作这些地址的程序的名称。
ARP 用于将网络地址(例如 IPv4 地址)映射到物理地址,如以太网地址(也称为 MAC 地址)。ARP 已与许多网络和数据链路层技术组合实现,如 IPv4、Chaosnet、DECnet 和 Xerox PARC 通用数据包 (PUP) 使用 IEEE 802 标准、FDDI、X.25、帧中继和异步传输模式 (ATM)。IPv4 在 IEEE 802.3 和 IEEE 802.11 上是最常见的用法。
在互联网协议版本 6 (IPv6) 网络中,ARP 的功能由邻居发现协议 (NDP) 提供。
通常 ARP 将 IP 地址转换为 MAC。
这是一种协议,用于帮助用户从单个来源配置多个网络设备。此协议用于帮助用户配置多个网络。
这是一种协议,通过帮助用户在常见用户名/作品与 IP 地址之间建立链接来帮助用户,例如,用户可以轻松地键入https://www.wikibooks.org 来访问其中的内容,而不是记住维基教科书的 IP 地址。
FTP 是一种标准互联网协议,用于在互联网上的计算机之间通过 TCP/IP 连接传输文件。它是一种客户端-服务器协议,依赖于客户端和服务器之间两个通信信道;一个用于控制对话的命令信道和一个用于传输文件内容的数据信道。客户端通过请求下载文件来发起与服务器的对话。
FTP 会话在客户端通过命令信道请求发起会话后以被动模式和主动模式工作,服务器会发起数据连接回到客户端并开始传输数据。在被动模式下,服务器改为使用命令信道将客户端需要打开数据信道的信息发送给客户端。它可以跨防火墙和网络地址转换 (NAT) 网关工作
这是最初用于访问网络内容的协议。由于其安全漏洞,它被 HTTPS 取代。
这是 HTTP 的安全版本,现在通常用于访问网站内容。HTTPS(端口 443)通过整合 SSL 或 TLS 来加强 HTTP。该协议允许使用加密。您可以通过以下方式识别它们的使用:URL 以 HTTPS 开头,浏览器窗口的状态栏或浏览器栏中会出现一个挂锁图标。HTTPS 是全球范围内用于支付交易和其他数据敏感的互联网交易的标准。
互联网控制报文协议 (ICMP) 提供反馈,您可以使用这些反馈进行诊断或报告逻辑错误。最常见的 ICMP 类型是 ping。ICMP 的设计者设想了一个有帮助且信息丰富的协议。不幸的是,黑客有不同的看法;他们使用 ICMP 发送死亡之 ping,制作 Smurf DoS 数据包,查询系统的 timestamps 或其网络掩码,甚至发送 ICMP 类型 5 数据包以重定向流量。
IGMP 的第 3 版增加了对“源过滤”的支持,即系统能够报告对其感兴趣的接收特定源地址的*仅*数据包,或者来自*除...之外*特定源地址的*所有*数据包,这些数据包发送到特定多播地址。该信息可被多播路由协议用于避免将来自特定源的多播数据包交付给没有感兴趣接收者的网络。
类型 | 代码 | 功能 |
---|---|---|
0/8 | 0 | 回声响应/请求 |
3 | 0-15 | 目的地不可达 |
4 | 0 | 源抑制 |
5 | 0-3 | 重定向 |
11 | 0-1 | 时间超过 |
12 | 0 | 参数错误 |
13/14 | 0 | 时间戳请求/响应 |
17/18 | 0 | 子网掩码请求/响应 |
IGMP 是 IPv4 系统用来向邻近多播路由器报告其 IP 多播组成员关系的协议。
互联网邮件访问协议第 4 版 (IMAP4) 使您能够从 SMTP 服务器检索和下载电子邮件。它与 POP3 非常相似。但是,主要区别在于它允许用户在邮件服务器上阅读电子邮件,这使得用户可以选择是否下载电子邮件。此外,IMAP4 更安全,因为用户身份验证信息在通过网络传输时会进行加密。
它是一种网络协议,用于在通过分组交换的可变延迟数据网络的计算机系统之间进行时钟同步。
POP3 是一种古老且非常简单的协议,用于从电子邮件服务器(电子邮件地址中的“@servername.com”部分)下载电子邮件。“com”部分是顶级域名,取决于服务器注册的 TLD。TLD 包括“com”、“org”、“net”、“biz”和更多。POP3 在 [[rfc:1939 RFC1939][1]] 中定义。POP3 允许用户的“用户代理”(电子邮件程序)建立连接、下载邮件,并可以选择删除邮件。POP3 从用户代理在端口 110 上向邮件服务器打开 TCP 连接开始。接下来,POP3 会经历三个阶段:授权、交易和更新。
授权 | 交易 | 更新 |
---|---|---|
客户端发送用户名和密码。 | 客户端请求邮件列表。 客户端请求邮件内容。 客户端标记和取消标记要删除的邮件。 客户端关闭连接。 |
服务器执行删除操作。 服务器关闭连接。 |
用户代理发送用户名和密码(以纯文本形式)以验证用户身份。
telnet mailServer 110
+OK POP3 server ready
user joe
+OK
pass iLuvfood
+OK user successfully logged on
在上面的代码中,这些行是在用户的命令行上输出的。行号 1、3 和 5 发送到服务器。行号 2、4 和 6 是来自服务器的响应。
如果您拼错命令,POP3 服务器将回复 -ERR
消息,而不是 +OK
消息。
接下来,在交易阶段,用户代理可以检索邮件、标记要删除的邮件、删除删除标记以及获取邮件统计信息。
用户的邮件程序通常可以配置为下载并删除邮件,或者只下载,将原始的未打开的邮件保留在服务器上。用户可以稍后从另一个程序或计算机下载相同的邮件。当用户在家用电脑和办公室电脑上都有电脑时,这非常有用。
例如,假设用户在其邮箱中有两封邮件。客户端和服务器将相互对话,如下所示
C: list
S: 1 248
S: 2 300
S: .
C: retr 1
S: (blah...
S: ...blah
S: ...blah)
S: .
C: dele 1
C: retr 2
S: (blah...
S: ...blah
S: ...blah)
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off
客户端请求邮件列表,服务器回复邮件大小的列表,并用 .
停止信号结束其传输。然后,客户端检索第一封邮件,然后是一个删除命令(标记为要删除),并检索第二封邮件并将其删除,并使用 quit
结束会话。这将结束交易阶段并结束 POP3 会话。客户端断开连接,服务器进入更新阶段。
更新阶段发生在用户代理发出 quit
命令结束 POP3 会话之后;此时,邮件服务器会删除标记为要删除的邮件,并关闭其 POP3 会话。
它是一个用于通过IP网络传输音频和视频的网络协议。RTP 用于涉及流媒体的通信和娱乐系统,例如电话、视频会议应用程序(包括WebRTC)、电视服务和基于网络的push-to-talk 功能。
这是用于在服务器之间发送和接收电子邮件的协议。
SNMP 通过向网络中“使用”SNMP 的设备发送称为协议数据单元 (PDU) 的消息来工作。这些消息称为 SNMP 获取请求。使用这些请求,网络管理员可以跟踪他们指定的几乎所有数据值。
提供对远程桌面的安全访问。(也指实现该协议的实用程序套件)安全 Shell (SSH) 在 TCP/IP 模型的应用层运行。它的基本目的是允许用户远程访问服务器上的数据。用户有权远程登录到计算机并执行许多任务,例如下载、修改或删除数据。此外,数据在整个过程中保持加密,这使其更加安全。它可以用于在网络内以及不同网络之间移动数据。
传输层安全 (TLS) 是安全套接字层 (SSL) 的更新版本。TLS 使用更安全的加密协议和算法。TLS 使用混合加密,这意味着它使用对称加密来加密数据,使用非对称加密来交换对称密钥。
- ↑ [rfc:1939 IETF.org - RFC:1939]