协议和模型

目录

1 规则

1.1 通信基础知识

1.2 通信协议

1.3 规则建立

1.4 网络协议要求

1.5 消息编码

1.6 消息格式和封装

1.6.1 生活例子

1.6.2 网络

1.7 消息大小

1.7.1 生活例子

1.7.2 网络

1.8 消息时序

1.9 消息传输方式

2 协议

2.1 网络协议概述

2.2 网络协议的功能

2.3 协议交互

3 协议簇

3.1 网络协议簇

3.2 协议簇的演变

3.3 TCP/IP 协议示例

3.3 TCP/IP 协议簇

3.3.1 应用层协议

3.3.2 传输层协议

3.3.3 互联网层协议

3.3.4 网络接入层层协议

4 标准组织

4.1 开放标准

4.2 互联网标准

4.3 电子和通信标准

5 参考模型

5.1 使用分层模型的优点

5.2 OSI参考模型

5.3 TCP/IP 协议模型

5.4 OSI 模型与 TCP/IP 模型的比较

6 数据封装

6.1 对消息分段

6.2 排序

6.3 协议数据单元

6.4 封装和解封

7 数据访问 

7.1 地址

7.2 第 3 层逻辑地址

7.3 同一网络中的设备

7.4 数据链路层地址的作用:相同的IP网络

7.5 网络层地址的作用

7.6 数据链路层地址的作用:不同的IP网络

7.7 数据链路层地址


1 规则

1.1 通信基础知识

不同网络的规模、形状和功能都存在很大差异。它们可以复杂到通过互联网来连接设备,也可以简单到直接将两台计算机用一根电缆连接,或者是介于这两种之间。然而,只是完成终端设备之间的有线或无线物理连接并不足以实现通信。为了进行通信,设备必须要知道“如何”通信。

人们使用许多不同的通信方式来交流观点。然而,所有通信方法都有以下三个共同要素:

  • 消息源(发送方) 消息源是需要向其他人或设备发送消息的人或电子设备。
  • 消息目的地(接收方) 目的地接收并解释消息。
  • 信道 这由为消息从源传送到目的地提供路径的介质组成。

1.2 通信协议

无论是面对面通信还是通过网络通信,消息的发送都是由被称为协议的规则来管理的。不同类型的通信方式,会有不同的特定协议。在日常的个人通信中,通过一种介质(如电话)通信时采用的规则不一定与使用另一种介质(如邮寄信件)时的规则相同。

发送信件的过程类似于计算机网络中的通信。

1.3 规则建立

在彼此通信之前,个人必须使用既定规则或协议来管理会话。例如,请考虑以下消息:

人际沟通规则。格式不正确以及不遵守既定规则和协议的消息很难理解。A estrutura da gramatica, da lingua, da pontuacao e do sentence faz a configuracao humana compreensivel por muitos individuos diferentes.

请注意,由于消息格式不正确,因此很难读取消息。它应使用有效沟通所必需的规则(即协议)来编写。该示例显示的消息现在已正确格式化为语言和语法。

人际沟通有一定的规则。格式不正确以及不遵守既定规则和协议的消息很难理解。语法结构、语言、标点符号和句子使不同的个人能够通过思维相互理解。

协议必须考虑到以下要求,才能成功地传递被接收者理解的消息:

  • 标识出发送方和接收方
  • 通用语言和语法
  • 传递的速度和时间
  • 证实或确认要求

1.4 网络协议要求

网络通信中使用的协议共享许多基本特质。除了识别源和目的地之外,计算机和网络协议还定义了消息在网络中如何传输的细节。常用的计算机协议包含以下要求:

  • 消息编码
  • 消息格式和封装
  • 消息大小
  • 消息时序
  • 消息传输选项

1.5 消息编码

在发送消息时,首先执行的步骤之一是编码。编码是将信息转换为另一种广为接受的形式的过程,目的是为了便于传输信息。解码是编码的逆向过程,用来解释信息。

1.6 消息格式和封装

当消息从源发送到目的地时,必须使用特定的格式或结构。消息格式取决于消息的类型和传递信道。

1.6.1 生活例子

在人际沟通中要求正确格式的一个常见例子是发送信件的时候。信封上有寄信人和收信人的地址,分别写在信封适当的位置。如果目的地址和格式不正确,信件就无法投递。

将一种消息格式(信件)放入另一种消息格式(信封)的过程称为封装。收件人从信封中取出信件的过程就是解封。协议和模型_第1张图片

1.6.2 网络

与发送信件类似,通过计算机网络发送的消息也要遵循特定的格式规则才能被发送和处理。

互联网协议 (IP)是一种具有与信封示例类似功能的协议。在图中,互联网协议版本 6 (IPv6) 数据包的字段标识数据包的来源及其目的地。IP 负责通过一个或多个网络将消息从消息源发送到目的地。

注意: IPv6 数据包的字段将在另一个模块中详细讨论。

协议和模型_第2张图片

1.7 消息大小

通信的另一条规则是消息大小。

1.7.1 生活例子

