计算机网络 一月 12, 2021

计算机网络原理

文章字数 41k 阅读约需 1:15 阅读次数 0

引言

本篇整理了我学习计算机网络原理时的一些笔记。
所用教学平台:Cisco Networking Academy


当今网络

网络影响着我们的生活

当今世界有了网络,人与人的联系达到空前状态。当人们想到某个创意时,可以即时与其他人沟通,使创意变为现实。用来交流思想和信息的网上社区的形成可能会提高全球的生产力。云的创建让我们可以存储文档和图片,并随时随地访问它们。


网络组件

连接到网络并直接参与网络通信的所有计算机都属于主机。

  • 主机可以被称为终端设备。某些主机也称为客户端。许多计算机在网络中既是服务器又是客户端。这种网络称为对等网络。
  • 终端设备是指通过网络传输的消息的来源或目的地。中间设备将每台终端设备连接到网络,并且可以将多个独立的网络连接成网际网络。中间设备使用目的终端设备地址以及有关网络互连的信息来决定消息在网络中应该采用的路径。
  • 介质为消息从源设备传送到目的设备提供了通道。

网络表示方式和网络拓扑

网络图通常使用图标来表示构成网络的不同设备和连接。图可以让人们轻松了解大型网络中的设备连接方式。这种网络“图”被称为“拓扑图”。

  • 物理拓扑图说明了中间设备和线缆安装的物理位置。

物理拓补图

  • 逻辑拓扑图说明了设备、端口和网络的编址方案。

逻辑拓扑图


常见网络类型

  • 小型家庭网络将少量的几台计算机互联并将它们连接到互联网。

  • 小型办公室/家庭办公室(SOHO)网络可让一个家庭办公室或远程办公室内的计算机连接到企业网络或访问集中的共享资源。

  • 中大型网络(例如大型企业和学校使用的网络)可能有许多站点,包含成百上千台相互连接的主机。

  • 互联网是由网络组成的网络,连接全球亿万台计算机。


两种最常见的网络基础设施类型是局域网(LAN)和广域网(WAN)。

  • LAN是覆盖较小地理区域的网络基础设施。

局域网具有如下特点:

  • LAN 在有限区域(如家庭、学校、办公大楼或园区)内互连终端设备。

  • LAN 通常由一个组织或个人管理。实行网络级管控、安全控制并制定访问控制策略。

  • LAN 为内部终端设备和中间设备提供高速带宽

LAN


  • WAN是覆盖广泛地理区域的网络基础设施。WAN 通常由服务提供商(SP)或互联网服务提供商(ISP)管理。

WAN 具有如下特点:

  • WAN 互连广泛地理区域(例如各大城市、州、省、国家/地区或大陆之间)内的 LAN。

  • WAN 通常由多个服务提供商管理

  • WAN 通常提供 LAN 之间的较慢链路

WAN


  • 互联网是一个遍及全球的互相连接的网络(简称互联网络或互联网)的集合。

互联网不属于任何个人或团体。要确保通过这种多元化基础设施有效通信,需要采用统一的公认技术和标准,也需要众多网络管理机构相互协作。

为了维护互联网协议和进程的结构和标准化,人们建立了许多组织。这些组织包括互联网工程任务组(IETF)互联网名称与数字地址分配机构(ICANN)互联网架构委员会(IAB),以及许多其他组织。

互联网


  • 内部网和外联网

与术语“互联网”类似的另外两个术语是内部网和外联网。

内部网这个术语用于表示一个组织的私有局域网和广域网连接。内部网的设计旨在仅允许该组织的成员、员工或其他获得授权的人员进行访问

组织可以使用外联网为在其他组织工作,但需要本组织数据的人提供安全访问。如:

  • 公司为外部供应商和承包商提供访问。

  • 医院为医生提供预约系统,以便医生为患者安排预约。

  • 当地教育局为其管辖区的学校提供预算和人员信息。

内部网和外联网


Internet 连接

  • 小型办公室/家庭办公室(SOHO)网络互联网连接方式:有线电视、DSL、蜂窝网络、卫星和拨号电话。

  • 商务互联网(企业)连接方式:专用租用线路、地铁以太网、商务 DSL 和卫星。

选择哪种连接方式取决于地理位置和可供选择的运营商。

传统的独立网络使用不同的技术、规则和标准。

  • 融合网络通过相同的网络基础设施,在许多不同类型的设备之间传输数据、语音和视频。这个网络的基础设施采用一组相同的规则、协议和实施标准

可靠网络

“网络架构”是指支持基础设施的技术以及通过该网络传输数据的编程服务及规则或协议

随着网络的发展,我们了解到网络架构师必须解决四个基本特征,以满足用户的期望:

容错能力、可扩展性、服务质量(QoS)、安全性。

  • 容错网络是在发生故障时限制受影响设备数量的网络。有多条路径到达目的地被称为冗余。

  • 可扩展的网络可以快速扩展,以支持新用户和应用程序。网络具有扩展能力,因为设计人员遵循广为接受的标准和协议。

  • QoS是管理拥塞和确保向所有用户可靠传输内容的主要机制。网络管理员必须解决两种网络安全问题:网络基础设施安全和信息安全。

  • 为了实现网络安全的目标,有三个主要要求:保密性、完整性和可用性。

容错性

可拓展性

服务质量(QoS)

网络安全性


网络趋势

最近有几种网络趋势影响着组织和消费者:自带设备(BYOD)、在preview: 192线协作、视频通信和云计算。

  • BYOD 意味着设备由任何使用者在任意地点使用,包括笔记本电脑、上网本、平板电脑、智能手机和电子阅读器。

  • 在线协作工具,如:Cisco Webex、腾讯会议、钉钉,为员工、学生、教师、客户和合作伙伴即时连接、交互和实现其目标提供了一种方法。

  • 视频可用于通信、协作和娱乐。无论身处何地,只要能上网,任何人都可以接打视频电话。

  • 云计算使我们可以在互联网上存储个人文件,甚至可以在服务器上备份整个硬盘驱动器。使用云可以访问文字处理和图片编辑等应用程序。


云类型主要有四种:公有云、私有云、混合云和定制云。

云类型 说明
公有云 在公有云中提供的云应用和云服务, 可供大众使用。服务可能免费,也可能按 即用即付模式提供,比如按在线存储付费。公有 云利用互联网提供服务。
私有云 私有云提供的基于云的应用和服务专供 特定组织或实体(例如政府)使用。私有 云可以使用组织的私有网络来搭建, 虽然构建和维护私有云的成本很高。私有 云也可以由具有严格访问安全控制的外部组织 管理。
混合云 混合云由两个或多个云组成(例如:部分私有, 部分公共),其中每个部分仍然是一个不同的对象,但两者都 使用单一架构进行连接。混合云中的个人 将能够根据用户访问权限对各种服务进行 不同程度的访问。
社区云 社区云是专为特定实体或组织使用而创建的。公共云和社区云之间的区别在于为团体定制的功能需求。例如,医疗机构必须遵从要求特殊身份验证和保密性的政策与法律(比如 HIPAA)。社区云由具有类似需求和关注的多个组织使用。社区云类似于公共云环境,但是具有一定级别的安全性、隐私性,甚至具有私有云的法规合规性。

人们正在开发可用于家里所有房间的智能家庭技术。随着家庭网络和高速互联网技术的普及,智能家庭技术将变得越来越普遍。通过使用供电的同一线路,电力线网络通过按一定频率发送数据来发送信息。无线互联网服务提供商(WISP)是使用类似家庭无线局域网(WLAN)的无线技术,将用户连接到专用的接入点或热点的ISP


网络安全

不论是小到只有单个互联网连接的家庭网络,还是大到拥有数以千计用户的企业网络,网络安全都是计算机网络中不可或缺的一部分。网络安全必须考虑环境以及网络的工具和需求。它必须能够保护数据安全,同时仍要满足网络的服务质量要求。

保护网络涉及使用各种协议、技术、设备和工具来保护数据和防御威胁。威胁因素可能来自外部,也可能来自内部。当今许多外部网络安全威胁都来自互联网。

网络有几种常见的外部威胁:

  • 病毒、蠕虫和特洛伊木马 - 这些包括在用户设备上运行的恶意软件或代码。

  • 间谍软件和广告软件 - 这些是安装在用户设备上的软件类型。这些软件会秘密收集有关用户的信息。

  • 零日攻击(0day) - 在出现漏洞的第一天发起的攻击。

  • 威胁参与者攻击 - 恶意人员攻击用户设备或网络资源。

  • 拒绝服务攻击 - 使网络设备上的应用和进程减缓或崩溃的攻击。

  • 数据拦截和窃取 - 通过公司网络捕获私人信息的攻击。

  • 身份盗窃 - 窃取用户的登录凭证来访问私人数据的攻击。

网络威胁


安全解决方案

没有哪个单一的解决方案能保护网络不受到各式各样的现有威胁。因此,应使用多个安全解决方案在多个层上实施安全。当一个安全组件无法识别和保护网络时,其他组件可以保护网络。

这些是家庭或小型办公室网络的基本安全组件:

  • 防病毒和反间谍软件 - 这些应用帮助防止终端设备感染恶意软件。

  • 防火墙过滤 - 防火墙过滤阻止未经授权的进出网络访问。这可以是基于主机的防火墙系统,用于阻止未经授权访问终端设备,也可以是家用路由器上的基本过滤服务,用于阻止外部人员未经授权访问网络。


企业网络的安全实施通常包含内嵌在网络中的许多组件来监控和过滤流量。理想情况下,所有组件配合工作,从而最大程度地减少维护并提高安全性。大型网络和公司网络使用防病毒、反间谍软件和防火墙过滤,但它们也有其他安全要求:

大型网络和公司网络使用防病毒、反间谍软件和防火墙过滤,但它们也有其他安全要求:

  • 专用防火墙系统 - 提供更高级的防火墙功能,更详细地过滤大量数据流。

  • 访问控制列表(ACL) - 基于IP地址和应用程序,进一步过滤访问和流量转发。

  • 入侵防御系统(IPS) - 识别快速扩散的威胁,例如零日攻击或零小时攻击。

  • 虚拟专用网络(VPN) - 为远程工作人员提供对组织机构的安全访问。

网络环境必须考虑网络安全要求以及各种应用和计算要求。家庭环境和企业必须能够保护他们的数据,同时满足每种技术的预期服务质量。此外,实施的安全解决方案必须适应不断发展变化的网络趋势。

安全解决方案


总结

  • 网络影响着我的生活

当今世界有了网络,人与人的联系达到空前状态。当人们想到某个创意时,可以即时与其他人沟通,使创意变为现实。用来交流思想和信息的网上社区的形成可能会提高全球的生产力。云的创建让我们可以存储文档和图片,并随时随地访问它们。

  • 网络组件

连接到网络并直接参与网络通信的所有计算机都属于主机。主机可以被称为终端设备。某些主机也称为客户端。许多计算机在网络中既是服务器又是客户端。这种网络称为对等网络。终端设备是指通过网络传输的消息的来源或目的地。中间设备将每台终端设备连接到网络,并且可以将多个独立的网络连接成网际网络。中间设备使用目的终端设备地址以及有关网络互连的信息来决定消息在网络中应该采用的路径。介质为消息从源设备传送到目的设备提供了通道。

  • 网络表示方式和网络拓扑

网络图通常使用图标来表示构成网络的不同设备和连接。图可以让人们轻松了解大型网络中的设备连接方式。这种网络“图”被称为“拓扑图”。物理拓扑图说明了中间设备和线缆安装的物理位置。逻辑拓扑图说明了设备、端口和网络的编址方案。

  • 常见网络类型

