当前位置: 首页 > news >正文

计算机网络——网络层(3)

计算机网络——网络层(3)

  • 小程一言
    • 专栏链接: [link](http://t.csdnimg.cn/ZUTXU)
    • ++1
  • 网络层——控制平面
    • 因特网中自治系统内部的路由选择
      • 总括
      • 考虑因素
      • 总结
    • ISP之间的路由选择:BGP
      • 考虑因素
      • 总结
    • SDN控制层面
      • 重要组件和功能
      • 总结
    • ICMP
      • 主要功能和特点

小程一言

我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。
面向群体:在学计网的在校大学生,工作后想要提升的各位伙伴

专栏链接: link

++1

文章可以看懂吗?够简明吗?有建议可以提出来,我会改正的
可私信,可评论,我都会看到的

网络层——控制平面

在这里插入图片描述

因特网中自治系统内部的路由选择

是指在一个自治系统内部,选择最佳的路径来转发数据包。自治系统(Autonomous System,AS)是因特网中的一个独立的网络域,由一个或多个路由器组成,具有统一的路由策略。

总括

在一个自治系统内部,路由选择通常是基于内部网关协议(IGP)来实现的。常见的IGP包括RIP、OSPF和IS-IS等。

在自治系统内部,路由选择的主要目标是找到一条最佳的路径来转发数据包,以确保数据包能够快速、可靠地到达目的地。

考虑因素

在这里插入图片描述

  1. 路径的成本:成本通常是根据路径的带宽、延迟、可靠性等因素来计算的。选择成本最低的路径作为最佳路径。
  2. 路由器的状态:路由器的状态信息(如链路状态、负载等)会影响路由选择的决策。路由器通常会定期交换状态信息,以便选择最佳的路径。
  3. 路由策略:自治系统内部可能会有多条路径到达同一个目的地,路由策略会影响路由选择的决策。路由策略可以是基于路由器的配置,也可以是基于自治系统内部的政策。

总结

总的来说,自治系统内部的路由选择是一个复杂的过程,涉及到多个因素的综合考虑。通过合理配置路由器和制定有效的路由策略,可以实现自治系统内部的高效路由选择,从而提高数据传输的效率和可靠性。

ISP之间的路由选择:BGP

ISP之间的路由选择通常是通过边界网关协议(Border Gateway Protocol,BGP)来实现的。BGP是一种路径矢量协议,用于在不同的自治系统之间交换路由信息,以实现跨ISP的路由选择和互联互通。

在ISP之间的路由选择中,BGP的主要作用是确定最佳的路径来转发数据包,确保数据包能够快速、可靠地到达目的地。
在这里插入图片描述

考虑因素

  1. 路径属性:BGP路由选择是基于路径属性来进行的。路径属性包括AS路径、路由器的出口策略、前缀长度等信息。BGP会根据这些属性来选择最佳的路径。
  2. 路由策略:每个ISP都有自己的路由策略,用于决定如何选择最佳的路径。路由策略可以包括基于成本、性能、政策等方面的考量。
  3. 路由器的选择:BGP会根据路由器的性能、可用性等因素来选择最佳的路径。通常情况下,BGP会选择最短的AS路径作为最佳路径。
  4. 外部连接:BGP还会考虑ISP之间的外部连接情况,选择最佳的出口路径。

总结

ISP之间的路由选择是一个复杂的过程,涉及到多个因素的综合考虑。通过合理配置BGP路由器和制定有效的路由策略,可以实现ISP之间的高效路由选择,从而提高数据传输的效率和可靠性。 BGP的特点是具有很好的可扩展性,能够应对大规模的网络环境,因此在ISP之间的路由选择中得到了广泛的应用。

SDN控制层面

SDN(软件定义网络)的控制层面是SDN架构中的一个重要组成部分,主要负责网络的控制和管理。控制层面的主要任务是实现对网络设备的集中控制和管理,以实现网络的灵活性、可编程性和自动化。
在这里插入图片描述

重要组件和功能

  1. SDN控制器:SDN控制器是SDN架构的核心组件,负责整个网络的控制和管理。它通过与网络中的交换机和路由器进行通信,向这些设备下发控制指令,实现网络的配置、策略的下发、流量的控制等功能。SDN控制器通常采用集中式或分布式的架构,能够对整个网络进行全局的控制。

  2. 控制平面:控制平面是SDN控制器的一个重要组成部分,负责处理网络中的控制消息、构建网络的拓扑结构、计算最佳路径等功能。控制平面通过与数据平面中的交换机进行通信,协调网络中的各项操作,实现网络的灵活性和可编程性。

  3. 网络操作系统(Network Operating System,NOS):网络操作系统是SDN控制层的另一个重要组件,负责提供网络设备的统一管理接口,向SDN控制器提供网络设备的状态信息、配置信息等。NOS能够使SDN控制器更好地理解网络设备的状态,实现对网络设备的集中管理和控制。

  4. SDN应用程序:SDN控制层还可以通过SDN应用程序实现对网络的各种功能扩展和定制化。SDN应用程序可以根据具体的网络需求,实现流量工程、安全策略、负载均衡等功能,从而提高网络的灵活性和可定制性。

总结

总的来说,SDN的控制层面通过SDN控制器、控制平面、网络操作系统和SDN应用程序等组件,实现对网络的集中控制和管理,从而提高网络的可编程性、灵活性和自动化水平。通过SDN的控制层面,网络管理员能够更好地管理和控制网络,满足不断变化的业务需求。

ICMP

ICMP(Internet Control Message Protocol,互联网控制消息协议)是在TCP/IP协议族中的一个重要协议,用于在IP网络中传递控制消息和错误报告。ICMP通常用于网络故障排除、错误报告和网络状态监测等方面。
在这里插入图片描述

主要功能和特点

  1. 错误报告:ICMP可以通过错误报文来向发送端报告网络通信过程中出现的错误,例如目的不可达、超时、源抑制等。这些错误报文能够帮助网络管理员快速定位和解决网络故障。

  2. 差错检测:ICMP还可以用于进行差错检测,例如通过发送“回声请求”(Echo Request)和接收“回声应答”(Echo Reply)来测试主机的可达性和响应时间。

  3. 路由器通告:ICMP还可以用于路由器通告,例如路由器通告报文(Router Advertisement)和路由器请求报文(Router Solicitation),用于IPv6网络中的地址配置和路由信息的获取。

  4. 网络状态监测:通过ICMP协议,网络管理员可以实现对网络状态的监测,例如通过发送“时间戳请求”(Timestamp Request)和接收“时间戳应答”(Timestamp Reply)来获取网络设备的时间信息。

总的来说,ICMP在TCP/IP协议族中扮演着重要的角色,通过传递控制消息和错误报告,帮助网络管理员进行网络故障排除和网络状态监测。在实际网络中,ICMP协议经常被用于实现网络设备的可达性测试、故障诊断和网络状态监测等功能。

相关文章:

计算机网络——网络层(3)

计算机网络——网络层(3) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)1 网络层——控制平面因特网中自治系统内部的路由选择总括考虑因素总结 ISP之间的路由选择:BGP考虑因素总结 SDN控制层面重要组件和功能总结 ICMP主要功能和特点…...

