热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络复习:第五章网络层控制平面

本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。
### 数据平面与控制平面

- **转发**:在数据平面上实现,主要任务是根据转发表将数据包从输入接口转发到正确的输出接口。
- **路由选择(选路)**:在控制平面上实现,通过计算最佳路径来更新路由器中的路由表。

#### ICMP(互联网控制报文协议)

ICMP用于在网络层提供错误报告和其他信息。例如,PING工具工作在应用层,直接使用ICMP而不依赖传输层的TCP或UDP。Traceroute/Tracert也使用ICMP协议来跟踪路径。

#### 控制平面的实现方法

1. **每路由器控制**(传统路由算法):每台路由器包含转发和路由选择功能,通过与其他路由器通信来计算其转发表的内容。OSPF和BGP协议基于此方法。
2. **逻辑集中式控制**(SDN):通过远程控制器计算并分发转发表给每台路由器。控制器与路由器中的控制代理交互以配置和管理转发表。

#### 路由选择算法及其分类

- **集中式路由选择算法**:需要完整的全局网络信息,如链路状态(LS)算法。
- **分散式路由选择算法**:节点仅需了解与其直接相连的链路信息,并通过迭代计算和相邻节点的信息交换来确定路径。距离向量(DV)算法属于此类。
- **静态路由选择算法**:路由随时间变化缓慢,通常由人工调整。
- **动态路由选择算法**:根据网络流量负载或拓扑变化自动调整路由。

#### 负载敏感与负载迟钝算法

- **负载敏感算法**:链路开销会动态变化以反映当前拥塞水平。
- **负载迟钝算法**:链路开销不明确地反映当前拥塞水平,如RIP、OSPF和BGP。

#### 链路状态路由选择与距离矢量

- **链路状态路由选择算法**(如OSPF):每个节点获得整个网络的完整信息后运行Dijkstra算法。
- **距离向量算法**(如RIP):分布式计算,不需要全局信息。

#### 自治系统(AS)

自治系统内部和外部的路由协议分别为内部网关协议(IGP)和外部网关协议(EGP)。AS的引入使得路由选择更加复杂和多样化。

#### RIP协议(基于DV算法)

RIP将距离定义为跳数,即从源端口到达目的端口所经过的路由器数量。每经过一个路由器,跳数加1。

#### OSPF(基于LS算法)

OSPF是一种开放式最短路径优先协议,广泛应用于大型网络中。它通过分层结构提高效率,包括区边界路由器(ABR)、主干路由器和AS边界路由器。

#### 路由表与转发表的区别

- **路由表**:保存最佳路径信息,属于网络范围动作,与选路算法相关。
- **转发表**:负责本地操作,将分组从输入链路接口转移到合适的输出链路接口。

#### 路由表更新示例

假设路由器B收到从C发来的路由信息,更新后的路由表如下:

| 目的网络 | 距离 | 下一跳路由器 |
|----------|------|--------------|
| N1 | 7 | A |
| N2 | 2 | C |
| N3 | 3 | C |
| N4 | 9 | C |
| N6 | 8 | F |
| N7 | 5 | C |
| N8 | 3 | C |
| N9 | 4 | D |

新来的网络要加到路由表中并且跳数加1,如果有比当前路由表项距离更短的就替换成它,跳数加1。

推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
author-avatar
上当受骗的家_908
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有