小型家庭网络将少量的几台计算机互联并将它们连接到互联网。小型办公室/家庭办公室 (SOHO) 网络可让一个家庭办公室或远程办公室内的计算机连接到企业网络或访问集中的共享资源。中大型网络(例如大型企业和学校使用的网络)可能有许多站点,包含成百上千台相互连接的主机。互联网是由网络组成的网络,连接全球亿万台计算机。两种最常见的网络基础设施类型是局域网 (LAN) 和广域网 (WAN)。LAN 是覆盖较小地理区域的网络基础设施。WAN 是覆盖广泛地理区域的网络基础设施。内部网表示一个组织的私有局域网和广域网连接。组织可以使用外联网为在其他组织工作,但需要本组织数据的人提供安全访问。

  • Internet 连接

SOHO互联网连接方式包括有线电视、DSL、蜂窝网络、卫星和拨号电话。商务互联网连接方式包括专用租用线路、地铁以太网、商务 DSL 和卫星。选择哪种连接方式取决于地理位置和可供选择的运营商。传统的独立网络使用不同的技术、规则和标准。融合网络通过相同的网络基础设施,在许多不同类型的设备之间传输数据、语音和视频。这个网络的基础设施采用一组相同的规则、协议和实施标准。Packet Tracer是一个灵活的软件程序,它让您有机会使用网络表示方式和理论来构建网络模型,并探索相对复杂的局域网和广域网。

  • 可靠网络

术语“网络架构”是指支持基础设施的技术以及通过该网络传输数据的编程服务及规则或协议。随着网络的发展,我们了解到网络架构师必须解决四个基本特征,以满足用户的期望:容错能力、可扩展性、服务质量 (QoS) 和安全性。容错网络是在发生故障时限制受影响设备数量的网络。有多条路径到达目的地被称为冗余。可扩展的网络可以快速扩展,以支持新用户和应用程序。网络具有扩展能力,因为设计人员遵循广为接受的标准和协议。Qos是管理拥塞和确保向所有用户可靠传输内容的主要机制。网络管理员必须解决两种网络安全问题:网络基础设施安全和信息安全。为了实现网络安全的目标,有三个主要要求:保密性、完整性和可用性。

  • 网络趋势

最近有几种网络趋势影响着组织和消费者:自带设备 (BYOD)、在线协作、视频通信和云计算。BYOD 意味着设备由任何使用者在任意地点使用。协作工具,如Cisco Webex,为员工、学生、教师、客户和合作伙伴即时连接、交互和实现其目标提供了一种方法。视频可用于通信、协作和娱乐。无论身处何地,只要能上网,任何人都可以接打视频电话。云计算使我们可以在互联网上存储个人文件,甚至可以在服务器上备份整个硬盘驱动器。使用云可以访问文字处理和图片编辑等应用程序。云类型主要有四种:公有云、私有云、混合云和定制云。人们正在开发可用于家里所有房间的智能家庭技术。随着家庭网络和高速互联网技术的普及,智能家庭技术将变得越来越普遍。通过使用供电的同一线路,电力线网络通过按一定频率发送数据来发送信息。无线互联网服务提供商 (WISP) 是使用类似家庭无线局域网 (WLAN) 的无线技术,将用户连接到专用的接入点或热点的 ISP。

  • 网络安全

网络有几种常见的外部威胁:

  1. 病毒、蠕虫和特洛伊木马
  2. 间谍软件和广告软件
  3. 零日攻击
  4. 威胁参与者攻击
  5. 拒绝服务攻击
  6. 数据拦截和窃取
  7. 身份盗窃

这些是家庭或小型办公室网络的基本安全组件:

  1. 防病毒和反间谍软件
  2. 防火墙过滤

大型网络和公司网络使用防病毒、反间谍软件和防火墙过滤,但它们也有其他安全要求:

  1. 专用防火墙系统
  2. 访问控制列表 (ACL)
  3. 入侵防御系统 (IPS)
  4. 虚拟专用网络 (VPN)

协议和模型

规则

所有通信方法都有三个共同元素:消息源(发送方)、消息目的地(接收方)和信道。

  • 消息源(发送方) - 是需要向其他人或设备发送消息的人或电子设备。

  • 消息目的地(接收方) - 目的地接收并解释消息。

  • 信道 - 这由为消息从源传送到目的地提供路径的介质组成。


发送的消息由称为“协议”的规则管理。

协议必须包括:已识别的发送方和接收方、通用语言和语法、传输的速率和时序以及确认或确认要求。常用的计算机协议包括这些要求:消息编码、格式、封装、大小、时序、传输方式。

  • 编码 - 是为了便于传输信息,将信息转换为另一种广为接受的形式。

  • 解码 - 是编码的逆向过程,用来解释信息。

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

  • 消息大小

  • 消息时序 - 流量控制、响应超时、访问方法。


流量控制:定义了可以发送多少信息以及传递信息的速率。例如,如果一个人讲话太快,对方就难以听清和理解。在网络通信中,源设备和目的设备使用网络协议来协商和管理信息流。

响应超时:如果一个人提问之后在合理的时间内没有得到回答,就会认为没有获得回答并作出相应的反应。此人可能会重复这个问题,也可能继续谈话。网络上的主机会使用网络协议来指定等待响应的时长,以及在响应超时的情况下执行什么操作

访问方法:这决定人们可以发送消息的时间。


消息传输方式:单播(1:1)、组播(1:n - 1)和广播(1:n)。

消息传输方式


协议

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

通过计算机网络发送的消息通常需要使用多种协议,每个网络协议都有自己的功能、格式和通信规则

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

协议功能

计算机和网络设备使用商定的协议,这些协议提供以下功能:编址,可靠性,流量控制,排序,错误检测和应用程序接口。

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

协议簇

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

协议簇

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

协议栈展示了协议簇中的单个协议是如何实施的。协议显示为分层结构,每种上层服务都依赖于其余下层协议所定义的功能。协议栈的下层负责通过网络传输数据和向上层提供服务,而上层则负责处理发送的消息内容。


自20世纪70年代以来,出现了几种不同的协议簇,有些是由一个标准组织开发的,有些是由不同的供应商开发的

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

相互竞争的协议簇


TCP/IP 协议示例

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

  • TCP/IP 是当今网络和互联网使用的协议簇。

  • TCP/IP 为供应商和制造商提供了两个重要的方面:开放标准协议簇和基于标准的协议簇。

  • TCP/IP 协议簇通信过程支持这样的过程:web 服务器封装 web 页面并将其发送到客户端,以及客户端解封 web 页面以便在 web 浏览器中显示。

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

示例

TCP/IP 协议簇

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

TCP/IP 协议簇


应用层

域名系统

  • DNS - 域名系统。将域名转换为 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 服务。


传输层

面向连接

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

无连接

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

互联网层

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 与其大型私有客户端之间来交换路由信息。

网络接入层

地址解析

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

数据链路协议

  • 以太网 - 为网络接入层的布线和信令标准定义规则。

  • WLAN - 无线局域网。定义 2.4 GHz 和 5 GHz 无线电频率的无线信号规则。


开放标准

开放标准鼓励互操作性、竞争和创新

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

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

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


互联网标准组织

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

互联网标准组织

参与互联网开发和支持的标准组织


电子和通信标准组织

  • 电气电子工程师协会(IEEE,读作“I-triple-E”)– 是为致力于推动诸多行业领域的技术创新和标准创建的工程师设立的组织,涉及的领域包括电力与能源、医疗保健、电信和网络。重要的IEEE网络标准包括802.3以太网和802.11无线局域网标准。可在互联网上搜索其他IEEE网络标准。

  • 美国电子工业协会(EIA)- 该组织因其在用于安装网络设备的电线、连接器和19英寸机架方面的标准而知名。

  • 电信工业协会(TIA) - 该组织负责开发各种领域的通信标准,包括无线电设备、手机信号塔、IP 语音(VoIP)设备和卫星通信等。

  • 国际电信联盟电信标准局(ITU-T)- 是最大最早的通信标准组织之一。ITU-T定义视频压缩、Internet协议电视(IPTV)和宽带通信的标准,例如数字用户线路(DSL)。


参考模型

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

OSI 模型有七层

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

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

TCP/IP 模型包括四层

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

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

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

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

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

对比图


数据封装

消息分段 -> 排序 -> 封装 -> 解封

  • 消息分段主要有两个优点:

    • 通过从源设备向目的地发送一个个小片段,就可以在网络上交替发送许多不同会话。这称为“多路复用”
    • 分段可以增强网络通信的效率。如果有部分消息未能传送到目的,则只需重新传输丢失的部分
  • TCP负责对单独的数据段进行 排序。一段数据在任意协议层的表示形式称为协议数据单元(PDU)。

  • 封装过程中,后续的每一层都根据使用的协议封装其从上一层接收的PDU。在网络中发送消息时,封装过程自上而下工作。

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


数据访问

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

  • 网络层源地址和目的地址 - 负责将IP数据包从始源设备传输到可能处于同一网络或远程网络中的最终目的设备。

  • 数据链路层源地址和目的地址 – 负责将数据链路层帧从一个网络接口卡(NIC)传输到同一网络上的另一个NIC。

地址的不同用途


网络层(第3层)逻辑地址

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

IP数据包传输过程

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

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

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

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


IP 地址包含两部分:

  • 网络部分(IPv4)或前缀(IPv6) – 地址最左边的部分表示IP地址是哪个网络成员。同一网络中所有设备的地址都有相同的网络部分。

  • 主机部分(IPv4)或接口ID(IPv6) - 地址的其余部分,用于识别网络上的特定设备。这部分对于网络中的每个设备或接口都是唯一的。


同一网络(局域网)中的设备

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

  • 源IPv4地址 - 发送设备的IPv4地址,即客户端计算机PC1:192.168.1.110。

  • 目的IPv4地址 - 接收设备的IPv4地址,即服务器,Web服务器:172.16.1.99。

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

同一网络


数据链路层(第2层)地址的作用:相同的 IP 网络(局域网)

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

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

  • 源MAC地址 - 这是发送封装有IP数据包的数据链路帧的设备的数据链路地址,或以太网 MAC 地址。以太网网卡的MAC地址为:AA-AA-AA-AA-AA-AA,以十六进制表示法表示。

  • 目的MAC地址 - 当接收设备与发送设备在同一网络中时,这就是接收设备的数据链路层地址。

同一网络


网络层地址的作用

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

  • 源IPv4地址 – 发送设备的IPv4地址,即客户端计算机PC1:192.168.1.110。

  • 目的IPv4地址 – 接收设备的IPv4地址,即服务器,Web服务器:172.16.1.99。

不同网络


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

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

  • 源 MAC 地址 - 发送设备 PC1 的以太网 MAC 地址。PC1 以太网接口的 MAC 地址是 AA-AA-AA-AA-AA-AA。

  • 目的 MAC 地址 - 当接收设备(目的 IP 地址)与发送设备位于不同网络时,发送设备使用默认网关或路由器的以太网 MAC 地址。

不同网络


数据链路层(第2层)地址

数据链路层地址的作用是将数据链路层帧从一个网络接口传输到同一网络中的另一个网络接口

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

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

主机到路由器

路由器到路由器

路由器到服务器

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

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

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

总结

  • 规则

所有通信方法都有三个共同元素:消息源(发送方)、消息目的地(接收方)和信道。发送的消息由称为“协议”的规则管理。协议必须包括:已识别的发送方和接收方、通用语言和语法、传输的速率和时序以及确认或确认要求。常用的计算机协议包括这些要求:消息编码、格式、封装、大小、时序和传输方式。编码是为了便于传输信息,将信息转换为另一种广为接受的形式。解码是编码的逆向过程,用来解释信息。消息格式取决于消息的类型和传输信道。消息时序包括流量控制、响应超时和访问方法。消息传输方式包括单播、组播和广播。

  • 协议

协议由终端设备和中间设备以软件、硬件或两者都有的方式实现。通过计算机网络发送的消息通常需要使用多种协议,每种协议都有自己的功能和格式。每个网络协议都有自己的功能、 格式和通信规则。以太网协议家族包括IP、TCP、HTTP等。安全协议保护数据以提供身份验证、数据完整性和数据加密:SSH、SSL 和 TLS。路由协议使路由器能够交换路由信息,比较路径信息,然后选择到目的网络的最佳路径:OSPF和BGP。用于设备或服务自动检测的协议有:DHCP 和 DNS。计算机和网络设备使用商定的协议,这些协议提供以下功能:编址,可靠性,流量控制,排序,错误检测和应用程序接口。

  • 协议簇