人们在相互交流时,他们发送的消息通常会分成较小的部分或较短的句子。这些句子的大小限制为接收方一次可以处理的大小。

1.7.2 网络

编码在计算机通信中也会发生。

主机之间的编码必须采用适合介质的格式。通过网络发送的消息先由发送主机转换成位。根据用来传输的网络介质,将每个位编码成声音、光波或电子脉冲等信号形式。目的主机接收并解码信号,解释收到的消息。

1.8 消息时序

消息时序在网络通信中也非常重要。消息时序包括以下内容:

  • 流量控制- 这是管理数据传输速率的过程。流量控制定义了可以发送多少信息以及传递信息的速率。例如,如果一个人讲话太快,对方就难以听清和理解。在网络通信中,源设备和目的设备使用网络协议来协商和管理信息流。
  • 响应超时 -如果一个人提问之后在合理的时间内没有得到回答,就会认为没有获得回答并作出相应的反应。此人可能会重复这个问题,也可能继续谈话。网络上的主机会使用网络协议来指定等待响应的时长,以及在响应超时的情况下执行什么操作。
  • 访问方法 -这决定人们可以发送消息的时间。如果两个人同时讲话,就会发生信息冲突,两个人必须作出让步。同样,当设备想要在无线局域网上传输时,有必要使用 WLAN 网络接口卡 (NIC) 来确定无线介质是否可用。

例如:一个女人和一个男人同时说话。女人说,电影什么时候开始?而男人在说,什么时候吃晚餐?因为他们同时说话,谁也听不懂对方的话,所以他们都会说:很抱歉。我不明白你的意思。

1.9 消息传输方式

消息可以通过不同的方式传送。

比如说:有时候,我们需要传达信息给某个人。而在另一些时候,我们需要同时向一群人甚至同一区域的所有人发送信息。

对于网络:

网络通信也具有类似的传输方式,有三种类型的数据通信传输方式:

  • 单播 - 信息正在传输到单个终端设备。
  • 组播 - 信息正在传输到一个或多个终端设备。
  • 广播 - 信息正在传输到所有终端设备。

2 协议

2.1 网络协议概述

您知道,要使终端设备能够通过网络进行通信,每个设备都必须遵守相同的一套规则。这些规则被称为协议,它们在网络中有许多功能。本主题概述了网络协议。

网络协议定义了用于设备之间交换消息的通用格式和规则集。协议由软件、硬件或两者中的终端设备和中间设备实现。每个网络协议都有自己的功能、格式和通信规则。

该表列出了在一个或多个网络上通信所需的各种协议类型。

协议类型 描述
网络通信协议 这类协议使两个或多个设备能够在一个或多个网络上通信。以太网技术家族涉及多种协议, 例如IP,传输控制协议(TCP), 超文本传输协议(HTTP)等。
网络安全协议 这类协议保护数据以提供身份验证、数据完整性和数据加密。安全协议的示例包括安全外壳协议 (SSH)、安全套接字层协议 (SSL) 和传输层安全协议 (TLS)。
路由协议 这类协议使路由器能够交换路由信息,比较路径信息,然后选择到达目标网络的最佳路径。路由协议的示例包括开放最短路径优先协议 (OSPF)和边界网关协议 (BGP)。
服务发现协议。 这类协议用于设备或服务的自动检测。 服务发现协议的示例包括发现用于IP地址分配服务的动态主机配置协议(DHCP), 和用于执行域名到IP地址转换的域名系统(DNS)。

2.2 网络协议的功能

网络通信协议负责在终端设备之间进行网络通信所需的各种功能。例如,在图中,计算机如何跨多个网络设备向服务器发送消息?

图中显示了如何使用协议IPv4从计算机跨网络向服务器发送消息。在图的中心是三个路由器连接在一起形成一个三角形。左侧的路由器连接到一台计算机。右侧的路由器连接到一台服务器。计算机下方的一条消息显示:我将在网络上使用 IPv4 报头发送此消息。路由器下方的一条消息显示:因为我理解 IPv4 报头,所以我可以转发此消息。服务器下方的一条消息显示:因为我理解 IPv4,所以我能够接受此消息。

协议和模型_第3张图片

计算机和网络设备使用商定的协议进行通信。下表列出了这些协议的功能。

功能 描述
编址 这使用已定义的编址方案来标识消息的发送者和预期的接收者。提供编址的协议示例包括以太网,IPv4和IPv6。
可靠性 此功能提供了有保证的传输机制, 以防消息在传输过程中丢失或损坏。TCP 提供可靠的传输。
流量控制 此功能可确保数据在两个通信设备之间高效传输。TCP 提供流量控制服务。
排序 此功能唯一地标记每个传输的数据段。接收设备使用排序信息正确地重组信息。如果数据段丢失,延迟或未按顺序接收, 这将很有用。TCP 提供排序服务。
差错检测 此功能用于确定传输过程中数据 是否已损坏。提供差错检测的各种协议包括以太网,IPv4,IPv6和TCP。
应用接口 此功能包含用于网络应用程序之间的进程间通信的信息。例如,访问网页时, 使用HTTP或HTTPS协议在客户端和服务器Web进程之间进行通信。

