网络技术|网络地址转换与IPv6|路由设计基础|4
对应讲义——p6 p7
NAT例题
例1

解1

例2



解2

例3

解3

例4

解4

一、IPv6地址
用二进制格式表示128位的一个IPv6地址,按每16位为一个位段,划分为8个位段。
若某个IPv6地址中出现多个连续的二进制0,可以通过压缩某个位段中的前导0来简化IPv6地址的表示。例如,"002F"可以简写为"2F"。
注意的问题:
使用零压缩法时,只能压缩前导0。不能把位段内有效0压缩掉。例如,不能将AC04:A0:0:0:0:0:0:5简写为AC4:A::5。
双冒号"::"在一个地址中只能出现一次。
二、RIP协议(内部网关协议)
路由刷新报文组成
路由刷新报文的主要内容是由若干个(V,D)组成的表;
V代表矢量(vector),标识该路由器可以到达的目的网络或者目的主机。
D代表距离(distance),标识该路由器到达的目的网络或目的主机的距离,即该路由上的跳数(hopcount)。
路由器在接收到相邻路由器的(V,D)报文后,按照最短路径原则对自己的路由表进行刷新。
三、RIP路由器工作方式
RIP路由器更新规则
1 有没有新增的项
有:则添加新纪录
无:什么也不做
2 比较R1距离和R2+1距离,取最小值
若距离仍为R1,则下一条路由不需要修改
若距离为R2+1,则下一跳路由器修改为R2
四、OSPF(开放最短路径优先协议)
OSPF协议特点
OSPF协议:OSPF是开放系统最短路径优先协议。
OSPF使用分布式链路状态协议。
OSPF要求路由器发送的信息是本路由器与哪些路由器相邻,以及链路的度量值(OSPF使用的度量值包括费用、距离、延时、带宽)。
OSPF使用洪泛法发送信息。
OSPF协议要求让路由器建立一个链路状态数据库,该数据库实际上是全网的拓扑结构图。
OSPF将一个自治系统划分为多个区域(area),每个区域有一个32位的区域标识符,每个区域内的路由器通常不超过200个。
使用OSPF的路由器只需要建立本区域内的链路状态数据库,负责各区域之间通信的路由器叫做区域边界路由器,只需要将来自本区域的信息发送给下一个区域的区域边界路由器,同样不需要获取其他区域的链路状态数据库。
为了适应规模很大的网络,提高路由更新收敛速度,OSPF引入区域(area)概念来将一个自治系统划分为若干个更小范围。
每个区域有一个32位的区域标识符(用点分十进制表示);
区域不能太大,在一个区域内的路由器最好不超过200个;
OSPF使用分布式链路状态协议,采用洪泛法向本自治系统所有路由器发送消息;
OSPF的链路状态"度量",主要是指距离、费用、带宽、时延等;
区域内部路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。
五、BGP(外部网关协议)
BGP是边界网关协议,在不同自治系统的路由器之间交换路由信息的协议。
BGP-4采用路由向量路由协议,每个自治系统选择一个“BGP发言人”,发言人之间建立TCP连接,然后在此链接上建立BGP会话。结点数以自治系统数为单位。
BGP刚运行时,边界路由器交换的是整个BGP路由表,之后只在发生变化时更新有变化的部分。
BGP协议有四种分组:open(与相邻的另一个BGP发言人建立关系)、update(发送要更新的某一条路由信息或要删除的多条路由信息)、keepalive(周期性的证实相邻的边界路由器存在)、notification(发送监测到的错误)。
BGP路由选择协议的四种报文
打开(open)报文
用来与相邻的另一个BGP发言人建立关系(建立TCP连接);
更新(update)报文
用来发送某一路由的信息,以及列出要撤销的多条路由;
保活(keepalive)报文
用来确认打开报文和周期性(30秒)地证实邻站关系;
通知(notification)报文
用来发送检测到的差错。
六、RIP协议例题
1 概念题
RIP是一种非常简单的路由协议,它要求路由器周期性的向外发送路由表刷新报文,该报文由若干个(V,D)组成,其中V代表目的网络,D代表距离也就是还需要经过的多少个路由器(跳数)才能抵达目的网络,跳数<16。路由器接收到(V,D)报文后,按照最短路径优先原则更新路由表。
2 图题(将b表距离+1,再与a表比较得出最优距离):
RIP是基于距离向量的协议,衡量路由信息"好"与"不好"的依据是距离,也就是从自身到达目的地所需要经过的跳数(路由器个数,自身不算在内),跳数越少,路由越好。
每台路由器(代号B)都周期性的向相邻路由器(代号A)广播自身的B的整张路由表,而相邻路由器A收到B的路由表后,将B的路由表中跳数全部+1(代号B+1),然后再跟A自身路由表进行比较,好则更新(好的依据是B+1的距离比A中的短),无则添加。
3 例题
由于是判断R2发送给R1后,R1的路由表,那么R1的具体操作如下:
先将表(b)中所有跳数+1,得到下表:

将上表与表(a)对比,可知仅有目的网络为20.0.0.0的路由信息比(a)中原有的好(a中存储的距离是5,而新学习到的只有4),好则更新,将(a)中目的网络为20.0.0.0的路由信息替换为刚刚跳数+1后计算出来的信息,即目的网络20.0.0.0,距离4,由于这条信息是通过R2发过来的信息计算出来的,那么路由项填写为R2。
此时,(a)表将变更为:

4 难题*
下面是一台三层交换机的部分路由表信息。

根据表中的路由信息,以下关于此设备的说法中,错误的是__。
A.启用了OSPF动态路由协议,并学到了E1和E2两种类型的OSPF外部路由
B.通过动态路由协议学习了缺省路由
C.路由表中的管理距离釆用的是默认值
D.网络接口VLAN5上配置了两个IP地址,202.38.126.32/27和202.38.126.16/28
路由表组成
路由表的内容主要由路由协议、目的网络、管理距离/度量值(权值)、下一跳(下一个路由器的IP地址)组成。详情见下表:

答案解析
A选项,的确从E1、E2端口学习到了路由信息,且的确是通过OSPF协议学到的,正确。
B选项,默认路由是0.0.0.0/0,确实是通过动态路由协议中的OSPF学到的,正确。
C选项,通过上表可知,正确。
D选项,VLAN5共有4个IP地址,其中状态C的是直连IP,标记L的才是本地地址,即三层交换机的端口上配置的地址。故D错。
故本题答案是D。
(2023年 3月2日 22:27首次发布)
相关文章:
网络技术|网络地址转换与IPv6|路由设计基础|4
对应讲义——p6 p7NAT例题例1解1例2解2例3解3例4解4一、IPv6地址用二进制格式表示128位的一个IPv6地址,按每16位为一个位段,划分为8个位段。若某个IPv6地址中出现多个连续的二进制0,可以通过压缩某个位段中的前导0来简化IPv6地址的表示。例如…...
MySQL运维知识
1 日志1.1 错误日志1.2 二进制日志查看二进制日志:mysqlbinlog ./binlog.000007purge master logs to binlog.000006reset mastershow variables like %binlog_expire_logs_seconds%默认二进制文件只存放30天,30天后会自动删除。1.3 查询日志1.4 慢查询日…...
易基因-MeRIP-seq揭示衰老和神经变性过程中m6A RNA甲基化修饰的保守下调机制
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2023年02月22日,《美国国家科学院院刊》(Proc Natl Acad Sci USA)期刊发表了题为“Conserved reduction of m6A RNA modifications during aging and neurodegeneration is lin…...
暑期实习准备——Verilog手撕代码(持续更新中。。。
暑期实习准备——手撕代码牛客刷题笔记Verilog快速入门VL4 移位运算与乘法VL5 位拆分与运算VL6 多功能数据处理器VL8 使用generate…for语句简化代码VL9 使用子模块实现三输入数的大小比较VL11 4位数值比较器电路VL12 4bit超前进位加法器电路VL13 优先编码器电路①VL14 用优先编…...
Qt音视频开发19-vlc内核各种事件通知
一、前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度、音量值变化、静音变化、文件长度、播放结束等,有了这些才是完整的播放功能,在vlc中要拿到各种事…...
Linux基础命令-nice调整进程的优先级
文章目录 Nice 命令介绍 语法格式 常用参数 参考实例 1 调整bash的优先级为-10 2 调整脚本的优先级为6 3 调整指令的优先级 4 默认使用nice命令调整优先级 命令总结 Nice 命令介绍 nice命令的主要功能是用于调整进程的优先级,合理分配系统资源。Linux系…...
解析C语言strcmp()函数
函数名: strcmp 头文件: <string.h> 函数原型: int strcmp(const char *str1,const char *str2); 功 能: 比较两个字符串的大小,区分大小写 参 数: str1和str2为要比较的字符串 返回值: str1 > str2 , 返回 1&…...
初识scrapy
认识scrapyscrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需实现少量的代码,就能实现数据的快速抓取scrapy使用了Twisted异步网络架构,可以加快下载速度 pip install twisted安装:pip install s…...
(JUC)核心线程 和 救急线程的区别;Executors-固定大小线程池单线程线程池
核心线程 和 救急线程的区别 救急线程是有个生存时间的,它执行完任务了,过了一段时间,没有新任务了,救急线程就会销毁掉,变成结束的状态 核心线程没有生存时间,它执行完任务后,它仍然会被保存…...
vue2的动画和过渡效果
文章目录过渡 & 动画Transition 组件基于 CSS 的过渡效果CSS 过渡类名 class为过渡效果命名CSS 过渡 transition实例1:实例2:CSS 动画自定义过渡的类名同时使用 transition 和 animation深层级过渡与显式过渡时长性能考量JavaScript 动画可复用过渡效…...
正数负数的取反运算推导过程
取反题目题目:数据常用位十进制数据举例 我们计算a 60的取反运算c~a 求c 引用的知识点知识点: 正数的反码 补码 都一样。 0的补码反码都一样 负数的反码,最高是标记符号位,其他位置1变0 1变0 负数的补码 反码1 步骤斜体样式本篇我们全用8位二…...
C语言 条件编译
目录 1. #if #elif #else #endif 2. #ifdef #else #endif 3. #ifndef #else #endif 4. 三者区别 根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译。 条件编译是预处理程序的功能,不是编译器的功能。 1. #if #elif #else #endif …...
Linux: ARM GIC只中断CPU 0问题分析
文章目录1. 前言2. 分析背景3. 问题4. 分析4.1 ARM GIC 中断芯片简介4.1.1 中断类型和分布4.1.2 拓扑结构4.2 问题根因4.2.1 设置GIC SPI 中断CPU亲和性4.2.2 GIC初始化:缺省的CPU亲和性4.2.2.1 boot CPU亲和性初始化流程4.2.2.1 其它非 boot CPU亲和性初始化流程5.…...
测试软件5
一 css基础 css定义:可以设置网页中的样式,外观,美化 css中文名字:级联样式表,层叠样式表,样式表 二 css基础语法 1.style标签写在title标签后面 2.选择器{属性名1:属性值1;属性名…...
前端JS内存管理
JS内存管理 内存原理: 任何变成语言在执行的时候都需要操作系统来分配内存,只是有些语言需要手动管理分配的内存有些语言有专门来管理内存的方式 如 JVM 了解以上的概念之后,我们再来了解一下大致的内存周期 分配需要的内存使用内存在不使用…...
第七章.集成学习(Ensemble Learning)—袋装(bagging),随机森林(Random Forest)
第七章.集成学习 (Ensemble Learning) 7.1 集成学习—袋装(bagging),随机森林(Random Forest) 集成学习就是组合多个学习器,最后得到一个更好的学习器。 1.常见的4种集成学习算法 个体学习器之间不存在强依赖关系,袋装(bagging)…...
Java_面向对象
Java_面向对象 1.面向对象概述 面向对象是一种符合人类思想习惯的编程思想。显示生活中存在各种形态的不同事物,这些食物存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的关系,这种思想就是面…...
【IoT】智能烟雾报警器
设计简介 硬件设计由AT89C51单片机、DS18B20温度传感器、4位共阳数码管、电源模块、报警模块、按键模块、MQ-2烟雾检测模块和ADC0832模数转换模块组成。 烟雾传感器MQ-2检测空气中的烟雾气体,通过ADC0832进行数据转换,经过单片机的运算处理后在数码管上…...
Python实现定时执行脚本(5)
前言 本文是该专栏的第17篇,后面会持续分享python的各种干货知识,值得关注。 笔者在前面有详细介绍过几种使用python实现定时执行任务的方法,可以说都是简单易上手的那种。而本文,再来详细介绍另外一种定时方法,那就是利用任务框架APScheduler(advanceded python schedu…...
JavaSe第4次笔记
1.转义字符和编程语言无关。 2.斜杠(\)需要转义,反斜杠(/)不需要转义。 3.不能做switch的参数的数据类型:long float double boolean( String可以)。 4.输入的写法:Scanner(回车自动带头文件(import java.util.Scanner;)) Scanner scan …...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