执行某种通信功能所需的一组内在相关协议称为协议簇。协议栈展示了协议簇中的单个协议是如何实施的。自20世纪70年代以来,出现了几种不同的协议簇,有些是由一个标准组织开发的,有些是由不同的供应商开发的。TCP/IP协议可用于应用层、传输层和互联网层。TCP/IP 是当今网络和互联网使用的协议簇。TCP/IP为供应商和制造商提供了两个重要的方面:开放标准协议簇和基于标准的协议簇。TCP/IP协议簇通信过程支持这样的过程:web服务器封装web页面并将其发送到客户端,以及客户端解封web页面以便在web浏览器中显示。

  • 标准组织

开放标准鼓励互操作性、竞争和创新。标准组织通常是中立于厂商的非营利性组织。它的建立是为了发展和推广开放标准的概念。各个组织在互联网标准的推广和建立方面具有不同的责任,包括:ISOC, IAB, IETF, 和IRTF。开发和支持TCP/IP的标准组织包括::CANN和IANA。电子和通信标准组织包括:IEEE、EIA、TIA和ITU-T。

  • 参考模型

用于描述网络运行的两个参考模型是OSI和TCP/IP。OSI 模型有七层:

7 - 应用层

6 - 表示层

5 - 会话层

4 - 传输层

3 - 网络层

2 - 数据链路层

1 - 物理层

TCP/IP 模型包括四层:

4 - 应用层

3 - 传输层

2 - 互联网层

1 - 网络接入层

  • 数据封装

消息分段主要有两个优点:

  1. 通过从源设备向目的地发送一个个小片段,就可以在网络上交替发送许多不同会话。这称为“多路复用”。
  2. 分段可以增强网络通信的效率。如果有部分消息未能传送到目的,则只需重新传输丢失的部分。

TCP 负责对单独的数据段进行排序。一段数据在任意协议层的表示形式称为协议数据单元 (PDU)。在封装过程中,后续的每一层都根据使用的协议封装其从上一层接收的 PDU。在网络中发送消息时,封装过程自上而下工作。接收主机上的过程与之相反,称为“解封”。解封是接收设备用来删除一个或多个协议报头的过程。数据在朝着最终用户应用程序沿协议栈向上移动的过程中被解封。

  • 数据访问

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

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

IP 地址表示始源IP地址和最终目的IP地址。一个IP地址包含两部分:网络部分(IPv4)或前缀(IPv6)和主机部分(IPv4)或接口ID (IPv6)。当 IP 数据包的发送方和接收方处于同一网络中时,数据链路层帧将直接将其发送到接收设备。在以太网中,数据链路层地址称为以太网介质访问控制(MAC)地址。当数据包的发送方与接收方位于不同网络时,源 IP 地址和目的 IP 地址将代表位于不同网络的主机。必须将以太网帧发送到称为路由器或默认网关的另一设备。


物理层(第 1 层)


数据链路层(第 2 层)


以太网交换

以太网封装

以太网是如今广泛使用的两种局域网技术之一,另一种是无线局域网(WLAN)。它使用有线通信,包括双绞线、光纤链路和同轴电缆。

以太网在数据链路层和物理层运行,是 IEEE 802.2 和 802.3 标准中定义的一系列网络技术。以太网支持的数据带宽为:

  • 10 Mbps

  • 100 Mbps

  • 1000 Mbps (1 Gbps)

  • 10,000 Mbps (10 Gbps)

  • 40,000 Mbps (40 Gbps)

  • 100,000 Mbps (100 Gbps)

如图所示,以太网标准同时定义第 2 层协议和第 1 层技术

以太网和 OSI 模型


数据链路子层

IEEE 802 LAN/MAN 协议,包括以太网,使用以下两个单独的数据链路层子层进行操作。它们是逻辑链路控制(LLC)和介质访问控制(MAC),如图所示。

回想一下,LLC 和 MAC 在数据链接层中具有以下角色:

  • LLC 子层 - 此 IEEE 802.2 子层在上层的网络软件与下层的设备硬件之间进行通信。它放入帧中的信息用于确定帧所使用的网络层协议。此信息允许多个第 3 层协议(如 IPv4 和 IPv6)使用相同的网络接口和介质。

  • MAC 子层 -此子层(例如 IEEE 802.3、802.11 或 802.15)在硬件中实现,负责数据封装和介质访问控制。它提供数据链路层寻址,并与各种物理层技术集成

数据链路子层


MAC 子层

MAC 子层负责数据封装和访问介质。

数据封装

IEEE 802.3 数据封装包括以下内容:

  • 以太网帧 - 这是以太网帧的内部结构。

  • 以太网寻址 - 以太网帧中包含源和目的MAC 地址,用于将该以太网帧从以太网网卡传送到同一LAN上的以太网网卡。

  • 以太网错误检测 - 以太网帧中包含用于错误检测的帧校验序列 (FCS) 帧尾。
    访问介质

如图所示,IEEE 802.3 MAC 子层包含了在各种介质(包括铜和光纤)上不同类型的以太网通信标准的规格。

MAC 子层

回想一下,使用总线拓扑或集线器的传统以太网是一种共享的半双工介质。半双工介质上的以太网使用争用访问方法,即载波侦听多路访问/冲突检测 (CSMA/CD),这确保一次只有一个设备进行传输。CSMA/CD 允许多个设备共享相同的半双工介质,如果多台设备同时传输,则会发生冲突。它还提供了一种回退重传算法。

如今的以太网 LANs 使用的交换机是全双工的。在全双工模式下运行的以太网交换机不需要通过 CSMA/CD 进行访问控制。


以太网帧字段

以太网帧大小的最小值为 64 个字节,最大值为 1518 个字节。这包括从“目的 MAC 地址”字段到“帧校验序列 (FCS)”字段的所有字节。在描述帧的大小时,不包含“前导码”字段。

任何长度小于 64 个字节的帧都被接收站点视为“冲突碎片”或“残帧”而自动丢弃。超过 1500 个字节的数据帧被视为“巨帧”或“小型巨型帧”。

如果发送的帧小于最小值或者大于最大值,接收设备将会丢弃该帧。帧之所以被丢弃,可能是因为冲突或其他多余信号。它们被视为无效。大多数快速以太网和千兆以太网交换机和网卡通常都支持巨帧。

这张图显示了以太网帧中的每个字段。有关每个字段功能的详细信息,请参阅表格。

以太网帧字段


以太网帧字段细节

字段 说明
前导码和帧首定界符字段 前导码7 字节)和帧首定界符(SFD),也称为 帧首1 字节),该字段用于发送设备与接收设备之间的同步。帧开头的8 个字节 用于引起接收节点的注意。**基本上,前几个字节的作用是告诉接收方准备接收新帧。**
目的 MAC 地址字段 6 字节字段是预期接收方的标识符。读者应该还记得, 此地址被第2层用来协助设备 确定帧是否发送到目的地。帧中的地址将会与设备中的 MAC 地址进行比对。如果匹配, 设备就接受该帧。可以是单播、组播或广播 地址。
源 MAC 地址字段 6 字节字段标识发出帧的网卡 或接口
类型/长度 该字段包含2 字节标识封装于以太网帧中的上层协议。常见值为十六进制,0x800 用于 IPv40x86DD 用于 IPv60x806 用于 ARP注意:您也可能会看到此字段称为 EtherType、类型或长度。
数据字段 该字段(46-1500 字节)包含来自较高层的封装数据,一般是第3层PDU或更常见的IPv4 数据包。**所有帧至少必须有 64 个字节。如果封装的是小数据包, 则使用填充位将帧 增大到最小值**。
帧校验序列字段 “帧校验序列 (FCS)”字段(4 个字节)用于检测帧中 的错误。它使用循环冗余校验(CRC)。发送设备在帧的 FCS 字段中包含 CRC 的结果。接收设备接收帧并生成 CRC 以查找 错误。**如果计算匹配,就不会发生错误**。 **计算不匹配则表明数据已经改变。因此, 帧会被丢弃**。数据的变化可能是由于代表比特位的电信号受到干扰所致。

MAC 地址和十六进制

在网络中,IPv4 地址使用十进制以10为基数的数制系统和二进制以2为基数的数制系统来表示IPv6 地址和以太网地址使用十六进制以16为基数的数制系统表示

十六进制是以 16 为基数的数制系统,使用数字 0 到 9 和字母 A 到 F。

以太网 MAC 地址由48位二进制值组成。十六进制用于标识以太网地址,因为单个十六进制数字表示四个二进制位。因此,一个48位以太网MAC地址只用12个十六进制值就可以表示。

该图显示了 0000 (0) ~ 1111 (15) 这些二进制数的十进制和十六进制值。

MAC 地址和十六进制


8 位(1 字节)是一种常用的二进制组,从 00000000 到 11111111 的二进制可表示为从 00 到 FF 的十六进制。

如下图所示。

选定的十进制、二进制和十六进制等值数字

当使用十六进制时,前导零始终都会显示,以完整的 8 位表示。例如,在表中,二进制值 0000 1010 以十六进制显示为 0A。

十六进制通常以0x为前导的值(例如 0x73)表示,以区分文档中的十进制值和十六进制值。

十六进制也可以用以16为下标的值或十六进制数字后跟 H(例如 73H)来表示。

如果需要在十进制值和十六进制值之间进行转换,先将十进制或十六进制值转换为二进制值,然后将二进制值转换为适当的十进制或十六进制值。


以太网 MAC 地址

在以太网中,每台网络设备都连接到同一个共享介质MAC 地址用于标识本地网段上的物理源和目的设备。MAC 编址为 OSI 模型的数据链路层提供了设备识别方法。

以太网 MAC 地址是使用 12十六进制数字表示的 48 位地址,如图所示。因为一个字节等于 8 位,我们也可以说 一个MAC 地址长度为 6 个字节


所有 MAC 地址对于以太网设备或以太网接口必须是唯一的。为了确保这一点,所有销售以太网设备的供应商必须向 IEEE 注册才能获得唯一的 6个十六进制(即 24 位或 3 字节)代码,称为组织唯一标识符 (OUI)。

当供应商为设备或以太网接口分配 MAC 地址时,供应商必须执行以下操作:

  • 使用其分配的 OUI 作为前 6 个十六进制数字。

  • 为后 6 个十六进制数字分配唯一值。

因此,以太网 MAC 地址由6个十六进制供应商 OUI 代码和6个十六进制供应商分配的值组成,如图所示。

例如,假设思科需要为新设备分配唯一的 MAC 地址。IEEE 已经给思科分配了一个OUI 00-60-2F. 然后思科将唯一的供应商代码配置给设备,如 3A-07-BC。因此,该设备的以太网 MAC 地址将是 00-60-2F-3A-07-BC.

供应商有责任确保其设备不被分配相同的 MAC 地址。但是,由于制造过程中出现的错误、某些虚拟机部署方式中的错误或使用多种软件工具之一进行的修改,可能存在重复的 MAC 地址。若出现以上任一情况,必须在新网卡或软件中修改 MAC 地址。


帧处理

MAC 地址通常称为烧录地址(BIA),因为传统上该地址被烧录到网卡的只读存储器(ROM)中。这意味着该地址会永久编码到 ROM 芯片中。

注意: 在现代 PC 操作系统和网卡中,可以在软件中更改MAC 地址。当试图访问基于 BIA 进行过滤的网络时,这一点非常有用。因此,根据 MAC 地址来过滤或控制流量就不再安全了。

当计算机启动时,网卡将 MAC 地址从 ROM 复制到 RAM 中。设备在向以太网络转发消息时,以太网报头包含这些:

  • 源 MAC 地址 – 这是源设备网卡的 MAC 地址。

  • 目的 MAC 地址 -这是目标设备网卡的 MAC 地址。