2.3 协议交互

通过计算机网络发送的消息通常需要使用多种协议,每种协议都有自己的功能和格式。该图显示了当设备向web服务器发送web页面请求时使用的一些常见网络协议。

协议和模型_第4张图片

一个小型网络图显示,从左到右,一台连接到互联网云的笔记本电脑连接到一台服务器。一个信封正在跨越笔记本电脑和云之间的连接。信封下面是设备向web服务器发送网页请求时使用的协议列表。

  • 超文本传输协议 (HTTP) - 该协议控制 Web 服务器和 Web 客户端进行交互的方式。HTTP 定义了客户端和服务器之间交换的请求和响应的内容与格式。客户端软件和 Web 服务器软件都将 HTTP 作为应用程序的一部分来实现。HTTP 依靠其他协议来控制客户端和服务器之间传输消息的方式。
  • 传输控制协议 (TCP) - 此协议管理各个会话。TCP负责保证信息的可靠传递和管理终端设备之间的流量控制。
  • 互联网协议 (IP) - 此协议负责将消息从发送方传输给接收方。路由器使用 IP 来跨多个网络转发消息。
  • 以太网 - 此协议负责将消息从一个 NIC 传输到同一个以太网局域网 (LAN) 上的另一个 NIC。

3 协议簇

3.1 网络协议簇

在许多情况下,协议必须能够与其他协议配合使用,以便让在线体验为您提供网络通信所需的一切。协议簇旨在相互无缝协作。

执行某种通信功能所需的一组内在相关协议称为协议簇

要形象地表现协议簇中的协议如何互动,最佳方法之一就是将这种互动看成一个堆栈。协议栈展示了协议簇中的单个协议是如何实施的。协议显示为分层结构,每种上层服务都依赖于其余下层协议所定义的功能。协议栈的下层负责通过网络传输数据和向上层提供服务,而上层则负责处理发送的消息内容。

如图所示,我们可以使用分层结构来描述面对面通信中出现的活动。底层是物理层,有两个人用声音大声说出词语。中间是规则层,规定了通信的要求,包括必须选择一种通用语言。顶部是内容层,这是实际说出通信内容的地方。

协议和模型_第5张图片

3.2 协议簇的演变

协议簇是提供全面的网络通信服务的一组协议。自20世纪70年代以来,出现了几种不同的协议簇,有些是由一个标准组织开发的,有些是由不同的供应商开发的。

在网络通信和互联网的发展过程中,出现了几个相互竞争的协议簇,如图所示。

协议和模型_第6张图片

  • 互联网协议簇或 TCP/IP - 这是目前使用的最常见和最相关的协议簇。TCP/IP 协议簇是由互联网工程任务组 (IETF) 维护的开放标准协议簇。
  • 开放系统互连(OSI)协议 - 这是1977年由国际标准化组织(ISO)和国际电信联盟(ITU)联合开发的一系列协议。OSI协议还包括一个被称为OSI参考模型的七层模型。OSI参考模型对其协议的功能进行分类。如今,OSI主要以其分层模型而闻名。OSI协议在很大程度上已经被TCP/IP所取代。
  • Apple Talk - 一个由苹果公司于1985年为苹果设备发布的短期专有协议簇。1995年,苹果公司采用TCP/IP技术取代了AppleTalk。
  • Novell NetWare - 一种短暂的专有协议套件和网络操作系统,由诺维尔公司在 1983 年使用 IPX 网络协议开发。1995年,Novell采用TCP/IP取代了IPX。

3.3 TCP/IP 协议示例

TCP/IP协议可用于应用层、传输层和互联网层。网络接入层中没有 TCP/IP 协议。最常见的网络接入层LAN协议是以太网和WLAN(无线LAN)协议。网络接入层协议负责通过物理介质传输 IP 数据包。

图中显示了用于在主机的web浏览器和web服务器之间发送数据包的三种TCP/IP协议的示例。HTTP、TCP 和 IP 是所使用的 TCP/IP 协议。在网络接入层,示例中使用了以太网。然而,这里也可以使用一种无线标准,如WLAN或蜂窝服务。

协议和模型_第7张图片

3.3 TCP/IP 协议簇

如今,TCP/IP 协议簇包含许多协议,并且不断发展以支持新服务。图中显示一些较为常用的协议。

协议和模型_第8张图片

TCP/IP 是当今互联网和网络使用的协议簇。TCP/IP对于供应商和制造商来说有两个重要的方面:

  • 开放标准协议簇 - 这意味着它对公众是免费的,任何供应商都可以在他们的硬件或软件中使用它。
  • 基于标准的协议簇 - 这意味着它已经受到网络行业认可并已获得标准组织的批准。这确保了来自不同制造商的产品能够成功地互操作。

3.3.1 应用层协议

域名系统

  • DNS - 域名系统。将域名(例如 cisco.com)转换为 IP 地址。