ROS2 学习笔记12:使用 colcon 构建软件包

ROS2 学习笔记12:使用 colcon 构建软件包 Background 背景Prerequisites 前提1 Install colcon2 Install ROS 2 Basics 基础1 Create a workspace2 Add some sources3 Source an underlay4 Build the workspace5 Run tests6 Source the environment7 Try a demo Cre…...

基于JAVA+SpringBoot+Vue的前后端分离的医院管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着计算机科学的迅猛…...

npm淘宝镜像过期解决办法

npm淘宝镜像过期解决办法 因为npm 官方镜像(registry.npmjs.org)在国内访问很慢,我们基本上都会选择切换到国内的一些 npm 镜像(淘宝镜像、腾讯云镜像等)。由于淘宝原来的镜像(registry.npm.taobao.org&am…...

Arduino 官网上下载和使用开发板

在 Arduino 官网上下载和使用开发板可以按照以下步骤进行: 打开浏览器,访问 Arduino 官网(https://www.arduino.cc/)。在官网首页,可以看到各种型号的 Arduino 开发板和相关产品。根据自己的需求选 择合适的开发板型号…...

k8s学习-DaemonSet和Job

1.1DaemonSet是什么 Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只能运行⼀个副本。DaemonSet的典型应用场景有: (1)在集群的每个节点上运⾏存…...

【开源】SpringBoot框架开发海南旅游景点推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…...

Windows10更新失败 错误 0x80070643、KB5034441的解决方法之二

Windows10更新失败 错误 0x80070643、KB5034441 在知乎Windows10更新失败 错误 0x80070643、KB5034441的原因分析和几个解决方法 - 知乎 参考文章进行操作,更详细信息自己看上面链接。 我电脑的硬盘是mbr格式,而且没有划分恢复分区。 Microsoft Windo…...

SQL中LIMIT的简单用法

在SQL的世界里,有一位神秘而强大的限制者,它就是 LIMIT。今天,我们将深入探讨这个神秘的SQL关键字,揭开它的神秘面纱,让你能够更好地使用它来操控你的数据。 背景 首先,让我们了解一下为什么我们需要 LIM…...

canvas自定义扩展方法:文字自动换行

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…...

【2024全网最详细】Google 搜索命令终极指南

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 你是否尝试过使用 Google 搜索作为免费的 SEO …...

R-kknn包-类别插值可视化绘制

前面的推文我们介绍了使用scikit-learn结合分类散点数据,构建机器学习分类模型并将模型结果可视化展示,具体链接如下: 机器学习和可视化还能一起这样用?Python教你全搞定。今天这篇推文,我们就使用R语言的kknn包进行类…...

探究HMAC算法:消息认证与数据完整性的完美结合

Hash-based Message Authentication Code(基于哈希的消息认证码,简称HMAC)算法作为一种广泛应用的消息认证码(MAC)算法,在现代信息安全领域起着至关重要的作用。本文将从算法原理、优缺点、实际应用等方面&…...

10s 内得到一个干净、开箱即用的 Linux 系统

安装 使用官方脚本安装我的服务器不行 官方脚本 mkdir instantbox && cd $_ bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh) 下面是我的完整安装过程 mkdir /opt/instantbox cd /opt/instantbox 1.脚本文件 (这个没…...

轮转数组[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个整数数组nums&#xff0c;将数组中的元素向右轮转k个位置&#xff0c;其中k是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,…...

【SpringBoot系列】自动装配的魅力:Spring Boot vs 传统Spring

IT行业有哪些证书含金量高? 文章目录 IT行业有哪些证书含金量高?强烈推荐前言区别项目配置&#xff1a;依赖管理&#xff1a;内嵌服务器&#xff1a;开发体验&#xff1a; 实例Spring项目示例&#xff1a;Spring Boot项目示例&#xff1a; 总结强烈推荐专栏集锦写在最后 强烈…...

idea自动生成实体类

第一步&#xff1a;idea连接数据库 出现这个就连接成功 第二步&#xff1a;选择数据库 第三步&#xff1a;创建实体类 也可以点击数据库一下子全部创建 选择创建实体类所放位置 这样就完成了&#xff0c;点击看看对其做相应修改...

uniapp -- picker民族选择器

目录 一、实现思路 二、实现步骤 ①view部分展示 ② JavaScript 内容 ③css中样式展示 三、效果展示...

生信学习笔记1:学习如何用OPLS-DA分析代谢组数据(从入门到掌握)

偏最小二乘法(PLS)和正交偏最小二乘法(OPLS)是统计模型,用于寻找两组数据矩阵之间的关系。它们广泛应用于化学计量学、生物信息学、经济预测等领域。 偏最小二乘法(PLS) 偏最小二乘法是一种多变量分析方法,主要用于找到两组数据(通常是预测变量集和响应变量集)之间…...

CDR2024最新版本怎么下载?Coreldraw相关快捷键教程分享

想必从事平面设计的大咖们都知道&#xff0c;Coreldraw是一款优秀的图形设计软件&#xff0c;被广泛地运用在平面设计、包装设计、服装设计各个生活领域&#xff0c;因此了解一些关于CorelDRAW快捷键的知识是很有必要的。因为使用快捷键不仅使用起来方便快捷&#xff0c;而且提…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...