H1向H3发送以太网帧,当帧到达中继器时将转发至H2、H3、H4,转发结束后由各终端进行判断,若为帧的目的接收设备,则进行接受,反之终端不予理会。

收到以太网帧时,网卡会查看帧中的目的 MAC 地址是否与设备 RAM 中存储的物理 MAC 地址匹配。如果不匹配,设备就会丢弃帧。如果与帧中的目的 MAC 匹配,则网卡会将帧向上传送到 OSI 层进行解封处理。

注意:如果目的 MAC 地址是主机为其成员的广播或组播组时,以太网网卡也会接收帧。

任何作为以太网帧的源或目的设备都有一个以太网网卡,因此也有一个MAC地址。这些设备包括工作站、服务器、打印机、移动设备和路由器。


单播 MAC 地址

在以太网中,第 2 层单播、组播和广播通信会使用不同的 MAC 地址。

单播 MAC 地址是帧从一台发送设备去往一台目的设备时使用的唯一地址。

IPv4 地址为 192.168.1.5 的主机(源)向 IPv4 单播地址为 192.168.1.200 的服务器请求网页,目的 MAC 地址和目的 IP 地址均为单播。

要传送和接收单播数据包,目的 IP 地址必须包含于 IP 包报头中。相应的目的 MAC 地址也必须出现于以太网帧报头中。只有 IP 地址和 MAC 地址相结合才能将数据传送到特定的目的主机。

源主机用来确定目的IPv4地址所对应的目的 MAC 地址的流程称为地址解析协议 (ARP)。源主机用来确定目的IPv6地址所对应的目的 MAC 地址的流程称为邻居发现 (ND)。

注意: 源 MAC 地址必须始终为单播地址


广播 MAC 地址

以太网广播帧由以太网LAN上的每个设备接收和处理。以太网广播的功能如下:

  • 它有一个十六进制(在二进制中是 48 个 1)FF-FF-FF-FF-FF-FF的目的 MAC 地址。

  • 它向除输入端口以外的所有以太网交换机端口泛洪。

  • 路由器不会转发该帧。

如果封装的数据是IPv4广播包,这意味着该数据包包含一个目的IPv4地址,该地址的主机部分全部为1。这种地址值表示本地网络(广播域)中的所有主机都将接收和处理该数据包。

源主机向其网络中的所有设备发送 IPv4 广播数据包。IPv4 目的地址为广播地址 192.168.1.255。如果 IPv4 广播数据包被封装在以太网帧内,则目的 MAC 地址为十六进制(在二进制中是 48 个 1)的 FF-FF-FF-FF-FF-FF 广播 MAC 地址。

IPv4 的 DHCP 是使用以太网和 IPv4 广播地址的一个协议示例。

但是,并非所有以太网广播都带有 IPv4 广播数据包。例如,ARP 请求不使用 IPv4,但 ARP 消息却作为以太网广播发送。


组播 MAC 地址

以太网组播帧由属于同一组多播组的以太网LAN上的一组设备接收和处理。以太网组播的功能如下:

  • 当封装数据为IPv4组播包时,目的 MAC 地址为 01-00-5E;当封装数据为 IPv6 组播包时,目的 MAC 地址为 33-33。

  • 当封装的数据不是IP时,还有其他预留的组播目的 MAC 地址,如生成树协议(STP)和链路层发现协议(LLDP)。

  • 除非交换机被配置为用于组播窥探,否则它将向除传入端口之外的所有以太网交换机端口泛洪。

  • 它不会由路由器转发,除非路由器配置为路由组播数据包。

如果封装的数据是一个 IP 组播包,则属于组播组的设备都分配有该组播组 IP 地址。IPv4 组播地址的范围为 224.0.0.0 到 239.255.255.255。IPv6 组播地址的范围以 ff00::/8 开头。由于组播地址代表一组地址(有时称为主机组),因此只能用作数据包的目的地址。源地址始终应为单播地址。

如同单播和广播地址一样,组播 IP 地址也需要相应的组播 MAC 地址才能在本地网络中传送帧。组播 MAC 地址与 IPv4 或 IPv6 组播地址相关联,并使用来自 IPv4 或 IPv6 的编址信息。

目的 MAC 地址和目的 IP 地址都是广播。

路由协议和其他网络协议会使用组播地址。视频和图像软件等应用程序也可能使用组播地址,尽管组播应用程序并不常见。


MAC 地址表 - 交换机

既然您已经了解了所有关于以太网MAC地址的知识,现在就该讨论交换机如何使用这些地址将帧转发(或丢弃)到网络上的其他设备。如果交换机只是转发出它接收到的每一帧到所有端口,您的网络将会非常拥挤,以至于它可能会完全停止工作。

第 2 层以太网交换机使用 MAC 地址做出转发决策。它完全忽视帧的数据部分的协议,例如 IPv4 数据包,一个ARP消息或一个IPv6 ND数据包。交换机仅根据第 2 层以太网 MAC 地址做出转发决策。

一个以太网交换机检查它的MAC地址表,为每个帧做出一个转发决策,不像传统的以太网集线器,向除了传入端口以外的所有端口重复发出比特位。如图所示,四端口交换机已启动。如表所示,MAC地址表还未获知四台连接的 PC 的 MAC 地址。

注意: 缩短 MAC 地址是为了便于演示。

交换机

注意: MAC 地址表有时也称为内容可寻址内存 (CAM) 表。虽然 CAM 表这一术语相当常见,但在本课程中,我们将称其为 MAC 地址表。


交换机学习和转发

交换机通过检查端口传入帧的源 MAC 地址来动态构建 MAC 地址表。交换机通过匹配帧中的目的 MAC 地址与 MAC 地址表中的条目来转发帧。

检查源MAC地址

进入交换机的每个帧被检查,以确定其中是否有可被学习的新信息。它是通过检查帧的源 MAC 地址和帧进入交换机的端口号来完成这一步的。如果源 MAC 地址不存在,会将其和传入端口号一并添加到表中。如果源 MAC 地址已存在于表中,则交换机会更新该条目的刷新计时器。默认情况下,大多数以太网交换机将条目在表中保留 5 分钟。

如图所示,PC-A 正在向 PC-D 发送以太网帧。如表所示该交换机将 PC-A 的 MAC 地址添加到MAC地址表中。

注意: 如果源 MAC 地址已经保存在表中,但是对应的是不同的端口,那么交换机会将其视为一个新的条目。使用相同的 MAC 地址和最新的端口号来替换该条目。

学习


查找目的MAC地址

如果目的 MAC 地址为单播地址,该交换机会看帧中的目的 MAC 地址与 MAC 地址表中的条目是否匹配。如果表中存在该目的MAC地址,交换机会从指定端口转发帧。如果表中不存在该目的MAC地址,交换机会从除传入端口外的所有端口转发帧。这称为未知单播。

如图所示,交换机的表中没有目的主机 PC-D 的 MAC 地址,因此交换机会从除端口 1 外的所有端口转发帧。

注意: 如果目的 MAC 地址为广播或组播,该帧也将被泛洪到除传入端口外的所有端口。

转发


过滤帧

交换机是从不同的设备接收帧,因此它可以通过检查每个帧的源 MAC 地址来填充它的 MAC 地址表。如果MAC 地址表包含目的MAC 地址,则交换机将“滤过”该帧并将其从单个端口转发出去。

在图中,PC-D 正在回复 PC-A。 交换机在端口 4 上的传入帧中看到 PC-D 的 MAC 地址。然后,交换机将 PC-D 的 MAC 地址放入与端口 4 关联的 MAC 地址表中。

PC - D 到转换机

下一步,因为该交换机的MAC地址表中存在 PC-A 的目的 MAC 地址,它将仅从端口 1 将该帧发出去,如rt676图所示。

交换到 PC - A

下一步,PC-A 向 PC-D 发送另一帧,如图所示。MAC 地址表中已包含 PC-A 的 MAC 地址,因此该条目的五分钟刷新计时器被重置。下一步,因为该交换机的表中存在 PC-D 的目的 MAC 地址,它将仅从端口 4 将该帧发出去。

PC - A 到交换机再到PC - D


相连交换机上的 MAC 地址表

交换机的单个端口可以与多个 MAC 地址关联。这种情况在交换机与另一个交换机连接时很常见。交换机为每个收到的帧中的源 MAC 地址创建一条有单独的 MAC 地址表条目。


将帧发送到默认网关

如果一台设备的 IP 地址在远程网络上,则不能将以太网帧直接发送到目的设备。而是将以太网帧发送到默认网关(路由器)的 MAC 地址。


思科交换机上的帧转发方法

交换机使用其 MAC 地址表来确定用于转发帧的端口。对于思科交换机,实际上有两种帧转发的方法,根据具体情况,有充分的理由使用其中一种来代替另一种。

在过去,交换机使用下面的两种转发方法之一来进行网络端口间的数据交换

  • 存储转发交换 - 这个帧转发的方法接收整个帧并计算CRC (Cyclic Redundancy Check,循环冗余校验) 根据帧中的比特位为 1 的位数量,使用数学公式来确定收到的帧是否有错。如果 CRC 有效,则交换机查找目的地址,目的地址决定了转发接口。帧然后从正确的端口转发出去。

  • 直通交换 - 这种帧转发的方法在收到整个帧之前即转发帧。在可以转发帧之前,至少必须读取帧的目的地址。

存储转发交换的一大优点是,它可以在传播帧之前确定帧是否有错误

当在帧中检测到错误时,交换机丢弃该帧。丢弃有错的帧可减少损坏的数据所耗用的带宽量。存储转发交换对于融合网络中的服务质量(QoS)分析是必需的,在融合网络中,必须对帧进行分类以划分流量优先级。例如,IP 语音数据流的优先级需要高于 Web 浏览流量。

源数据帧

交换机帧校验

交换机校验通过

交换机检查交换表

交换机发送源数据帧到目的地


直通交换

在直通交换中,交换机在收到数据时立即处理数据,即使传输尚未完成。交换机只缓冲帧的一部分,缓冲的量仅足以读取目的 MAC 地址,以便确定转发数据时应使用的端口。目的 MAC 地址位于帧中前导码后面的前 6 个字节。交换机在其交换表中查找目的 MAC 地址,确定转发端口,然后通过指定的交换机端口将帧转发到其目的地。交换机对该帧不执行任何错误检查。

交换机发送源数据帧到目的地

交换机发送源数据帧到目的地

交换机发送源数据帧到目的地


直通交换有两种变体:

  • 快速转发交换 - 快速转发交换提供最低程度的延时。快速转发交换在读取目的地址之后立即转发数据包。由于快速转发交换在收到整个数据包之前就开始转发,因此有时候中继数据包时会出错。这种情况并不经常发生,而且目的网络适配器在收到含错数据包时会将其丢弃。在快速转发模式下,延时是指从收到第一个位到传出第一个位之间的时间差。快速转发交换是典型的直通交换方法。

  • 免分片交换 - 在免分片交换中,交换机在转发之前存储帧的前 64 个字节。可以将免分片交换视为存储转发交换和直通交换之间的折衷。免分片交换只存储帧的前 64 个字节的原因是,大部分网络错误和冲突都发生在前 64 个字节。免分片交换在转发帧之前对帧的前 64 个字节执行小错误检查以确保没有发生过冲突,并且尝试通过这种方法来增强快速转发交换功能。免分片交换是存储转发交换的高延时和高完整性与快速转发交换的低延时和弱完整性之间的折衷。

某些交换机可配置为按端口执行直通交换当达到用户定义的错误阈值时,这些端口自动切换为存储转发。当错误率低于该阈值时,端口自动恢复到直通切换


交换机上的内存缓冲

以太网交换机在转发帧之前,可以使用缓冲技术存储帧。当目的端口由于拥塞而繁忙时,也可以使用缓冲。交换机将帧存储起来,直到可以传输