主机配置

  • DHCPv4 - IPv4动态主机配置协议。DHCPv4 服务器在启动时动态地将 IPv4 编址信息分配给 DHCPv4 客户端,并允许在不再需要时重新使用这些地址。
  • DHCPv6 - IPv6动态主机配置协议。DHCPv6类似于DHCPv4。DHCPv6服务器在启动时动态地将IPv6编址信息分配给DHCPv6客户端。
  • SLAAC - 无状态地址自动配置。一种允许设备在不使用DHCPv6服务器的情况下获得其IPv6编址信息的方法。

邮件

  • SMTP - 简单邮件传输协议。使客户端能够将邮件发送到邮件服务器,并使服务器能够将邮件发送到其他服务器。
  • POP3 - 邮局协议第 3 版。使客户端能够从邮件服务器检索电子邮件并将电子邮件下载到客户端本地邮件应用程序。
  • IMAP - 互联网消息访问协议。使客户端能够访问存储在邮件服务器上的电子邮件,并在服务器上维护电子邮件。

文件传输

  • FTP - 文件传输协议。它设置规则,使得一台主机上的用户能够通过网络访问另一台主机或向其传输文件。FTP是一种可靠、面向连接且进行确认的文件传输协议。
  • SFTP - SSH文件传输协议。作为安全外壳 (SSH)协议的扩展,SFTP可用于建立安全的文件传输会话,在该会话中对文件传输进行加密。SSH 是一种安全远程登录的方法,通常用于访问设备的命令行。
  • TFTP - 简单文件传输协议。这是一个简单的,无连接的文件传输协议,使用尽最大努力、无需确认的文件传输方式。它使用的开销比FTP少。

Web和Web服务

  • HTTP - 超文本传输协议。这是有关在万维网上交换文本、图形图像、音频、视频以及其他多媒体文件的一组规则集。
  • HTTPS - 安全 HTTP。这是一种安全的HTTP形式,它对在万维网上交换的数据进行加密。
  • REST - 具象状态传输协议。它使用应用程序编程接口 (API) 和 HTTP 请求创建 Web 应用程序的 Web 服务。

3.3.2 传输层协议

面向连接

  • TCP - 传输控制协议。它使运行在不同主机上的进程之间能够进行可靠的通信,并提供可靠的、需要确认的传输,以确保传输成功。

无连接

  • UDP - 用户数据报协议。它允许一台主机上运行的进程向另一台主机上运行的进程发送数据包。但是,UDP不会确认数据报传输是否成功。

3.3.3 互联网层协议

Internet 协议

  • IPv4 - 互联网协议第 4 版。它接收来自传输层的消息段,将消息打包成数据包,并为通过网络进行端到端传递的数据包进行地址分配。IPv4 使用 32 位地址。
  • IPv6 - 互联网协议第 6 版。与 IPv4 类似,但使用 128 位地址。
  • NAT - 网络地址转换。将私有网络 IPv4 地址转换为全球唯一的公有 IPv4 地址。

消息传送

  • ICMPv4 - IPv4 互联网控制消息协议。目的主机针对数据包传输中出现的错误,向源主机提供反馈。
  • ICMPv6 - 用于 IPv6 的ICMP。与 ICMPv4 类似的功能,但用于 IPv6 数据包。
  • ICMPv6 ND - IPv6 邻居发现。包括用于地址解析和重复地址检测的四个协议消息。

路由协议

  • OSPF - 开放最短路径优先协议。它使用基于区域的分层设计的链路状态路由协议。OSPF是一种开放式标准内部路由协议。
  • EIGRP — 增强型内部网关路由协议这是一种思科开发的开放标准路由协议,使用基于带宽、延迟、负载和可靠性的复合度量。
  • BGP - 边界网关协议。这是一种开放标准的外部网关路由协议,用于互联网服务提供商(ISP)之间。BGP 还通常用于 ISP 与其大型私有客户端之间来交换路由信息。

3.3.4 网络接入层层协议

地址解析

  • ARP - 地址解析协议。提供 IPv4 地址与硬件地址之间的动态地址映射。

注意:您可能会看到其他文档状态,表明 ARP 在互联网层(OSI 第 3 层)运行。但是,在本课程中,我们声明 ARP 在网络接入层(OSI 第 2 层)运行,因为它的主要目的是发现目标的 MAC 地址。MAC 地址是第 2 层地址。

数据链路协议

  • 以太网 - 为网络接入层的布线和信令标准定义规则。
  • WLAN - 无线局域网。定义 2.4 GHz 和 5 GHz 无线电频率的无线信号规则。

4 标准组织

4.1 开放标准

当购买汽车的新轮胎时, 有许多制造商可供您选择. 他们每家都至少有一种轮胎适合您的车。这是因为汽车行业在制造汽车时采用了标准。它与协议是一样的。尽管有许多不同的网络组件制造商,但他们都必须使用相同的标准。在网络中,标准是由国际标准组织制定的。

开放标准鼓励互操作性、竞争和创新。它们还能确保没有任何一家公司的产品能够垄断市场或占有不公平竞争优势。

