动态路由--RIP配置(思科cisco)
一、简介
RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。
在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要经过N个其他路由器,则路由器A到网络B的距离计算为N+1跳。RIP协议基于一个核心原则:距离(即跳数)最小的路径被视为最佳路径。这里的“距离”在RIP协议中也被称为“跳数”,每经过一个路由器,跳数就增加1。需要注意的是,RIP协议规定一条路径上最多只能包含15个路由器,因此跳数的最大值为16(在RIP中表示网络不可达)。正因如此,RIP协议主要适用于小型网络环境。
二、RIP的路由表
2.1、结构
目的IP地址域:这是路由表中最重要的信息,指示了可以到达的网络目的地。当路由器收到一个数据报文时,会查找路由表中的目的IP地址,以确定如何转发该报文。
度量标准(距离-向量度量)域:此域指出了从路由器到特定目的地的总耗费,即路径的“距离”。在RIP中,这个距离是以跳数来衡量的,每经过一个路由器,跳数就增加1。
下一跳IP地址域:如果目的网络不与路由器直接相连,这个域就会包含下一个路由器接口的IP地址,这是数据包在前往目的地途中的下一个跃点。
路由变化标志域:此域用于标识到目的IP地址的路由是否最近发生了变化。这对于RIP协议的收敛过程至关重要。
路由计时器域:路由表中与每条路由相关的有两个计时器,超时计时器和路由刷新计时器。这些计时器协同工作,以确保路由表中存储的路由信息的有效性。
2.2、功能
-
路径选择:基于路由表中的信息,路由器能够确定到达每个目的地的最优路径。这是通过比较不同路径的度量标准(在RIP中是跳数)来实现的。
-
动态更新:RIP协议支持动态更新路由表。当网络拓扑发生变化时,如链路故障或新链路的添加,路由器会通过RIP协议及时更新其路由表,以确保网络的连通性和最优路径的选择。
2.3、维护
-
定期更新:路由器会定期(通常是每隔30秒)向邻居路由器发送整个路由表信息,以保持网络中的路由器之间路由信息的一致性。
-
路由收敛:通过一系列路由更新,网络中的每个路由器最终都会形成一张完整的、一致的路由表,这个过程称为收敛。收敛是确保数据包能够沿着最优路径传输的关键。
2.4、示例
目的网络 | 子网掩码 | 下一跳地址 | 跳数 | 标记 |
---|---|---|---|---|
192.168.1.0 | 255.255.255.0 | 直接连接 | 0 | C |
10.0.0.0 | 255.0.0.0 | 192.168.1.2 | 2 | R |
172.16.0.0 | 255.240.0.0 | 192.168.1.2 | 3 | R |
203.0.113.0 | 255.255.255.0 | 10.0.0.2 | 4 | R |
默认路由 | 0.0.0.0 | 10.0.0.1 | 1 | G |
说明:
- 目的网络:表示目标网络的IP地址。
- 子网掩码:用于划分网络地址和主机地址的子网掩码。
- 下一跳地址:表示数据包在前往目的网络途中的下一个跃点地址。如果是直接连接的网络,则显示为“直接连接”。
- 跳数:从当前路由器到目标网络所需经过的路由器数量(跳数)。直接连接的网络跳数为0。
- 标记:用于指示路由的来源或类型。常见的标记包括:
- C:表示该路由是直连网络。
- R:表示该路由是通过RIP协议学习到的。
- G:表示该路由是一个默认路由,通常指向一个网关。
三、RIP的工作原理及更新算法
RIP协议的工作原理如下:
- 每个路由器每隔30秒会向其所有邻居路由器广播RIP报文,这些报文包含了该路由器当前的路由表信息。当两个路由器共享一条链路或处于同一物理网络中时,它们被称为邻居。值得注意的是,RIP是应用层协议,其报文通过使用UDP数据报传送,端口号为520
- 在接收到邻居路由器的路由表信息后,每个路由器都会更新自己的路由表。它们会添加新的路由表项或修改旧的路由表项。这样,在下一次广播时,它们就可以将更新后的路由信息告知邻居。
- 如果一个路由器在180秒内没有收到某个邻居路由器的路由表信息,它会认为该路由器出现了故障。随后,它会将路由表中所有以该故障路由器为下一跳的表项的距离字段修改为16,这表示目的网络不可达。
路由表更新算法:当路由器收到邻居路由器广播的RIP报文后,它会根据距离矢量算法来更新自己的路由表。该算法的基本思想如下:
假设路由器A收到了来自路由器B的路由信息,路由器A会在以下情况下更新自己的路由表:
- 如果B的路由表中包含了A之前不了解的网络信息,那么A会在自己的路由表中增加相应的表项。
- 如果A的路由表中已经包含了到达某个网络的路由信息,并且该路由的下一站是路由器X,但B的路由表提供了一个更短的路径到达该网络,那么A会更新自己的路由表项,选择更短的路径。
- 如果A的路由表中包含了一条到达某个网络的路由信息,并且该路由的下一站是路由器B,但当B的路由表中关于到达该网络的距离信息发生变化时,A会相应地更新自己的路由表项。
四、RIP的网络拓扑搭建(Cisco)
实际拓扑图
4.1、步骤一
打开Packet Tracer并添加三个2901路由器和三个PC机
4.2、步骤二
将路由器和PC机之间相互连接
注意:有些路由器一开始是没有Se接口的,需要在路由器内添加相应的组件,如下图:
这里注意,最好在选项里设置查看接口号,如下图:
4.3、步骤三
配置两个PC机的IP地址和网关
4.4、步骤四
按照实际拓扑图所提示的IP地址对路由器进行接口IP地址配置(以下的命令皆是缩写后按TAB键补全)
对R1路由器
Router>enable //进入特权执行模式
Router#configure terminal //进入全局配置模式
Router(config)#hostname R1 //更改路由器的主机名
R1(config)#interface gigabitEthernet 0/0 //进入Gigabit Ethernet 0/0接口的配置模式
R1(config-if)#ip address 192.168.10.254 255.255.255.0 //给Gigabit Ethernet 0/0接口配置IP地址和子网掩码
R1(config-if)#no shutdown //启用Gigabit Ethernet 0/0接口
R1(config-if)#exit //退出当前接口的配置模式,返回到全局配置模式R1(config)#interface serial 0/3/0
R1(config-if)#ip address 30.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exitR1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 20.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
对R2路由器
Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exitR2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip address 20.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
对R3路由器
Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface gigabitEthernet 0/0
R3(config-if)#ip address 192.168.10.254 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exitR3(config)#interface serial 0/3/0
R3(config-if)#ip address 30.0.0.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exitR3(config)#interface gigabitEthernet 0/1
R3(config-if)#ip address 20.0.0.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
在输入完以上三个路由器的命令之后,就可以看到每个路线之间的出现绿色三角形
在此时虽然每个接线之间都已经是出现代表畅通的绿色三角形,可以尝试PC1机pingPC0机
但是RIP的动态路由还没有真正开始配置。
4.5、步骤五
对路由器进行RIP协议的配置
对R1路由器
R1(config)#router rip //启动RIP路由进程并进入RIP配置模式
R1(config-router)#version 2 //指定RIP的版本为2
R1(config-router)#network 20.0.0.0 255.255.255.0 //R1上的哪个网络应该参与RIP路由过程
R1(config-router)#network 30.0.0.0 255.255.255.0
R1(config-router)#network 192.168.10.0 255.255.255.0
R1(config-router)#end //退出RIP配置模式,返回到特权执行模式
对R2路由器
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#network 20.0.0.0
R2(config-router)#network 10.0.0.0
R2(config-router)#end
对R3路由器
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#network 10.0.0.0
R3(config-router)#network 30.0.0.0
R3(config-router)#network 192.168.20.0
R3(config-router)#end
在此刻,才算真正配置好RIP动态路由。
4.6、检验
尝试让PC1传输一个数据包给PC0,看看是走那条路。由于配置了RIP动态路由,数据包会从PC1->R3->R1->PC0进行传输
使用命令,查看路由表
show ip route
注:内容仅为个人意见,有什么不妥或错误的地方,欢迎指出!!!
相关文章:
动态路由--RIP配置(思科cisco)
一、简介 RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。 在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要…...
python - 函数 / 字典 / 集合
一.函数 形参和实参: >>> def MyFirstFunction(name): 函数定义过程中的name是叫形参 ... print(传递进来的 name 叫做实参,因为Ta是具体的参数值!) print前面要加缩进tab,否则会出错。 >>> MyFirstFun…...
connect to github中personal access token生成token方法
一、问题 执行git push时弹出以下提示框 二、解决方法 去github官网生成Token,步骤如下 选择要授予此 令牌token 的 范围 或 权限 要使用 token 从命令行访问仓库,请选择 repo 。 要使用 token 从命令行删除仓库,请选择 delete_repo 其他根…...
Appium启动APP时报错Security exception: Permission Denial
报错内容Security exception: Permission Denial: starting Intent 直接通过am命令尝试也是同样的报错 查阅资料了解到:android:exported | App quality | Android Developers exported属性默认false,所以android:exported"false"修改为t…...
ubuntu22 使用ufw防火墙
专栏总目录 一、安装 sudo apt update sudo apt install ufw 二、启动防火墙 (一)启动命令 sudo ufw enable (二)重启命令 sudo ufw reload 三、配置规则 #允许SSH连接 sudo ufw allow ssh #如果sshd服务端口指定到了8888&a…...
初识STM32:开发方式及环境
STM32的编程模型 假如使用C语言的方式写了一段程序,这段程序首先会被烧录到芯片当中(Flash存储器中),Flash存储器中的程序会逐条的进入CPU里面去执行。 CPU相当于人的一个大脑,虽然能执行运算和执行指令,…...
详解Amivest 流动性比率
详解Amivest 流动性比率 Claude-3.5-Sonnet Poe Amivest流动性比率是一个衡量证券市场流动性的重要指标。这个比率主要用于评估在不对价格造成重大影响的情况下,市场能够吸收多少交易量。以下是对Amivest流动性比率的详细解释: 定义: Amivest流动性比率是交易额与绝对收益率的…...
pycharm小游戏制作
以下是一个使用 Python 和 PyGame库在 PyCharm中创建一个简单的小游戏(贪吃蛇游戏)的示例代码,希望对您有所帮助: import pygame import random# 基础设置 # 屏幕高度 SCREEN_HEIGHT 480 # 屏幕宽度 SCREEN_WIDTH 600 # 小方格…...
昇思11天
基于 MindSpore 实现 BERT 对话情绪识别 BERT模型概述 BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年开发并发布的一种新型语言模型。BERT在许多自然语言处理(NLP)任务中发挥着重要作用&am…...
AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料)
大家好,我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 进行 高清修复(Hi-Res Fix),这是用于提升图像分辨率和细节的技术。在生成图像时,初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨…...
适用于Mac和Windows的最佳iPhone恢复软件
本文将指导您选择一款出色的iPhone数据恢复软件来检索您的宝贵数据。 市场上有许多所谓的iPhone恢复程序。各种程序很难选择并选择其中之一。一旦您做出了错误的选择,您的数据就会有风险。 最好的iPhone数据恢复软件应包含以下功能。 1.安全可靠。 2.恢复成功率高…...
64.ThreadLocal造成的内存泄漏
内存泄漏 程序中已动态分配的堆内存,由于某种原因程序为释放和无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。内存泄漏的堆积终将导致内存溢出。 内存溢出 没有足够的内存提供申请者使用。 ThreadLocal出现内存泄漏的真实原因 内存泄漏的发…...
深入刨析Redis存储技术设计艺术(二)
三、Redis主存储 3.1、存储相关结构体 redisServer:服务器 server.h struct redisServer { /* General */ pid_t pid; /* Main process pid. */ pthread_t main_thread_id; /* Main thread id */ char *configfile; /* Absolut…...
python读取写入txt文本文件
读取 txt 文件 def read_txt_file(file_path):"""读取文本文件的内容:param file_path: 文本文件的路径:return: 文件内容"""try:with open(file_path, r, encodingutf-8) as file:content file.read()return contentexcept FileNotFoundError…...
日期选取限制日期范围antdesign vue
限制选取的日期范围 效果图 <a-date-pickerv-model"dateTime"format"YYYY-MM-DD":disabled-date"disabledDate"valueFormat"YYYY-MM-DD"placeholder"请选择日期"allowClear />methods:{//回放日期选取范围限制&…...
【大模型】衡量巨兽:解读评估LLM性能的关键技术指标
衡量巨兽:解读评估LLM性能的关键技术指标 引言一、困惑度:语言模型的试金石1.1 定义与原理1.2 计算公式1.3 应用与意义 二、BLEU 分数:翻译质量的标尺2.1 定义与原理2.2 计算方法2.3 应用与意义 三、其他评估指标:综合考量下的多元…...
《优化接口设计的思路》系列:第2篇—小程序性能优化
优化Uniapp应用程序的性能可以从以下几个方面进行优化: 1.减少页面加载时间:避免页面过多和过大的组件,减少不必要的资源加载。可以使用懒加载的方式,根据用户的实际需求来加载页面和组件。 2.节流和防抖:对于频繁触发…...
prototype 和 __proto__的区别
prototype 和 __proto__ 在 JavaScript 中都与对象的原型链有关,但它们各自有不同的用途和含义。 prototype prototype 是函数对象的一个属性,它指向一个对象,这个对象包含了可以由特定类型的所有实例共享的属性和方法。当我们创建一个新的…...
网络中未授权访问漏洞(Rsync,PhpInfo)
Rsync未授权访问漏洞 Rsync未授权访问漏洞是指Rsync服务配置不当或存在漏洞,导致攻击者可以未经授权访问和操作Rsync服务。Rsync是一个用于文件同步和传输的开源工具,通常在Unix/Linux系统上使用。当Rsync服务未经正确配置时,攻击者可以利用…...
DataWhaleAI分子预测夏令营 学习笔记
AI分子预测夏令营学习笔记 一、直播概览 主持人介绍 姓名:徐翼萌角色:DataWhale助教活动目的:分享机器学习赛事经验,提升参赛者在分子预测领域的能力 嘉宾介绍 姓名:余老师背景:Data成员,腾…...
lnmp php7 安装ssh2扩展
安装ssh2扩展前必须安装libssh2包 下载地址: wget http://www.libssh2.org/download/libssh2-1.11.0.tar.gzwget http://pecl.php.net/get/ssh2-1.4.tgz (这里要换成最新的版本) 先安装 libssh2 再安装 SSH2: tar -zxvf libssh2-1.11.0.tar.gzcd libss…...
数据库概念题总结
1、 2、简述数据库设计过程中,每个设计阶段的任务 需求分析阶段:从现实业务中获取数据表单,报表等分析系统的数据特征,数据类型,数据约束描述系统的数据关系,数据处理要求建立系统的数据字典数据库设计…...
提升用户体验之requestAnimationFrame实现前端动画
1)requestAnimationFrame是什么? 1.MDN官方解释 2.解析这段话: 1、那么浏览器重绘是指什么呢? ——大多数电脑的显示器刷新频率是60Hz,1000ms/6016.66666667ms的时间刷新一次 2、重绘之前调用指定的回调函数更新动画? ——requ…...
Mysql慢日志、慢SQL
慢查询日志 查看执行慢的SQL语句,需要先开启慢查询日志。 MySQL 的慢查询日志,记录在 MySQL 中响应时间超过阀值的语句(具体指运行时间超过 long_query_time 值的SQL。long_query_time 的默认值为10,意思是运行10秒以上(不含10秒…...
卫星网络——Walker星座简单介绍
一、星座构型介绍 近年来,随着卫星应用领的不断拓展,许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比,卫星星座的覆盖范围显著增加,合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖,这样的特性使得…...
C++ Lambda表达式第一篇, 闭合(Closuretype)
C Lambda表达式第一篇, 闭合Closuretype ClosureType::operator()(params)auto 模板参数类型显式模板参数类型其他 ClosureType::operator ret(*)(params)() lambda 表达式是唯一的未命名,非联合,非聚合类类型(称为闭包类型&#…...
移动校园(3):处理全校课程数据excel文档,实现空闲教室查询与课程表查询
首先打开教学平台 然后导出为excel文档 import mathimport pandas as pd import pymssql serverName 127.0.0.1 userName sa passWord 123456 databaseuniSchool conn pymssql.connect(serverserverName,useruserName,passwordpassWord,databasedatabase) cursor conn.cur…...
【MySQL】1.初识MySQL
初识MySQL 一.MySQL 安装1.卸载已有的 MySQL2.获取官方 yum 源3.安装 MySQL4.登录 MySQL5.配置 my.cnf 二.MySQL 数据库基础1.MySQL 是什么?2.服务器,数据库和表3.mysqld 的层状结构4.SQL 语句分类 一.MySQL 安装 1.卸载已有的 MySQL //查询是否有相关…...
查看电脑显卡(NVIDIA)应该匹配什么版本的CUDA Toolkit
被串行计算逼到要吐时,决定重拾CUDa了,想想那光速般的处理感觉(夸张了)不要太爽,记下我的闯关记录。正好我的电脑配了NVIDIA独显,GTX1650,有菜可以炒呀,没有英伟达的要绕道了。回到正…...
优化:遍历List循环查找数据库导致接口过慢问题
前提: 我们在写查询的时候,有时候会遇到多表联查,一遇到多表联查大家就会直接写sql语句,不会使用较为方便的LambdaQueryWrapper去查询了。作为一个2024新进入码农世界的小白,我喜欢使用LambdaQueryWrapper,…...
NoSQL 之 Redis 配置与常用命令
一、关系型数据库与非关系型数据库 1、数据库概述 (1)关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记 录。 SQL 语句(标准数据查询语言&am…...
用SpringBoot打造坚固防线:轻松实现XSS攻击防御
在这篇博客中,我们将深入探讨如何使用SpringBoot有效防御XSS攻击。通过结合注解和过滤器的方式,我们可以为应用程序构建一个强大的安全屏障,确保用户数据不被恶意脚本所侵害。 目录 什么是XSS攻击?SpringBoot中的XSS防御策略使用…...
2024机器人科研/研发领域最新研究方向岗位职责与要求
具身智能工程师 从事具身智能领域的技术研究或产品开发,制定具身智能技术标准,利用大模型技术来提高机器人的智能化水平,研究端云协同的机器人系统框架,并赋能人形/复合等各类形态的机器人。具体内容包括不限于: 1、负…...
笔记:Newtonsoft.Json 序列化接口集合
在使用 Newtonsoft.Json 序列化接口集合时,一个常见的挑战是如何处理接口的具体实现,因为接口本身并不包含关于要实例化哪个具体类的信息。为了正确序列化和反序列化接口集合,你需要提供一些额外的信息或使用自定义的转换器来指导 Newtonsoft…...
【Unity设计模式】✨使用 MVC 和 MVP 编程模式
前言 最近在学习Unity游戏设计模式,看到两本比较适合入门的书,一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式,因此很值得学习 本…...
CDH安装和配置流程
这份文件是一份关于CDH(Clouderas Distribution Including Apache Hadoop)安装的详细手册,主要内容包括以下几个部分: 1. **前言**: - CDH是基于Apache Hadoop的发行版,由Cloudera公司开发。 - 相比…...
SpringMVC:SpringMVC执行流程
文章目录 一、介绍二、什么是MVC 一、介绍 Spring MVC 是一种基于Java的Web框架,它采用了MVC(Model - View - Controller)设计模式,通过吧Model、View和Controller分离,将Web层进行职责解耦,把复杂的Web应…...
如何在前端网页实现live2d的动态效果
React如何在前端网页实现live2d的动态效果 业务需求: 因为公司需要做机器人相关的业务,主要是聊天形式的内容,所以需要一个虚拟的卡通形象。而且为了更直观的展示用户和机器人对话的状态,该live2d动画的嘴型需要根据播放的内容来…...
昇思25天学习打卡营第15天|linchenfengxue
Pix2Pix实现图像转换 Pix2Pix概述 Pix2Pix是基于条件生成对抗网络(cGAN, Condition Generative Adversarial Networks )实现的一种深度学习图像转换模型,该模型是由Phillip Isola等作者在2017年CVPR上提出的,可以实现语义/标签到…...
软考中级数据库系统工程师备考经验分享
前几天软考成绩出了,赶紧查询了一下发现自己顺利通过啦(上午63,下午67,开心),因此本文记录一下我的备考经验分享给大家。因为工作中项目管理类的知识没有系统学习过,本来想直接报名软考高级证书…...
Centos7删除MariaDB
在 CentOS 7 上删除 MariaDB 可以通过 yum 包管理器来完成。以下是一步一步的指导: 打开终端:首先,你需要打开你的 CentOS 7 系统的终端。 停止 MariaDB 服务(如果正在运行):在卸载 MariaDB 之前ÿ…...
【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
C++友元函数和友元类的使用
1.友元介绍 在C++中,友元(friend)是一种机制,允许某个类或函数访问其他类的私有成员。通过友元,可以授予其他类或函数对该类的私有成员的访问权限。友元关系在一些特定的情况下很有用,例如在类之间共享数据或实现特定的功能。 友元可以分为两种类型:类友元和函数友元。…...
黑马苍穹外卖技术亮点 详情
1.使用工厂模式和策略模式实现布隆过滤器解决缓存穿透问题 Bitmap Bitmap是一种数据结构,它使用位图来表示数据。在处理大量数据时,Bitmap可以通过将每个数据元素映射到一个位,然后使用位运算来对数据进行操作。 通过使用Bitmap,…...
Python酷库之旅-第三方库Pandas(005)
目录 一、用法精讲 7、pandas.read_clipboard函数 7-1、语法 7-2、参数 7-3、功能 7-4、返回值 7-5、说明 7-6、用法 7-6-1、代码示例 7-6-2、结果输出 8、pandas.DataFrame.to_clipboard函数 8-1、语法 8-2、参数 8-3、功能 8-4、返回值 8-5、说明 8-6、用法…...
javascripr如何设计弹出输入框并在网页内输出输入内容
javascript如何设计弹出输入对话框 这里就需要用到prompt语言 它的语法格式是 prompt(对话框内容) 如何把在对话框里输入内容输出到网页里,需要先定义一个变量,用var或let都可以。 假定变量名为a,代码是 let aprompt(请输入…...
gitee代码初次上传步骤
ps. 前提是已经下载安装gitee 一、在本地项目目录下空白处右击,选择“Git Bash Here” 二、初始化 git init 三、添加、提交代码(注意add与点之间的空格) git add . git commit -m 添加注释 四、连接、推送到gitee仓库 git remote add …...
android调用openssl库
android 调用openssl库 一、openssl安装编译 下载openssl-1.1.1w.tar.gz和android-ndk-r21e-linux-x86_64.zip解压android-ndk-r21e-linux-x86_64.zip到/opt/pj_ssl目录下,然后配置环境 vim ~/.bashrc增加如下内容 export NDK_HOME/opt/pj_ssl/android-ndk-r21e…...
Hugging face Transformers(3)—— Tokenizer
Hugging Face 是一家在 NLP 和 AI 领域具有重要影响力的科技公司,他们的开源工具和社区建设为NLP研究和开发提供了强大的支持。它们拥有当前最活跃、最受关注、影响力最大的 NLP 社区,最新最强的 NLP 模型大多在这里发布和开源。该社区也提供了丰富的教程…...
kubernetes集群部署:环境准备及master节点部署(二)
主机名IPv4地址IPv6地址角色安装组件操作系统k8s130-node190192.168.XX.190240a:XX::190masterkubeadm、kubelet、containerdAnolis OS 8.94.19.91-28.1.an8.x86_64k8s130-node191192.168.XX.191240a:XX::191nodekubeadm、kubelet、cri-oAnolis OS 8.94.19.91-28.1.an8.x86_64k…...