如表所示,有两种内存缓冲方法:

方法 描述
基于端口的内存 1. 帧存储在链接到特定传入端口和传出 端口的队列中。2. 只有当队列前面的所有帧都成功传输后, 才会将帧传输到传出端口。3. 由于目地端口繁忙, 单个帧可能会造成内存中所有帧的传输延迟。4. 即使其他帧可以传送到开放的目的端口, 这种延迟仍然会发生。
共享内存 1. 将所有帧存储到由所有交换端口共享的公共内存缓冲区中, 并且动态分配一个端口所需的 缓冲区内存量。 2. 缓冲区中的帧动态地链接到目的端口, 允许在一个端口上接收数据包,然后 在另一个端口上发送,而无需移动到另一个队列。

而且共享内存缓冲也意味着存储较大帧的能力,丢弃的帧可能较少。这对于非对称交换非常重要,因为它允许在不同端口上使用不同的数据速率,比如将服务器连接到 10 Gbps 的交换机端口,而pc连接到 1 Gbps 的端口。


双工和速率设置

交换机上最基本的两个设置是带宽(有时称为“速率”)和每个交换机端口的双工设置。交换机端口和连接的设备(例如计算机或另一台交换机)的双工设置和带宽设置必须匹配。

用于以太网通信的双工设置有两种:

  • 全双工 – 连接的两端均可同时收发信息。

  • 半双工 – 一次只能是连接的两端中其中一端发送信息。

自动协商是大多数以太网交换机和网卡的一项可选功能。它使两个设备自动协商最佳速率和双工性能。如果两台设备具有最高常见带宽的功能,则会选择全双工。

PC-A 的以太网网卡可在全双工或半双工模式下,以及以 10 Mbps 或 100 Mb速率运行。

注意: 大多数思科交换机和以太网网卡默认采用自动协商功能,以提高速率和实现双工。千兆以太网端口仅以全双工模式运行

双工不匹配是以太网链路出现性能问题的常见原因之一。当链路上的一个端口在半双工模式下运行,而另一个端口在全双工模式下运行时,就会发生双工不匹配,如图所示。

当链路上的一个或两个端口被重置时,会发生双工不匹配,自动协调过程并不会使链路上的两个端口的配置相同。当用户重新配置链路的一端而忘记重新配置另一端时,也会出现这样的情况。链路的两端均应都使用或都不使用自动协商。最佳实践是将两个以太网交换端口都配置为全双工。


Auto-MDIX

设备之间的连接曾经要求使用交叉线或直通线。所需的线缆类型取决于互连设备的类型。

例如,该图标识了互连交换机到交换机交换机到路由器交换机到主机路由器到主机设备所需的正确线缆类型。交叉线用于连接相似的设备,而直通电缆主要用于连接不同的设备。

连线规则

现在,大多数交换机设备都支持自动介质相关接口交叉 (auto-MDIX) 功能。当该功能启用时,交换机可检测连接到端口的线缆类型,并相应地配置接口。因此,如果要连接到交换机上的铜缆 10/100/1000 端口,您既可以使用交叉线,也可以使用直通线,而无需考虑连接另一端的设备类型。


总结

  • 以太网帧

以太网在数据链路层和物理层运行。以太网标准定义第 2 层协议和第 1 层技术。以太网使用数据链路层的 LLC 和 MAC 子层进行操作。数据封装包括以下内容:以太网帧、以太网编址和以太网错误检测。以太网LANs使用的交换机是全双工的。以太网帧字段包括:前导码和帧起始定界符、目的 MAC 地址、源 MAC 地址、EtherType、数据和 FCS。

  • 以太网MAC地址

二进制系统仅使用数字 0 和 1。十进制使用 0 到 9。十六进制使用 0 到 9,字母 A 到 F。MAC 地址用于标识本地网段上的物理源和目的设备 (NIC)。MAC 编址为 OSI 模型的数据链路层提供了设备识别方法。以太网 MAC 地址是48 位,使用 12个十六进制数字,或 6 字节表示。以太网 MAC 地址由6个十六进制供应商 OUI 代码和6个十六进制供应商分配的值组成。当设备将消息转发到以太网网络时,以太网报头包括源 MAC 地址和目的 MAC 地址。在以太网中,第 2 层单播、组播和广播通信会使用不同的 MAC 地址。

  • MAC地址表

第 2 层以太网交换机仅根据第 2 层以太网 MAC 地址做出转发决策。交换机通过检查端口传入帧的源 MAC 地址来动态构建 MAC 地址表。交换机通过匹配帧中的目的 MAC 地址与 MAC 地址表中的条目来转发帧。交换机是从不同的设备接收帧,因此它可以通过检查每个帧的源 MAC 地址来填充它的 MAC 地址表。如果MAC 地址表包含目的MAC 地址,则交换机将滤过该帧并将其从单个端口转发出去。

  • 交换机速率和转发方法

交换机使用下面的两种转发方法之一来进行网络端口间的数据交换:存储转发交换或直通交换。有两种类型的直通交换方法:快速转发和免分片。内存缓冲的两种方法是基于端口的内存和共享内存。以太网络上的通信使用两种双工设置:全双工和半双工。自动协商是大多数以太网交换机和网卡的一项可选功能。它使两个设备自动协商最佳速率和双工性能。如果两台设备具有最高常见带宽的功能,则会选择全双工。现在,大多数交换机设备都支持自动介质相关接口交叉 (auto-MDIX) 功能。当该功能启用时,交换机可检测连接到端口的线缆类型,并相应地配置接口。


网络层(第 3 层)


地址解析

同一网络中的目的地

有时,主机必须发送消息,但它只知道目的设备的 IP 地址。主机需要知道该设备的MAC地址,但是如何才能发现它呢? 这就是地址解析变得至关重要的地方。

以太网 LAN 上的设备都配有两个主要地址:

  • 物理地址(MAC 地址)用于同一网络上的以太网网卡之间的通信

  • 逻辑地址(IP地址)用于将数据包从源设备发送到目的设备目的IP地址可能与源地址在同一个IP网络上,也可能在远程网络上

第二层物理地址(即以太网 MAC 地址)用于将数据链路层帧从同一网络中一个网卡发送到另一个网卡, IP 数据包就封装在帧中。如果目的IP地址在同一网络上,则目的MAC地址将是目的设备的MAC地址。

考虑下面使用简化的MAC地址表示的示例。

同一网络中的目的地

在本示例中,PC1 想要向 PC2 发送一个数据包。该图显示了从 PC1 发送的数据包中包含:第2层目的和源 MAC 地址以及第 3 层 IPv4 地址。

第 2 层以太网帧包含以下内容:

  • 目的MAC地址 – 这是简化的 PC2 MAC 地址,55-55-55。

  • 源MAC地址 – 这是 PC1 上以太网网卡的简化 MAC 地址,aa-aa-aa。

第 3 层 IP 数据包包含以下内容:

  • 源 IPv4 地址 – 这是 PC1 的 IPv4 地址,192.168.10.10。

  • 目的 IPv4 地址 – 这是 PC2 的 IPv4 地址, 192.168.10.11。


远程网络中的目的地

当目的 IP 地址(IPv4或IPv6)处于远程网络中时,则目的 MAC 地址为主机的默认网关的地址(即路由器接口)。

考虑下面使用简化的MAC地址表示的示例。

在本示例中,PC1想要向PC2发送一个数据包。PC2 位于远程网络上。因为目的IPv4地址与PC1不在同一个本地网络上,所以目的MAC地址是路由器上的本地默认网关地址。

路由器通过检查目的 IPv4 地址来确定转发 IPv4 数据包的最佳路径。路由器收到以太网帧后,将解封第 2 层信息。它可借助目的 IPv4 地址确定下一跳设备,然后将 IPv4 数据包封装在发送接口的新数据链路帧中。

在我们的示例中, R1现在用新的第2层地址信息封装数据包,如图所示。

新的目的MAC地址将是R2 G0/0/1接口的地址,新的源MAC地址将是R1 G0/0/1接口的地址。

沿着路径中的每个链路,IP数据包都被封装在一个帧中。这个帧由该链路的数据链路层技术指定,如以太网。如果下一跳设备为最终目的地,则目的 MAC 地址将是该设备的以太网网卡的 MAC 地址,如图所示。

数据流中 IP 数据包的 IP 地址如何与通往目的地路径中每条链路上的 MAC 地址相关联?对于IPv4数据包,这可以通过地址解析协议 (ARP) 过程来完成。对于IPv6数据包,这个过程是ICMPv6邻居发现(ND)。


ARP概述

如果您的网络使用IPv4通信协议,则需要使用 地址解析协议(ARP,Address Resolution Protocol) 将IPv4地址映射到MAC地址。

以太网网络上的每个IP设备都有一个唯一的以太网MAC地址。当设备发送以太网第2层帧时,将包含以下两个地址:

  • 目的 MAC 地址 - 目的设备位于同一本地网络上,则为其以太网 MAC 地址。如果目的主机位于另一个网络上,则帧中的目的地址将是默认网关(即路由器)的地址。

  • 源 MAC 地址 - 源主机以太网网卡的 MAC 地址。

该图说明了将帧发送到 IPv4 网络上同一段中的另一个主机时出现的问题。

要向同一本地IPv4网络上的另一个主机发送数据包,主机必须知道目的设备的IPv4地址和MAC地址。设备目的IPv4地址可以是已知的,也可以通过设备名称解析。然而,MAC地址必须被发现。

设备使用地址解析协议(ARP)来确定一个已知 IPv4 地址的本地设备的目的 MAC 地址。

ARP 提供两个基本功能:

  • 将 IPv4 地址解析为 MAC 地址

  • 维护IPv4到MAC地址映射表


ARP 功能

当数据包发送到要封装入以太网帧的数据链路层时,设备将参照其内存中的表来查找映射至 IPv4 地址的 MAC 地址。此表临时存储在 RAM 内存中,称为 ARP 表或 ARP 缓存

发送设备会在自己的 ARP 表中搜索目的 IPv4 地址和相应的 MAC 地址。

  • 如果数据包的目的 IPv4 地址与源 IPv4 地址处于同一个网络,则设备会在 ARP 表中搜索目的 IPv4 地址。

  • 如果目的 IPv4 地址与源 IPv4 地址不在同一个网络中,则设备会在 ARP 表中搜索默认网关的 IPv4 地址。

这两种情况都是搜索设备的 IPv4 地址和与其相对应的 MAC 地址。

ARP 表中的每一条(或每行)将一个 IPv4 地址与一个 MAC 地址绑定。我们把两个值之间的关系称为映射。这意味着您可以在表中查找 IPv4 地址并发现相应的 MAC 地址。ARP 表暂时保存(缓存)LAN 上设备的映射。

如果设备找到 IPv4 地址,其相应的 MAC 地址将作为帧中的目的 MAC 地址。如果找不到该条目,设备会发送一个 ARP 请求。

源设备发送 ARP 请求

交换机转发请求报文

终端报文校验

目标机回传信息

源设备向目标机发送信息

目标机接收信息


ARP 请求

当设备需要确定与 IPv4 地址关联的 MAC 地址,而它的 ARP 表中没有该 IPv4 地址条目时,会发送一个 ARP 请求。

ARP 消息直接封装到以太网帧中。没有 IPv4 报头。ARP 请求使用以下帧头信息封装在以太网帧中:

  • 目的 MAC 地址 – 这是一种要求 LAN 上的所有以太网网卡接受并处理 ARP 请求的广播地址FF-FF-FF-FF-FF-FF。

  • 源 MAC 地址 – 这是ARP请求发送方的MAC地址。

  • 类型 - ARP 消息的类型字段为 0x806。该类型字段会通知接收网卡需要将帧的数据部分传递给 ARP 进程处理。

因为 ARP 请求属于广播,交换机会将其泛洪到除接收端口外的其他所有端口。局域网上的所有以太网网卡都会处理广播,并且必须将ARP请求发送到其操作系统进行处理每台设备必须处理 ARP 请求,以检查目的 IPv4 地址是否与其自己的地址相匹配。路由器不会将广播转发到其他接口。