关于这一点有个不错的例子,您需要购买一个家用无线路由器。有出自众多供应商的许多不同路由器供您选择。这些路由器都融合了标准协议,例如 IPv4、IPv6、DHCP、SLAAC、以太网和 802.11无线局域网。这些开放标准还能够使运行 Apple 的 OS X 操作系统的客户端从运行 Linux 操作系统的 Web 服务器上下载网页。这是因为两种操作系统都实施开放标准协议,例如 TCP/IP 协议簇中的协议。

标准组织通常是中立于厂商的非营利性组织。它的建立是为了发展和推广开放标准的概念。这些组织对维护一个开放的互联网,允许自由访问规范和协议并允许所有供应商实施这些规范和协议起着至关重要的作用。

标准组织可能会独立起草规则集,也可能在其他情况下将某个专有协议作为一个标准的基础。如果要使用专有协议,通常就会涉及到创建了该协议的供应商。

4.2 互联网标准

各个组织在互联网和 TCP/IP 协议标准的推广和建立方面具有不同的责任。

该图显示了参与互联网开发和支持的标准组织。

协议和模型_第9张图片

  • Internet 协会 (ISOC) – 负责在全世界推进互联网的开放式开发、发展和使用。
  • 互联网架构委员会 (IAB) - 负责互联网标准的整体管理和发展。
  • 互联网工程任务组 (IETF) - 负责开发、更新和维护互联网和 TCP/IP 技术。包括用于开发新协议和更新现有协议的流程和文档,称为征求意见 (RFC) 文档。
  • 互联网研究任务组 (IRTF) - 负责互联网和 TCP/IP 协议相关的长期研究,包括反垃圾电子邮件研究组(Anti-Spam Research Group,ASRG)、密码技术研究组(Crypto Forum Research Group,CFRG)和对等网络研究组(Peer-to-Peer Research Group,P2PRG)等。

该图显示了参与互联网开发和支持的标准组织,包括 IANA 和 ICANN。

协议和模型_第10张图片

  • 互联网名称与数字地址分配机构 (ICANN) - 总部设在美国,ICANN负责协调 IP 地址分配、域名的管理和 TCP/IP 协议中使用的其他信息的分配。
  • 互联网编号指派机构 (IANA) - 负责监督和管理 ICANN 中的 IP 地址分配、域名管理和协议标识符。

4.3 电子和通信标准

其他标准组织有责任推广和建立电子与通信标准,这些标准用于通过有线或无线介质将 IP 数据包作为电子信号传输。

这些标准组织包括:

  • 电气电子工程师协会**(IEEE,读作“I-triple-E”) –是为致力于推动诸多行业领域的技术创新和标准创建的工程师设立的组织,涉及的领域包括电力与能源、医疗保健、电信和网络。重要的 IEEE 网络标准包括 802.3 以太网和 802.11 无线局域网标准。可在互联网上搜索其他 IEEE 网络标准。
  • 美国电子工业协会 (EIA)- 该组织因其在用于安装网络设备的电线、连接器和 19 英寸机架方面的标准而知名。
  • 电信工业协会 (TIA)- 该组织负责开发各种领域的通信标准,包括无线电设备、手机信号塔、IP 语音 (VoIP) 设备和卫星通信等。该图显示了一个经认证的以太网电缆的示例,它是由TIA和EIA合作开发的。
  • 国际电信联盟电信标准局 (ITU-T) - 是最大最早的通信标准组织之一。ITU-T 定义视频压缩、Internet 协议电视 (IPTV) 和宽带通信的标准,例如数字用户线路 (DSL)。

5 参考模型

5.1 使用分层模型的优点

您不能真正的看到真实的数据包在真实的网络中传输,就像您不能看到汽车的零部件在装配线上组装一样。所以,有一种网络的思考方式是有帮助的,这样您就可以想象正在发生的事情。模型在这些情况下很有用。

诸如网络运行方式之类的复杂概念可能很难解释和理解。因此,可以使用分层模型将网络的运行模块化为可管理的层。

这些是使用分层模型来描述网络协议及其工作方式的优点:

  1. 有助于协议设计,因为对于在特定层工作的协议而言,它们的工作方式及其与上下层之间的接口都已经确定。
  2. 促进竞争,因为可以同时使用不同厂商的产品。
  3. 避免一个协议层的技术或功能变化影响相邻的其他层。
  4. 提供了描述网络功能和能力的通用语言。

如图所示,有两个分层模型用于描述网络运行:

开放式系统互联(OSI)参考模型和TCP/IP 参考模型

协议和模型_第11张图片

5.2 OSI参考模型

OSI 参考模型详细罗列了每一层可以实现的功能和服务。 这种类型的模型通过描述特定层必须完成什么但不规定如何完成来保持各类网络协议和服务中的一致性。

它还描述了各层与其上、下层之间的交互。本课程中所讨论的 TCP/IP 协议同时围绕 OSI 和 TCP/IP 模型而构造。下表显示了OSI模型每一层的详细信息。在本课程中,随着我们对协议更加详细的讨论,各层的功能和层与层之间的关系将变得更加明显。

OSI 模型层 描述
7 - 应用层 应用层包含用于进程间通信的协议。
6 - 表示层 表示层用常用方式表示数据在应用层服务之间的传输。
5 - 会话层 会话层向表示层提供服务,组织对话并管理数据交换。
4 - 传输层 传输层定义服务以对数据进行分段,传输和重组,以进行终端设备之间的单独通信。
3 - 网络层 网络层为所标识的终端设备之间通过网络交换独立的数据的片段提供服务。
2 - 数据链路层 数据链路层协议描述了设备之间通过公共介质交换数据帧的方法。
1 - 物理层 物理层协议描述了机械的、电气的、功能的 和程序化的方法,以激活,维护和解除物理连接, 实现与网络设备之间的位设备。

注意: 我们提及 TCP/IP 模型的各层时只使用其名称,而提及 OSI 模型的七个层时则通常使用编号而非名称。例如,物理层指 OSI 模型的第 1 层,数据链路层指第2层,诸如此类。

5.3 TCP/IP 协议模型

用于网际通信的 TCP/IP 协议模型建立于二十世纪七十年代早期,有时称为互联网模型。 这种类型的模型与特定的协议簇结构紧密配合。TCP/IP 模型描述了 TCP/IP 协议簇中每个协议层实现的功能,因此属于协议模型。TCP/IP 也用作参考模型。下表显示了TCP/IP模型每一层的详细信息。

TCP/IP 模型层 描述
4 - 应用层 向用户提供数据,以及编码和对话控制。
3 - 传输层 支持各种设备之间通过不同网络通信。
2 - 互联网层 确定通过网络的最佳路径。
1 - 网络接入层 控制组成网络的硬件设备和介质。

标准的定义和 TCP/IP 协议都在公开的论坛中讨论,并在向公众开放的 IETF RFC集中加以定义。RFC由网络工程师撰写,并发送给其他 IETF 成员征求意见。

5.4 OSI 模型与 TCP/IP 模型的比较

还可以根据 OSI 参考模型描述构成 TCP/IP 协议簇的协议。在 OSI 模型中,TCP/IP 模型的网络接入层和应用层被进一步划分,用于描述这些协议层需要实现的不同功能。

TCP/IP 协议簇在网络接入层并没有指定通过物理介质传输时使用的协议,而只是描述了从互联网层到物理网络协议的传递。而 OSI 模型第 1 层和第 2 层则论述了接入介质所需的步骤以及通过网络发送数据的物理手段。

协议和模型_第12张图片

主要相似性在于传输层和网络层;然而,这两种模型在与每层的上下层的相关方式上不同:

  • OSI 模型第 3 层是网络层,与 TCP/IP 的互联网层形成直接映射。该层用于描述通过网际网络编址并路由消息的协议。
  • OSI 模型第 4 层是传输层,与 TCP/IP 的传输层形成直接映射。该层描述了可以在源主机和目的主机之间提供有序可靠的数据传输的常用服务和功能。
  • TCP/IP 应用层包括几个协议,为各种最终用户应用程序提供特定功能。OSI 模型第 5 层、第 6 层和第 7 层供应用程序软件开发人员和厂商参考,用于生产需要在网络上运行的应用程序。
  • 当涉及各层的协议时,TCP/IP 和 OSI 模型都很常用。由于 OSI 模型将数据链路层与物理层区分开来,当涉及这些较低层时通常使用这种模型。

6 数据封装

6.1 对消息分段

当您学习数据在网络中移动时如何封装的时候,了解 OSI 参考模型和 TCP/IP 协议模型就会派上用场。它不像通过邮件系统发送的实体信件那么简单。

理论上来说,可以将一次通信的内容(如音乐视频或有很多很大的附件的电子邮件)作为一大块连续的高容量比特流,通过网络从源发送到目的地。但是,这会给其他需要使用相同通信通道或链路的设备带来问题。这种大型数据流会导致严重的延迟。而且,一旦互联网络基础架构中的任何链路在传输期间出现故障,那么整个消息都会丢失,必须全部重传。

所以,更好的办法是先将数据划分为更小、更易于管理的片段,然后再通过网络发送。分段是将数据流划分成更小的单元,以便在通过网络传输的过程。分段是必要的,因为数据网络使用TCP/IP协议簇以单独的IP数据包发送数据。每个数据包都是单独发出的,类似于把一封长信作为一系列独立的明信片寄出。包含同一目的地数据段的数据包可以通过不同的路径发送。

这导致消息分段有两个主要好处:

  • 提高速度 - 由于将大数据流分段成为数据包,因此可以在不独占通信链路的情况下,通过网络发送大量数据。这允许许多不同的会话在称为多路复用的网络上交错。
  • 提高效率 - 如果单个数据段由于网络故障或网络拥塞而无法到达其目的地,则只需要重新传输该段,而不需要重新发送整个数据流。

6.2 排序

使用分段和多路复用在网络上传输消息要面临的挑战是增加了该过程的复杂程度。试想一下,这就如同您要邮寄一封 100 页的信件,但每个信封里只能装一页纸。因此,将需要100个信封,每一个信封都需要分别写好地址。100个不同的信封装着的100页的信有可能顺序是混乱的。因此,信封中的信息需要包含一个序列号,以确保接收者可以按适当的顺序重新组装页面。