LAN 上只有一台设备的 IPv4 地址与 ARP 请求中的目的 IPv4 地址相匹配。所有其他设备将不应
答。


ARP 操作 - ARP 应答

只有具有与ARP请求相应的目的IPv4地址的设备才会以ARP应答做出响应。ARP 应答使用以下帧头信息封装在以太网帧中:

  • 目的 MAC 地址 – 这是ARP请求发送方的MAC地址。

  • 源 MAC 地址 – 这是ARP应答发送方的MAC地址。

  • 类型 – ARP 消息的类型字段为 0x806。该类型字段会通知接收网卡需要将帧的数据部分传递给 ARP 进程处理。

只有原始发送 ARP 请求的设备会收到单播 ARP 应答。收到该 ARP 应答后,设备会将 IPv4 地址及相应的 MAC 地址添加到自身的 ARP 表中。该 IPv4 地址的数据包现在便可使用其相应的 MAC 地址封装在帧中。

如果没有设备响应 ARP 请求,就无法创建帧,那么这个数据包会被丢弃。

ARP 表中的条目具有时间戳如果设备在时间戳到期前没有从特定设备收到帧此设备的条目将会从 ARP 表中删除

此外,也可以在 ARP 表中输入静态映射条目,但这种情况很少见静态 ARP 表条目没有到期时间,必须手动删除

注意: IPv6 使用与 IPv4 类似的 ARP 流程,称为 ICMPv6 邻居发现(ND)。与 IPv4 的 ARP 请求和 ARP 应答类似,Pv6 使用邻居请求和邻居通告消息。


ARP 在远程通信中的作用

当目的 IPv4 地址与源 IPv4 地址位于不同网络时,源设备需要将帧发送到其默认网关。这是本地路由器的接口。每当源设备具有 IPv4 地址在其他网络中的数据包时,它会使用路由器的目的 MAC 地址将该数据包封装在帧中。

默认网关的 IPv4 地址存储在主机的 IPv4 配置中。当主机创建通往某台目的主机的数据包时,会将目的 IPv4 地址与其自己的 IPv4 地址进行比较,以确定两个 IPv4 地址是否位于相同的第 3 层网络上。如果目的主机不在同一网络上,源主机将从 ARP 表中查找默认网关的 IPv4 地址条目。如果没有该条目,源主机将使用 ARP 流程来确定默认网关的 MAC 地址。


从 ARP 表中删除条目

对于每台设备,ARP 缓存定时器将会删除在指定时间内未使用的 ARP 条目。时间根据设备的操作系统不同而不同。例如,较新的 Windows 操作系统将 ARP 表条目存储 15 秒到 45 秒之间,如图所示。

也可以使用命令来手动删除 ARP 表中的部分或全部条目当条目被删除之后,要想在 ARP 表中输入映射,必须重复一次发送 ARP 请求和接收 ARP 回复的过程


网络设备上的 ARP 表

思科路由器上,show ip arp命令用于显示 ARP 表。

R1# show ip arp 
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.10.1            -   a0e0.af0d.e140  ARPA   GigabitEthernet0/0/0
Internet  209.165.200.225         -   a0e0.af0d.e141  ARPA   GigabitEthernet0/0/1
Internet  209.165.200.226         1   a03d.6fe1.9d91  ARPA   GigabitEthernet0/0/1
R1#

Windows 10 PC 上,arp –a命令用于显示 ARP 表。

C:\Users\PC> arp -a
Interface: 192.168.1.124 --- 0x10
  Internet Address      Physical Address      Type
  192.168.1.1           c8-d7-19-cc-a0-86     dynamic
  192.168.1.101         08-3e-0c-f5-f7-77     dynamic
  192.168.1.110         08-3e-0c-f5-f7-56     dynamic
  192.168.1.112         ac-b3-13-4a-bd-d0     dynamic
  192.168.1.117         08-3e-0c-f5-f7-5c     dynamic
  192.168.1.126         24-77-03-45-5d-c4     dynamic
  192.168.1.146         94-57-a5-0c-5b-02     dynamic
  192.168.1.255         ff-ff-ff-ff-ff-ff     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  239.255.255.250       01-00-5e-7f-ff-fa     static
  255.255.255.255       ff-ff-ff-ff-ff-ff     static
C:\Users\PC>

ARP 问题 - ARP广播和ARP 欺骗

作为广播帧,本地网络上的每台设备都会收到并处理 ARP 请求。在一般的商业网络中,这些广播对网络性能的影响可能微不足道。但是,如图所示,如果大量设备都已启动,并且同时开始使用网络服务,网络性能可能会有短时间的下降在设备发出初始 ARP 广播并获取必要的 MAC 地址之后,网络受到的影响将会降至最小

有时,使用 ARP 可能会造成潜在的安全风险

威胁发起者可以使用 ARP 欺骗来执行 ARP 毒化攻击。

如图所示,威胁发起者使用这种技术来应答属于另一台设备(例如默认网关)的 IPv4 地址的 ARP 请求。威胁发起者会发送一个带有自己 MAC 地址的 ARP 应答。ARP 应答的接收方会将错误的 MAC 地址添加到其 ARP 表中,并将这些数据包发送给威胁发起者。 企业级的交换机包含称为动态 ARP 检查(DAI,Dynamic ARP Inspection,动态 ARP 检测)的缓解技术


IPv6 邻居发现

如果您的网络使用IPv6通信协议,则需要使用邻居发现协议(ND)将 IPv6 地址与 MAC 地址进行匹配。


IPv6 邻居发现消息

IPv6 邻居发现协议有时被称为 ND 或 NDP。在本课程中,我们称它为 ND。ND使用ICMPv6为IPv6提供地址解析、路由器发现和重定向服务。ICMPv6 ND 使用五种 ICMPv6 消息来执行这些服务

  • 邻居请求消息

  • 邻居通告消息

  • 路由器请求消息

  • 路由器通告消息

  • 重定向消息

邻居请求和邻居通告消息用于设备到设备的消息传递,例如地址解析(类似于 IPv4 的 ARP)。设备包括主机计算机和路由器。

路由器请求和路由器通告消息用于设备和路由器之间的消息传递。通常,路由器发现用于动态地址分配(DHCP,Dynamic Host Configuration Protocol)和无状态地址自动配置 (SLAAC,Stateless address auto configuration)

注意: 第五个 ICMPv6 ND 消息是一个重定向消息,用于更好的下一跳选择。这不在本课程的讨论范围之内。

IPv6 ND 是在 IETF RFC 4861 中定义的。


IPv6 邻居发现 - 地址解析

与 IPv4 的 ARP 非常相似,IPv6 设备使用 IPv6 ND 来确定一个已知 IPv6 地址的设备的 MAC 地址。

ICMPv6 邻居请求和邻居通告消息用于MAC地址解析。这类似于ARP用于IPv4的ARP请求和ARP应答。例如,假设 PC1 想要ping PC2的Ipv6地址2001:db8:acad::11。为了确定已知IPv6地址的MAC地址,PC1发送一个ICMPv6邻居请求消息,如图所示。

该图显示了 PC1 和 PC2 连接到网络 2001:db8:acad:1::/64 上的同一交换机。PC1 的 IPv6 地址是2001:db8:acad:1::10,PC2 的 IPv6 地址是 2001:db8:acad:1::11。

  • PC1 正在发送一条 ICMPv6 邻居请求消息,显示为:嘿,谁有2001:db8:acad:1::11,把你的 MAC 地址发给我?

  • PC2 正在回应一条 ICMPv6 邻居通告消息,显示为:嘿,2001:db8:acad:1::10,我是 2001:db8:acad:1::11,我的 MAC 地址是 f8-94-c3-e4-c5-0A。

ICMPv6 邻居请求消息使用特定的以太网和 IPv6 组播地址发送。这允许接收设备的以太网卡确定邻居请求消息是否属于它自己,而不必将它发送到操作系统进行处理。

PC2 使用包含其 MAC 地址的 ICMPv6 邻居通告消息来应答请求。

总结

  • MAC和IP

第2层物理地址(即,以太网MAC地址)用于通过封装 IP 数据包将数据链路层帧从同一网络中一个网卡发送到另一个网卡。如果目的 IP 地址处于本地网络中,则目的 MAC 地址是目的设备的 MAC 地址。当目的 IP 地址(IPv4或IPv6)处于远程网络中时,则目的 MAC 地址为主机的默认网关的地址(即路由器接口)。沿着路径中的每个链路,IP数据包都被封装在一个帧中。这个帧由该链路的数据链路层技术指定,如以太网。如果下一跳设备为最终目的地,则目的 MAC 地址将是该设备的以太网网卡的 MAC 地址。数据流中 IP 数据包的 IP 地址如何与通往目的地路径中每条链路上的 MAC 地址相关联?对于IPv4数据包,这可以通过ARP 过程来完成。对于IPv6数据包,这个过程是ICMPv6 ND。

  • ARP

以太网网络上的每个IP设备都有一个唯一的以太网MAC地址。当设备发送以太网帧时,它包含这两个地址:目的 MAC 地址和源 MAC 地址。当已知一个本地设备的IPv4地址时,使用ARP来确定该设备的目的MAC地址。ARP提供了两个基本功能:将IPv4地址解析为MAC地址和维护IPv4到MAC地址的映射表。ARP 请求使用以下报头信息封装在以太网帧中:源和目的 MAC 地址和类型。LAN 上只有一台设备的 IPv4 地址与 ARP 请求中的目的 IPv4 地址相匹配。所有其他设备将不应答。ARP应答包含与请求相同的报头字段。只有原始发送 ARP 请求的设备会收到单播 ARP 应答。收到该 ARP 应答后,设备会将 IPv4 地址及相应的 MAC 地址添加到自身的 ARP 表中。当目的 IPv4 地址与源 IPv4 地址位于不同网络时,源设备需要将帧发送到其默认网关。这是本地路由器的接口。对于每台设备,ARP 缓存定时器将会删除在指定时间内未使用的 ARP 条目。也可以使用命令来手动删除 ARP 表中的部分或全部条目。作为广播帧,本地网络上的每台设备都会收到并处理 ARP 请求,这可能导致网络变慢。威胁发起者可以使用 ARP 欺骗来执行 ARP 毒化攻击。

  • 邻居发现

IPv6不使用ARP,它使用ND协议来解析MAC地址。ND使用ICMPv6为IPv6提供地址解析、路由器发现和重定向服务。ICMPv6 ND 使用五种 ICMPv6 消息来执行这些服务:邻居请求、邻居通告、路由器请求、路由器通告和重定向。与IPv4的ARP非常相似,IPv6设备使用IPv6 ND将设备的MAC地址解析为已知的IPv6地址。


CISCO路由器基本配置

基本路由器配置步骤

在路由器上配置初始设置时,应完成以下任务。

  • 配置设备名称。
Router(config)# hostname hostname
  • 保护特权模式。
Router(config)# enable secret password
  • 保护用户模式
Router(config)# line console 0
Router(config-line)# password password
Router(config-line)# login
  • 保护远程 Telnet / SSH 访问
Router(config-line)# line vty 0 4
Router(config-line)# password password
Router(config-line)# login
Router(config-line)# transport input {ssh | telnet}
  • 保护配置文件中的所有密码。
Router(config-line)# exit
Router(config)# service password-encryption
  • 提供法律通知。
Router(config)# banner motd delimiter message delimiter
  • 保存配置。
Router(config)# end
Router# copy running-config startup-config

路由器基本配置示例

在此示例中,拓扑图中的路由器 R1 将使用初始设置进行配置。

要配置 R1 的设备名称,请使用以下命令。

Router> enable 
Router# configure terminal 
Enter configuration commands, one per line.
End with CNTL/Z.
Router(config)# hostname R1 
R1(config)#