在网络通信中,每个消息段也必须经过类似的过程才能确保其到达正确目的设备并重新组装成原始消息的内容,如图所示。TCP 负责对单独的数据段进行排序。

协议和模型_第13张图片

6.3 协议数据单元

在通过网络介质传输应用程序数据的过程中,随着数据沿协议栈向下传递,每层都要添加各种协议信息。此过程称为封装。

注意: 虽然PDU被称为数据报,但IP数据包有时也被称为IP数据报。

一段数据在任意协议层的表示形式称为协议数据单元 (PDU)。在封装过程中,后续的每一层都根据使用的协议封装其从上一层接收的 PDU。在该过程的每个阶段,PDU 都以不同的名称来反映其新功能。尽管目前对 PDU 的命名没有通用约定,但本课程中根据 TCP/IP 协议簇的协议来命名 PDU。图中显示了每种形式数据的 PDU。

协议和模型_第14张图片

  • 数据 - 一般术语,泛指应用层使用的 PDU
  • 段 - 传输层 PDU
  • 数据包 - 网络层 PDU
  • 帧 - 数据链路层 PDU
  • 位 - 通过介质实际传输数据时使用的物理层 PDU

注意:如果传输报头是TCP,那么它是一个数据段。如果传输报头是 UDP,那么它是一个数据报。

6.4 封装和解封

封装:在网络中发送消息时,封装过程自上而下工作。在各层,上层信息被视为封装协议内的数据。例如,TCP 分段被视为 IP 数据包内的数据。

解封:接收主机上的过程与之相反,称为“解封”。解封是接收设备用来删除一个或多个协议报头的过程。数据在朝着最终用户应用程序沿协议栈向上移动的过程中被解封。

协议和模型_第15张图片

7 数据访问 

7.1 地址

正如您刚刚了解到的,在网络中对消息进行分段是必要的。但是,如果未正确编址这些分段的消息,它们将无处可去。本主题概述了网络地址。您还将有机会使用Wireshark工具,它将帮助您“查看”网络流量。

网络层和数据链路层负责将数据从源设备传输到目的设备。如图所示,两层中的协议都包含源地址和目的地址,但它们的地址具有不同的用途。

  • **网络层源地址和目的地址 - 负责将 IP 数据包从原始源设备传输到可能处于同一网络或远程网络中的最终目的设备。
  • **数据链路层源地址和目的地址 – 负责将数据链路帧从一个网络接口卡 (NIC) 传输到同一网络上的另一个 NIC。

协议和模型_第16张图片

7.2 第 3 层逻辑地址

IP 地址是网络层(或第 3 层)逻辑地址,用于将 IP 数据包从原始源设备传输到最终目的设备,如图所示。协议和模型_第17张图片

IP 数据包包含两个 IP 地址:

  • **源 IP 地址 - 发送设备(数据包的始源设备)的 IP 地址。

  • **目的 IP 地址 - 接收设备(数据包的最终目的设备)的 IP 地址。

    IP 地址表示始源IP地址和最终目的IP地址。无论源和目的地在同一IP网络上还是在不同的IP网络上,都是如此。

IP 地址包含两部分:

  • **网络部分(IPv4)或前缀(IPv6) – 地址最左边的部分,表示 IP 地址是哪个网络的成员。同一网络中所有设备的地址都有相同的网络部分。
  • **主机部分(IPv4)或接口ID(IPv6) - 地址的其余部分,用于识别网络上的特定设备。这部分对于网络中的每个设备或接口都是唯一的。

注意: 子网掩码(IPv4)或前缀长度(IPv6)用于将IP地址的网络部分与主机部分区分开来。 

7.3 同一网络中的设备

在本示例中,客户端计算机 PC1 与同一 IP 网络中的 FTP 服务器进行通信。

  • 源IPv4地址 - 发送设备的IPv4地址,即客户端计算机PC1:192.168.1.110。
  • 目的IPv4地址 - 接收设备的IPv4地址,即服务器,Web服务器:172.16.1.99。

注意图中源 IPv4 地址和目的 IPv4 地址的网络部分在同一网络中。注意图中,源IPv4地址的网络部分和目的IPv4地址的网络部分是相同的,因此,源和目的地在同一个网络上。

协议和模型_第18张图片

7.4 数据链路层地址的作用:相同的IP网络

当 IP 数据包的发送方和接收方处于同一网络中时,数据链路帧将直接发送到接收设备。在以太网中,数据链路地址称为以太网介质访问控制(MAC)地址,在图中突出显示。

 协议和模型_第19张图片

MAC 地址是以太网网卡的物理内嵌地址。

  • **源 MAC 地址 - 这是发送封装有 IP 数据包的数据链路帧的设备的数据链路地址,或以太网 MAC 地址。PC1 以太网网卡的 MAC 地址为 AA-AA-AA-AA-AA-AA,以十六进制表示法表示。
  • 目的MAC地址 - 当接收设备与发送设备在同一网络中时,这就是接收设备的数据链路层地址。在本例中,目的MAC地址就是FTP服务器的MAC地址: CC-CC-CC-CC-CC-CC-CC,用十六进制记法表示。

现在可以将封装有 IP 数据包的帧从 PC1 直接传送到 FTP 服务器。

7.5 网络层地址的作用

但是当设备与远程网络中的另一设备通信时,网络层地址和数据链路层地址的作用是什么?在这个示例中,客户端计算机 PC1 与另一 IP 网络中名为 Web 服务器的服务器进行通信。

当数据包的发送方与接收方位于不同网络时,源 IP 地址和目的 IP 地址将代表位于不同网络的主机。这将由目的主机 IP 地址的网络部分来表明。

  • 源IPv4地址 – 发送设备的IPv4地址,即客户端计算机PC1:192.168.1.110。
  • 目的IPv4地址 – 接收设备的IPv4地址,即服务器,Web服务器:172.16.1.99。

注意图中源 IPv4 地址和目的 IPv4 地址的网络部分在不同的网络中。

协议和模型_第20张图片

7.6 数据链路层地址的作用:不同的IP网络

当 IP 数据包的发送方和接收方位于不同网络时,以太网数据链路帧不能直接发送到目的主机,因为在发送方的网络中无法直接到达该主机。必须将以太网帧发送到称为路由器或默认网关的另一设备。在我们的示例中,默认网关是 R1。R1 有一个以太网数据链路地址与 PC1 位于同一网络中。这使 PC1 能够直接到达路由器。

  • **源 MAC 地址 - 发送设备 PC1 的以太网 MAC 地址。PC1 以太网接口的 MAC 地址是 AA-AA-AA-AA-AA-AA。
  • **目的 MAC 地址 - 当接收设备(目的 IP 地址)与发送设备位于不同网络时,发送设备使用默认网关或路由器的以太网 MAC 地址。在本示例中,目的 MAC 地址是 R1 的以太网接口的 MAC 地址:11-11-11-11-11-11。这是连接到与PC1相同的网络的接口,如图所示。

协议和模型_第21张图片

现在可以将封装有 IP 数据包的以太网帧传送到 R1。R1 将数据包转发到目的地(Web 服务器)。这可能意味着 R1 会将数据包转发到另一个路由器,或者如果目的地所在的网络与 R1 相连的话直接转发到 Web 服务器。

必须在本地网络的每台主机上配置默认网关的 IP 地址。所有指向远程网络中目的地的数据包都会发送到默认网关。以太网 MAC 地址和默认网关将在其他模块中详细讨论。

7.7 数据链路层地址

数据链路层(第 2 层)物理地址具有不同的作用。数据链路层地址的作用是将数据链路层帧从一个网络接口传输到同一网络中的另一个网络接口

在 IP 数据包可以通过有线或无线网络发送之前,必须将其封装成数据链路层帧,以便通过物理介质传输。

协议和模型_第22张图片

协议和模型_第23张图片

协议和模型_第24张图片

当 IP 数据包从主机到路由器、从路由器到路由器和最终从路由器到主机传输时,沿途中的每个点上都会将 IP 数据包封装到新的数据链路层帧中。每个数据链路层帧包含发送帧的 NIC 卡的源数据链路层地址和接收帧的 NIC 卡的目的数据链路层地址。

第 2 层,数据链路层协议仅用于在同一网络中的 NIC 之间传输数据包。路由器会将其 NIC 上收到的第 2 层信息删除,添加新的数据链路层信息,然后将数据包从通往最终目的地路径的出口 NIC 上转发出去。

IP 数据包会封装到包含以下数据链路层信息的数据链路层帧中:

  • **源数据链路层地址 - 发送数据链路层帧的网卡的物理地址。
  • **目的数据链路层地址 - 接收数据链路层帧的 NIC 的物理地址。该地址为下一跳路由器,或最终目的设备的地址。

简单来说,在每次进行下一跳的时候都会替换数据帧的源mac地址和目的mac地址。在上面第一幅图中,由于是两个不同网段的IP地址进行通信,那么就会触发路由功能。这个时候数据帧上的源mac地址为PC1的mac地址目的mac地址为网关对应的mac地址。以此类推,但是不管数据帧上的源mac地址和目的mac地址如何变化,源IP地址和目的IP地址是不会变的。这里就涉及到了ARP表、路由表、mac地址表。

  • mac地址表:交换机等网络设备记录MAC地址和端口的映射关系,代表了交换机从哪个端口学习到了某个MAC地址,后续交换机需要转发数据的时候就可以根据报文目的MAC地址从MAC地址表中找到转发的端口了。(位于数据链路层)

协议和模型_第25张图片

  • ARP表:由路由器等网络设备记录着IP地址和MAC地址对应的关系。(位于数据链路层)
  • 路由表:路由器用于指导数据包如何转发的表,记录了去往目的IP的下一跳。(位于网络层)

你可能感兴趣的:(CCNA,网络)