注意: 注意路由器提示符现在如何显示路由器主机名。

所有路由器访问都应得到保护。特权 EXEC 模式为用户提供对设备及其配置的完全访问权限。因此,它是要去保护的最重要的模式。

以下命令保护特权 EXEC 模式和用户 EXEC 模式,启用 Telnet 和 SSH 远程访问,并加密所有明文(即用户 EXEC 和 VTY 线路)密码。

R1(config)# enable secret class 
R1(config)#
R1(config)# line console 0 
R1(config-line)# password cisco 
R1(config-line)# login 
R1(config-line)# exit 
R1(config)#
R1(config)# line vty 0 4 
R1(config-line)# password cisco 
R1(config-line)# login 
R1(config-line)# transport input ssh telnet 
R1(config-line)# exit 
R1(config)#
R1(config)# service password-encryption 
R1(config)#

法律通知警告用户只能由允许用户访问该设备。法律通知配置如下。

R1(config)# banner motd #
Enter TEXT message. End with a new line and the #
*********************************************** 
WARNING: Unauthorized access is prohibited!
***********************************************
#
R1(config)#

如果前面的命令已配置,路由器意外断电,则所有已配置的命令都将丢失。因此,在实施变更时保存配置非常重要。以下命令将配置保存到 NVRAM。

R1# copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]
R1#

配置路由器接口

此时,您的路由器已经有了基本配置。下一步将配置它们的接口。这是因为在配置接口之前,终端设备无法访问路由器。思科路由器上有许多不同类型的接口。例如,思科 ISR 4321 路由器配备了两个千兆以太网接口:

  • GigabitEthernet 0/0/0 (G0/0/0)

  • GigabitEthernet 0/0/1 (G0/0/1)

配置路由器接口的任务与交换机上管理 SVI 非常相似。具体来说,它包括发出以下命令:

Router(config)# interface type-and-number
Router(config-if)# description description-text
Router(config-if)# ip address ipv4-address subnet-mask
Router(config-if)# ipv6 address ipv6-address/prefix-length
Router(config-if)# no shutdown

注意: 当路由器接口启用时,应显示确认已启用链接的信息。

虽然不需要 description 命令来启用接口,但使用它是一个很好的习惯。通过提供有关所连接的网络类型的信息,可以帮助解决生产网络上的故障。例如,如果接口连接到ISP或服务供应商,则使用description命令输入“第三方连接和联系信息”将会有帮助。

注意: 说明文字最长不能超过 240 个字符。

使用no shutdown 命令可激活接口,类似于在接口上启动电源。接口还必须连接到另一台设备(交换机或路由器),才能使物理层处于活动状态。

注意: 在没有以太网交换机的路由器间连接,必须配置和启用两个互连接口。


配置路由器接口示例

在此示例中,将启用拓扑图中的 R1 直连接口。

要在 R1 上配置接口,请使用以下命令。

R1> enable
R1# configure terminal
Enter configuration commands, one per line.
End with CNTL/Z.
R1(config)# interface gigabitEthernet 0/0/0
R1(config-if)# description Link to LAN
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# ipv6 address 2001:db8:acad:10::1/64
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)#
*Aug  1 01:43:53.435: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/0, changed state to down
*Aug  1 01:43:56.447: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/0, changed state to up
*Aug  1 01:43:57.447: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up
R1(config)#
R1(config)#
R1(config)# interface gigabitEthernet 0/0/1
R1(config-if)# description Link to R2
R1(config-if)# ip address 209.165.200.225 255.255.255.252
R1(config-if)# ipv6 address 2001:db8:feed:224::1/64
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)#
*Aug  1 01:46:29.170: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/1, changed state to down
*Aug  1 01:46:32.171: %LINK-3-UPDOWN: Interface GigabitEthernet0/0/1, changed state to up
*Aug  1 01:46:33.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/1, changed state to up
R1(config)#

注意: 注意那些通知我们G0/0/0 和 G0/0/1已启用了的信息。


检验接口配置

有多条命令可用于检验接口配置。其中最有用的是 show ip interface brief 和 show ipv6 interface brief 命令,如示例所示。

R1#  show ip interface brief
Interface IP-Address OK? Method Status Protocol 
GigabitEthernet0/0/0 192.168.10.1 YES manual up up 
GigabitEthernet0/0/1 209.165.200.225 YES manual up up 
Vlan1 unassigned YES unset administratively down down 
R1#  show ipv6 interface brief
GigabitEthernet0/0/0 [up/up]
FE80::201:C9FF:FE89:4501
2001:DB8:ACAD:10::1
GigabitEthernet0/0/1 [up/up]
FE80::201:C9FF:FE89:4502
2001:DB8:FEED:224::1
Vlan1 [administratively down/down]
unassigned 
R1#

配置验证命令

此表总结了用于验证接口配置的更常用 show 命令。

命令 说明
show ip interface brief / show ipv6 interface brief 所有接口的输出显示,它们的IP地址和 当前的状态已配置和连接的接口的 状态和协议均会显示“up”; 显示任何其他内容都可能表示配置或 布线出现了问题。
show ip route / show ipv6 route 显示存储在 RAM 中的 IP 路由表的内容。
show interfaces 显示设备上所有接口的统计信息。然而,这个命令将只显示 IPv4 编址信息。
show ip interface 显示路由器上所有接口的 IPv4 统计信息。
show ipv6 interface 显示路由器上所有接口的 IPv6 统计信息。

配置默认网关 - 主机的默认网关

如果您的本地网络只有一个路由器,它就将是网关路由器,并且必须使用此信息配置网络上的所有主机和交换机。如果您的本地网络有多个路由器,则必须选择其中一个作为默认网关路由器。本主题介绍如何在主机和交换机上配置默认网关。

对于通过网络通信的终端设备,必须配置正确的 IP 地址信息,包括默认网关地址。当主机要将数据包发送到另一个网络设备时,才会使用默认网关。默认网关地址通常是连接主机本地网络的路由器接口地址。主机设备的 IP 地址和路由器接口地址必须位于同一网络。

例如,假设 IPv4 网络拓扑由一个路由器连接两个不同的 LAN 组成。G0/0/0 连接到网络 192.168.10.0,G0/0/1 连接到网络 192.168.11.0。每台主机设备均配置有相应的默认网关地址。

在此示例中,如果 PC1 向 PC2 发送数据包,则不使用默认网关。相反,PC1 将 PC2 的 IP 地址指定给数据包,然后通过交换机将该数据包直接转发给 PC2。

如果 PC1 向 PC3 发送数据包,该怎么办?PC1 将 PC3 的 IPv4 地址指定给数据包,但会将数据包转发到其默认网关,即 R1 的 G0/0/0 接口。路由器接受数据包,访问其路由表,以确定G0/0/1是基于目标地址的适当出口接口。然后 R1 将数据包转发出相应的接口以达到 PC3。

IPv6 网络上也会发生相同的过程,尽管拓扑中未显示此过程。设备将使用本地路由器的 IPv6 地址作为其默认网关。


配置默认网关 - 交换机的默认网关

连接客户端计算机的交换机通常是第 2 层设备。因此,第 2 层交换机不需要使用 IP 地址就能正常工作。但是,可以在交换机上配置 IP 配置,以便管理员能够远程访问交换机。

要通过本地 IP 网络连接和管理交换机,必须配置交换机虚拟接口 (SVI)。SVI 配置了本地局域网上的 IPv4 地址和子网掩码。要从远端网络管理交换机,必须给交换机配置一个默认网关。

在会通过本地网络之外的方式通信的所有设备上,一般都会配置默认网关地址。

要为交换机配置默认网关,请使用ip default-gateway ip-address 全局配置命令。配置的 IP 地址是连接到交换机的本地路由器接口的 IP 地址。

图中显示了管理员正在建立到另一个网络上的交换机 S1 的远程连接。

在此示例中,管理员主机将使用其默认网关将数据包发送到 R1 的 G0/0/1 接口。R1 会将数据包从其 G0/0/0 接口转发到 S1。由于数据包源 IPv4 地址来自另一个网络,因此 S1 需要默认网关才能将数据包转发到 R1 的 G0/0/0 接口。因此,S1必须配置默认网关才能够应答并建立与管理主机的 SSH 连接。

注意: 来自与交换机相连的主机计算机的数据包必须在主机计算机操作系统上配置默认网关地址。

也可以使用 SVI 上的 IPv6 地址配置工作组交换机。但是,交换机不需要手动配置默认网关的 IPv6 地址。交换机将自动接收来自路由器的 ICMPv6 路由器公告消息的默认网关。


总结

  • 配置初始路由器设置

在路由器上配置初始设置时,应完成以下任务。

  1. 配置设备名称。
  2. 保护特权模式。
  3. 保护用户模式。
  4. 保护远程 Telnet / SSH 访问。
  5. 保护配置文件中的所有密码。
  6. 提供法律通知。
  7. 保存配置。
  • 配置接口

要使路由器可访问,必须配置路由器接口。思科 ISR 4321 路由器配备了两个千兆以太网接口:千兆以太网 0/0/0(G0/0/0)和千兆以太网 0/0/1(G0/0/1)。配置路由器接口的任务与交换机上管理 SVI 非常相似。使用 no shutdown 命令会激活界面。接口还必须连接到另一台设备(交换机或路由器),才能使物理层处于活动状态。有多条命令可用于检验接口配置,包括了show ip interface brief和show ipv6 interface brief,show ip route和show ipv6 route,以及show interfaces、show ip interface和show ipv6 interface.。

  • 配置默认网关

对于通过网络通信的终端设备,必须配置正确的 IP 地址信息,包括默认网关地址。默认网关地址通常是连接主机本地网络的路由器接口地址。主机设备的 IP 地址和路由器接口地址必须位于同一网络。要通过本地 IP 网络连接和管理交换机,必须配置交换机虚拟接口 (SVI)。SVI 配置了本地局域网上的 IPv4 地址和子网掩码。要从远端网络管理交换机,必须给交换机配置一个默认网关。要为交换机配置默认网关,请使用ip default-gateway ip-addressIP地址全局配置命令。使用连接到交换机的本地路由器接口的IPv4地址。


IPv4编址


IPv6编址


ICMP 消息

主机可接通性

ICMP Echo消息可用于测试 IP 网络上主机的可达性。本地主机向一台主机发送 ICMP Echo请求。如果主机可用,目的主机会回应以Echo应答。使用 ICMP Echo消息是ping实用程序的基础

H1 向 H2 发送 Echo 请求,询问 H2 是否可达

Echo 请求消息转发

H2 接收到 H1 发送的 Echo 请求,并发送 Echo 应答消息

Echo 应答消息转发

H1 收到 H2 的 Echo 应答


目的地或服务不可达

当主机或网关收到无法传送的数据包时,它会使用 ICMP 目的地不可达消息通知源主机,目的地或服务无法到达。消息包括指示数据包为何无法传送的代码。

ICMPv4 的目的地不可达代码示例有:

  • 0 - 网络不可达。

  • 1 - 主机不可达。

  • 2 - 协议不可达。

  • 3 - 端口不可达。

ICMPv6 的目的地不可达代码示例有:

  • 0 - 没有通往目标的路由。

  • 1 - 管理上禁止与目的地通信(例如防火墙)。

  • 2 - 超出源地址的范围。

  • 3 - 地址无法访问。

  • 4 - 端口不可达。

注意: ICMPv6 的目的地不可达消息代码与此类似,但稍有不同。


超时

路由器使用 ICMPv4 超时消息表明,因为数据包的生存时间(TTL,Time To Live)字段递减到 0 而不能转发该数据包。如果路由器接收数据包并且将 IPv4 数据包的 TTL 字段的值递减为零,则它会丢弃数据包并向源主机发送超时消息

如果路由器因数据包过期而无法转发 IPv6 数据包,ICMPv6 也会发送超时消息。ICMPv6使用IPv6跳数限制字段来确定数据包是否已过期,而不是IPv4 TTL字段

注意: traceroute 跟踪路由工具使用超时消息


ICMPv6 消息

在 ICMPv6 中发现的信息和错误消息非常类似于 ICMPv4 的控制和错误消息。但是,ICMPv6 拥有 ICMPv4 中所没有的新特性和功能提升。ICMPv6 消息封装在 IPv6 中。

ICMPv6 在邻居发现协议(ND 或 NDP)中包括四个新协议。

IPv6 路由器和 IPv6 设备之间的消息传递,包括动态地址分配如下所示:

  • 路由器请求 (RS) 消息

  • 路由器通告 (RA) 消息

IPv6 设备之间的消息传递,包括重复的地址检测和地址解析如下所示:

  • 邻居请求 (NS) 消息

  • 邻居通告 (NA) 消息

注意: ICMPv6 ND 还包括重定向消息,与 ICMPv4 中使用的重定向消息功能相似。


RA 消息

启用IPv6的路由器每200秒发送RA消息,向启用IPv6的主机提供编址信息。RA 消息中可以包含主机的编址信息,例如前缀、前缀长度、DNS 地址和域名。使用 SLAAC 的主机会将其默认网关设置为发送 RA 的路由器的本地链路地址。

R1 向 FF02 发送 RA 路由器广告消息:1 将达到 PC1 的全节点组播地址。


RS 消息

启用IPv6 的路由器还会发送 RA 消息以响应 RS 消息。在图中,PC1 发送 RS 消息以确定如何动态接收其 IPv6 地址信息。


NS 消息

当设备分配有全局IPv6单播或本地链路单播地址时,则建议对地址执行 重复检测(DAD) 来确保IPv6地址的唯一性。

如图所示,要检查地址的唯一性,设备将发送 NS 信息,其中使用自身 IPv6 地址作为目标 IPv6 地址。

如果网络中的其他设备具有该地址,则会使用 NA 消息进行响应。此 NA 消息通知发送方设备地址已在使用。如果回应的 NA 消息未在固定的一段时间返回,则单播地址是唯一的,可以使用。

注意: DAD 不是必需的,但是 RFC 4861 建议对单播地址执行 DAD。


NA 消息

当 LAN 上的设备知道目的 IPv6 单播地址,但不知道其以太网 MAC 地址时,会使用地址解析。

要确定目的 MAC 地址,设备会将 NS 消息发送到请求节点地址。该消息包括已知(目标)IPv6 地址。具有目标 IPv6 地址的设备会使用包含其以太网 MAC 地址的 NA 消息进行回应。

在图中,R1向2001:db8:acad:1::10发送一条NS消息,询问它的MAC地址。


Ping 测试连接性

Ping 是一种测试程序,它使用 ICMP Echo请求和Echo应答消息来测试主机之间的连接。

为了测试与网络上的另一台主机的连接,可使用 ping 命令将回应请求发送给该主机地址。若指定地址处的主机收到回应请求,便会使用Echo应答进行响应。每收到一个Echo应答,ping都会提供发出请求与收到应答的时间反馈。这可以作为网络性能的度量。

Ping 对响应规定了超时值。如果在超时前没有收到应答,ping 会提供一条消息,表示未收到响应。这可能表示存在问题,但是,还可能表示在网络上启用了阻止 ping 消息的安全功能。如果在发送ICMP Echo请求之前需要执行地址解析(ARP或ND),那么第一次ping通常会超时。

所有请求发送完毕后,ping实用程序会提供摘要,包括成功率和到达目的地的平均往返时间。

使用ping进行的连通性测试的类型包括:

  • Ping 本地环回

  • 向默认网关发出 ping 命令

  • Ping 远程主机


对环回执行 ping 命令

Ping可用于测试本地主机上IPv4或IPv6的内部配置。要执行此测试,对于 IPv4,我们ping本地环回地址 127.0.0.1,对于 IPv6,则是 ::1。

从 127.0.0.1 接收的 IPv4 响应或从 ::1 接收的 IPv6 响应,表示主机上的 IP 安装正确。此响应来自网络层。但是,此响应并不代表地址、掩码或网关配置正确。它也不能说明有关网络协议栈下层的任何状态。它只测试 IP 网络层的 IP 连接。如果收到错误消息,则表示该主机上的 TCP/IP 无法正常运行。


向默认网关发出 ping 命令

您也可以使用ping 测试主机在本地网络中通信的能力。这通常是通过 ping 主机网关 IP 地址完成的。成功 ping通网关表示主机和充当网关的路由器接口在本地网络中均运行正常。

对于此测试,最常用的是网关地址,因为路由器在一般情况下始终都能正常运行。如果网关地址不响应,可以将ping发送到本地网络上已知能够正常运行的另一台主机的 IP 地址。

如果网关或另一台主机做出响应,则说明本地主机可以通过本地网络成功通信。如果网关不响应但其另一台主机响应,可能说明充当网关的路由器接口存在问题。

一种可能性是在主机上配置了错误的网关地址。另一种可能原因是路由器接口完全正常,但对其采取了阻止其处理或响应 ping 请求的安全限制。


Ping 远程主机

Ping 也可用于测试本地主机跨互联网通信的能力。本地主机可以 ping 远程网络中运行正常的 IPv4 主机。路由器使用其 IP 路由表转发数据包。

如果 ping 成功,则说明网际网络大部分运行正常。在互联网络上成功 ping通即确认本地网络上的通信正常,充当网关的路由器运行正常,且可能位于本地网络和远程主机网络之间路径上的所有其他路由器运行正常。

此外,还可以验证远程主机的功能。如果远程主机无法在其本地网络外通信,则它不会响应。

注意:许多网络管理员限制或禁止 ICMP 消息进入企业网络;因此,没有收到ping响应可能是由于安全限制

本地主机向另一远程主机发送 ping 请求

交换机检查 IPv4 数据包,转发远程请求数据包

远程路由器检查 IPv4 数据包,转发远程请求数据包

远程交换机检查 IPv4 数据包,转发远程请求数据包

远程主机接收 ping 请求,并做出应答

应答顺序与请求顺序一致,但方向相反。例:顺着网线来打你


Traceroute - 测试路径

Ping 用于测试两台主机之间的连接,但是不提供关于主机之间设备的详细信息。

Traceroute tracert实用程序可以生成通信路径上成功到达的设备列表。此列表可以提供重要的验证和故障排除信息。如果数据到达目的地,则 Trace 就会列出主机之间的路径中每台路由器上的接口。如果数据在沿途的某一跳上失败,则回应 Trace 的最后一个路由器的地址可以提供指示,说明发现问题或有安全限制的地方。

  • 往返时间

Traceroute 可提供沿路径每一跳的往返时间并指示是否有某一跳未响应。往返时间是数据包到达远程主机以及从该主机返回响应所花费的时间。星号 (*) 用于表示丢失的或无应答的数据包。

此信息可用于在路径中定位有问题的路由器,或表示路由器配置为不应答。如果显示器显示特定的某一跳响应时间长或数据丢失,这表示该路由器的资源或其连接可能压力过大。

  • IPv4 TTL 和 IPv6 跳数限制

Traceroute 使用第 3 层报头中的 IPv4 TTL 字段功能和 IPv6 跳数限制字段功能以及 ICMP 超时消息。

本地主机向另一远程主机发送 traceroute 请求

交换机检查数据包,转发 traceroute 数据包

远程路由器检查 traceroute 数据包,但 ICMP 处理超时

远程路由器检查 traceroute 数据包,返回超时信息

交换机转发超时数据包,终端打印信息,并结束一次数据包生命

当数据包成功传输到远端时,远端设备将响应 ICMP Echo 并做出应答,返回本地设备

从 Traceroute 发送的第一个消息序列的 TTL 字段值为 1。这会导致此 TTL 使 IPv4 数据包在第一台路由器处超时。该路由器使用 ICMPv4 超时消息作为响应。现在,Traceroute 知道了第一跳的地址

随后,Traceroute 逐渐增加每个消息系列的 TTL 字段值(2、3、4…)。这可为 Trace 提供数据包在该路径沿途再次超时所经过的每一跳的地址。TTL 字段的值将不断增加,直至到达目的主机或增至预定义的最大值。

到达最终目的主机后,该主机将不再以 ICMP 超时消息做出应答,而会以 ICMP 端口无法到达消息或 ICMP Echo应答消息做出应答。


总结

  • ICMP消息

TCP/IP 套件在与其他 IP 设备通信时提供错误消息和信息性消息。这些消息使用 ICMP 发送。这些消息的目的是提供有关在一定条件下处理IP数据包的相关问题的反馈。ICMP消息对于ICMPv4和ICMPv6来说都是通用的,包括主机连通性、目的地或服务不可达以及超时。ICMP Echo消息测试 IP 网络上主机的可达性。本地主机向一台主机发送 ICMP Echo请求。如果主机可用,目的主机会回应以Echo应答。这是 ping 实用程序的基础。当主机或网关收到无法传送的数据包时,它会使用 ICMP 目的地不可达消息通知源主机。消息包括指示数据包为何无法传送的代码。路由器使用 ICMPv4 超时消息表明,因为数据包的生存时间 (TTL) 字段递减到零而不能转发该数据包。如果路由器接收数据包并且将TTL 字段的值递减为零,则它会丢弃数据包并向源主机发送超时消息。ICMPv6 还会在这种情况下发送超时。ICMPv6使用IPv6跳数限制字段来确定数据包是否已过期。traceroute工具使用超时消息。IPv6 路由器和 IPv6 设备之间的消息(包括动态地址分配)包括 RS 和 RA。IPv6 设备之间的消息包括重定向(类似于 IPv4)、NS 和 NA。

  • Ping和Traceroute测试

Ping 使用 ICMP Echo请求和Echo应答消息来测试主机之间的连接。为了测试与网络上的另一台主机的连接,可使用 ping 命令将Echo请求发送给该主机地址。若指定地址处的主机收到回应请求,便会使用Echo应答进行响应。每收到一个Echo应答,ping 都会提供发出请求与收到应答的时间反馈。所有请求发送完毕后,ping 实用程序会提供摘要,包括成功率和到达目的地的平均往返时间。Ping可用于测试本地主机上IPv4或IPv6的内部配置。Ping 本地环回地址 127.0.0.1,对于 IPv6,则是 ::1。用 ping 命令通过 ping 主机默认网关的 IP 地址来测试主机在本地网络上进行通信的能力。成功 ping通网关表示主机和充当网关的路由器接口在本地网络中均运行正常。Ping 也可用于测试本地主机跨网际网络通信的能力。本地主机可以ping 远程网络中运行正常的 IPv4 主机。Traceroute (tracert) 可以生成通信路径上成功到达的跳数列表。此列表提供了验证和故障排除信息。如果数据到达目的地,则 Trace 就会列出主机之间的路径中每台路由器上的接口。如果数据在沿途的某一跳上失败,则回应 Trace 的最后一个路由器的地址可以提供指示,说明发现问题或有安全限制的地方。往返时间是数据包到达远程主机以及从该主机返回响应所花费的时间。Traceroute 使用第 3 层报头中的 IPv4 TTL 字段功能和 IPv6 跳数限制字段功能以及 ICMP 超时消息。


传输层(第 4 层)


会话层(第 5 层)

顾名思义,会话层的功能就是创建并维护源应用程序和目的应用程序之间的对话。会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。


表示层(第 6 层)

表示层具有三个主要功能:

  • 将来自源设备的数据格式化或表示成兼容形式,以便目的设备接收。

  • 采用可被目的设备解压缩的方式对数据进行压缩。

  • 加密要传输的数据并在收到数据时解密数据。

如图所示,表示层为应用层格式化数据并制定文件格式标准。常见的视频标准包括Matroska视频(MKV)、活动图像专家组 (MPEG)和QuickTime视频(MOV)。常见图形图像格式为图形交换格式 (GIF)、联合图像专家组 (JPG) 和便携式网络图像 (PNG) 格式。


应用层(第 7 层)


网络安全基础


0%