虚拟化逻辑架构:OVS 交换机与端口管理
目录
一、实验
1.OVS 交换机管理
2.OVS端口管理
二、问题
1.KVM下的br0和virbr0有何区别
2.OVS 虚拟交换机 与接口如何实现关联的创建和删除
3.两个ovs之间如何进行流量交互
4.虚拟网络如何和物理网络互联
一、实验
1.OVS 交换机管理
(1)查看网络信息
lo:本地回环接口
enp0s17 : ubuntu系统识别到的物理网卡
virbr0/br1/virbr0-nic : linux bridge 网桥相关
root:~# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:d8:2a:24 brd ff:ff:ff:ff:ff:ffinet 192.168.31.20/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s17valid_lft 42599sec preferred_lft 42599secinet6 fe80::f79a:6227:76ba:e22e/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 3a:e1:3f:67:ea:22 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ff
(2)安装 openvswitch-switch
sudo apt-get install openvswitch-switch
(3)查看软件ID与软件版本
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edovs_version: "2.9.8"
(4)创建OVS 虚拟交换机
ovs-vsctl add-br br0
(5)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edBridge "br0"Port "br0"Interface "br0"type: internalovs_version: "2.9.8"
(6)删除OVS 虚拟交换机并查看
ovs-vsctl del-br br0
(7)再次查看openvswitch。显示已删除
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edovs_version: "2.9.8"
2.OVS端口管理
(1)向br0 中添加 if01端口,并且绑定 if01接口,设置端口类型 internal类型
ovs-vsctl add-port br0 if01 -- set interface if01 type=internal
(2)将if01端口设置为access VLAN模式
ovs-vsctl set port if01 VLAN_mode=access
(3)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edBridge "br0"Port "if01"Interface "if01"type: internalPort "br0"Interface "br0"type: internalovs_version: "2.9.8"
(4)查看网络信息
已新增br0和if01
root:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:d8:2a:24 brd ff:ff:ff:ff:ff:ffinet 192.168.31.20/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s17valid_lft 39205sec preferred_lft 39205secinet6 fe80::f79a:6227:76ba:e22e/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 3a:e1:3f:67:ea:22 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ff
8: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 3a:6f:7f:57:9f:3d brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether ae:f5:0b:f1:b4:4c brd ff:ff:ff:ff:ff:ff
10: if01: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 96:1e:9c:4d:4d:62 brd ff:ff:ff:ff:ff:ff
(5)向br0 中添加 if02端口,并且绑定 if02接口,设置端口类型 internal类型
ovs-vsctl add-port br0 if02 -- set interface if02 type=internal
(6)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edBridge "br0"Port "if02"Interface "if02"type: internalPort "if01"Interface "if01"type: internalPort "br0"Interface "br0"type: internalovs_version: "2.9.8"
(7) 查看网络信息
root:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:d8:2a:24 brd ff:ff:ff:ff:ff:ffinet 192.168.31.20/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s17valid_lft 39017sec preferred_lft 39017secinet6 fe80::f79a:6227:76ba:e22e/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 3a:e1:3f:67:ea:22 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ff
8: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 3a:6f:7f:57:9f:3d brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether ae:f5:0b:f1:b4:4c brd ff:ff:ff:ff:ff:ff
10: if01: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 96:1e:9c:4d:4d:62 brd ff:ff:ff:ff:ff:ff
11: if02: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 66:c9:a7:75:d2:d8 brd ff:ff:ff:ff:ff:ff
(8)删除名称为 br0的 ovs的if01端口
ovs-vsctl del-port br0 if01
(9)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edBridge "br0"Port "if02"Interface "if02"type: internalPort "br0"Interface "br0"type: internalovs_version: "2.9.8"
(10)查看br0桥-OVS上的所有添加的port端口
root:/# ovs-vsctl list-ports br0
if02
(11)查看网络信息
显示端口if01已删除
root:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:d8:2a:24 brd ff:ff:ff:ff:ff:ffinet 192.168.31.20/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s17valid_lft 38737sec preferred_lft 38737secinet6 fe80::f79a:6227:76ba:e22e/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 3a:e1:3f:67:ea:22 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ff
8: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 3a:6f:7f:57:9f:3d brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether ae:f5:0b:f1:b4:4c brd ff:ff:ff:ff:ff:ff
11: if02: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 66:c9:a7:75:d2:d8 brd ff:ff:ff:ff:ff:ff
(12)删除名称为 br0的 ovs的if02端口
ovs-vsctl del-port br0 if02
(13)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edBridge "br0"Port "br0"Interface "br0"type: internalovs_version: "2.9.8"
(14)查看网络信息
root:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:d8:2a:24 brd ff:ff:ff:ff:ff:ffinet 192.168.31.20/24 brd 192.168.31.255 scope global dynamic noprefixroute enp0s17valid_lft 38698sec preferred_lft 38698secinet6 fe80::f79a:6227:76ba:e22e/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: br1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 3a:e1:3f:67:ea:22 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:2f:20:d6 brd ff:ff:ff:ff:ff:ff
8: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 3a:6f:7f:57:9f:3d brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether ae:f5:0b:f1:b4:4c brd ff:ff:ff:ff:ff:ff
(15)删除名称为 br0的 ovs
ovs-vsctl del-br br0
(16)查看openvswitch
root:/# sudo ovs-vsctl show
e436b05b-210c-468a-9d94-fd63c6c419edovs_version: "2.9.8"
二、问题
1.KVM下的br0和virbr0有何区别
(1)KVM 的三种网络模式
桥接、仅主机、NAT
(2)区别
默认br0是桥接模式;
virbr0为NAT模式,它其实就是hypervisor的虚拟接口
2.OVS 虚拟交换机 与接口如何实现关联的创建和删除
(1)关联操作
#向br0 – OVS中添加 if01 端口,并且绑定 if01接口 ,设置端口类型 internal类型
ovs-vsctl add-port br0 if01 -- set interface if01 type=internal#将if01 端口设置为 access VLAN模式
ovs-vsctl set port if01 VLAN_mode=access#查看br0桥-OVS上的所有添加的port端口ovs-vsctl list-ports br0 # 在ovs – br0 删除掉if01端口 (接口也删除)
ovs-vsctl del-port br0 if01#为VM虚拟机配置IP地址
sudo ifconfig eth0 172.16.10.1 netmask 255.255.255.0#查看br0的接口信息
ovs-ofctl show br0#查看br0的MAC地址表(VLAN信息)
ovs-appctl fdb/show br0# 添加VLAN标记
ovs-vsctl add port if01 tag 10 #将接口01划分到vlan10
ovs-vsctl add port if02 tag 20 #将接口02划分到vlan20#删除VLAN标记
ovs-vsctl remove port if01 tag 10 #将接口01划分到vlan10# 查看OVS数量-名称
ovs-vsctl list-br
3.两个ovs之间如何进行流量交互
(1)设置互联patch
#默认允许所有VLAN通过patch接口互联需要设置peer(对端)
ovs-vsctl add-port br0 patch-br0-br2 -- set interface patch-br0-br2 type=patch options:peer=patch-br2-br0ovs-vsctl add-port br2 patch-br2-br0 -- set interface patch-br2-br0 type=patch options:peer=patch-br0-br2
4.虚拟网络如何和物理网络互联
(1)添加上行链路
#将一个物理网卡作为OVS虚拟交换机的上行链路,一个网卡作为虚拟交换机的上行链路后,该网卡直接作为OVS的一个逻辑接口,衔接物理和虚拟网络
ovs-vsctl add port br0 enp0s17 #将enp0s17物理网卡绑定到br0虚拟交换机,作为一个ovs中的一个接口ovs-ctl set port enp0s17 VLAN_mode=trunkovs-ctl set port enp0s17 trunk=10,20
相关文章:
虚拟化逻辑架构:OVS 交换机与端口管理
目录 一、实验 1.OVS 交换机管理 2.OVS端口管理 二、问题 1.KVM下的br0和virbr0有何区别 2.OVS 虚拟交换机 与接口如何实现关联的创建和删除 3.两个ovs之间如何进行流量交互 4.虚拟网络如何和物理网络互联 一、实验 1.OVS 交换机管理 (1)查看网…...
【springboot】idea项目启动端口被占用
问题 idea本地启动springboot项目端口老是被占用 解决 关闭被占用的端口进程 步骤: 1. winR打开程序框 2. 查出被占用端口的进程id netstat -ano | finderstr 端口号 例如 netstat -ano | finderstr 81013.杀死进程 taskkill /pid 进程id -t -f 例如 taskkill /pid 2…...
linux环境下编译安装OpenCV For Java(CentOS 7)
最近在业余时间学习了一些有关图像处理的代码,但是只能本地处理,满足不了将来开放远程服务的需求。 因此,查找并参考了一些资料,成功在centos7环境安装上了opencv 460。 下面上具体安装步骤,希望能帮到有需要的同学。 …...
健康学习到 150 岁:人体系统调优不完全指南 | 开源日报 No.93
jesseduffield/lazygit Stars: 40.0k License: MIT lazygit,一个用 Go 语言编写的简单终端UI工具,可以执行 Git 命令。 该项目旨在让使用者更加方便地使用 Git,并提供了以下功能: 可视化操作:用户可以通过图形界面进…...
C++ Easyx 三子棋
目录 思路 框架编辑 读取操作 数据操作 绘制画面 游戏的数据结构 用二维数组来模拟棋盘格 赢的情况 平局情况 Code 代码细节部分 (1)初始化棋盘格 (2) 初始化棋子类型编辑 事件处理部分 落子 框架内代码的完善 数据处…...
[NAND Flash 2.1] NAND Flash 闪存改变了现代生活
依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 1989年NAND闪存面世了,它曾经且正在改变了我们的日常生活。 NAND 闪存发明之所以伟大,是因为,…...
2015年五一杯数学建模B题空气污染问题研究解题全过程文档及程序
2015年五一杯数学建模 B题 空气污染问题研究 原题再现 近十年来,我国 GDP 持续快速增长,但经济增长模式相对传统落后,对生态平衡和自然环境造成一定的破坏,空气污染的弊病日益突出,特别是日益加重的雾霾天气已经干扰…...
java面试题,上楼梯有多少种方式
java面试题,上楼梯有多少种方式 题目:一个小孩上一个N级台阶的楼梯,他可以一次走1阶、2阶或3阶,那么走完N阶有多少种方式。 很自然的想法是使用递归: public class Test04 { public static int countWays(int n) {…...
8.HTTP工作原理
HTTP是什么 HTTP工作原理 HTTP协议的请求类型和响应状态码 总结 1.HTTP是什么 HTTP超文本传输协议就是在一个网络中上传下载文件的一套规则 2.HTTP工作原理 HTTP超文本传输协议的本质是TCP通信,链接—>请求—>响应—>断开 3.HTTP协议的请求类型和响应状…...
环境部署的学习笔记(Docker)
1 前言 在现场测试时,常常需要在现场机器上搭建开发环境,此时使用容器会是一个比较方便的途径; 2 常见的容器技术 2.1 Docker⭐️31k:目前使用最为广泛的容器技术 2.2 Nix⭐️13.8k:镜像文件占用会比Docker少 Chat…...
Navicat在分辨率不同的屏幕窗口显示大小不一致问题解决
1.主屏幕为2560*1600分辨率,能够显示较多数据连接 2.在第二屏幕分辨率低,字体变大,显示内容变少 解决办法: 1.右击navicat图标-属性 2.选择【兼容性】-在兼容性页面中选择**“更改高DPI设置”** 3…勾选“高DPI缩放替代”&a…...
通过代码搞明白JAVA中值传递和引用传递
public static void main(String[] args) {Map a new HashMap();a.put("a", 1);System.out.println(a "我在main中的值");aaa(a);System.out.println(a "我在main中的值");bbb(a);System.out.println(a "我在main中的值");int b …...
ambari 开启hdfs回收站机制
hdfs回收站类似于我们常用的windows中的回收站,被删除的文件会被暂时存储于此,和回收站相关的参数有两个: fs.trash.interval:默认值为0 代表禁用回收站,其他值为回收站保存文件时间,单位为分钟 fs.trash…...
服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例
服务器数据恢复环境: 某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。 服务器故障&检测: 服务器在运行过程中突然瘫痪,管理员对服务器进行了重装…...
软件工程之架构设计
从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、架构设计的目的 1.什么是复杂的软件项目 复杂的软件项目通常有两个特点: 需求不确定 技术复杂 技术的复杂性主要体现在四个方面…...
oracle java.sql.SQLException: Invalid column type: 1111
1.遇到的问题 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{propertyuuid, modeIN, javaTypeclass java.lang.String, jdbcTypenull, numericScalenull, r…...
Mac 浏览器下载的文件名总是「乱码」
如果可以实现记得点赞分享,谢谢老铁~ 本文所说的方法是在出现文件名乱码情况下,如何恢复文件名的正确中文名称,并非一劳永逸地避免乱码的出现。这是由于下载文件名称乱码的出现,往往是系统、浏览器、网站三方面因素共…...
Redis Reactor事件驱动模型源码
前置学习:Redis server启动源码-CSDN博客 1、Redis服务器启动的时候就会就一直在轮询。 // 运行事件处理器,一直到服务器关闭为止 aeSetBeforeSleepProc(server.el,beforeSleep); aeMain(server.el);// 服务器关闭,停止事件循环 aeDeleteEven…...
cv2.error: OpenCV(4.7.0)
运行hsv脚本报错: cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function cv::cvtColor 解决方案: 这个错误信息是在使用OpenCV的cvtColor函…...
10.vue3项目(十):spu管理页面的sku的新增和修改
目录 一、sku静态页面的搭建 1.思路分析 2.代码实现 3.效果展示...
Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 对称二叉树 1.1 判断对称二叉树实现思路 1.2 代码实现:判断对称二叉树 2.0 二叉树的最大深度 2.1 使用递归实现获取二叉树的最大深度思路 2.2 代码实…...
Image Segmentation Using Deep Learning: A Survey
论文标题:Image Segmentation Using Deep Learning:A Survey作者:发表日期:阅读日期 :研究背景:scene understanding,medical image analysis, robotic perception, video surveillance, augmented reality, and image…...
可视化开源编辑器Swagger Editor本地部署并实现远程访问管理编辑文档
最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 Swagger Editor本地接口文档公网远程访问1. 部署Swagge…...
Java TCP协议实现一对一聊天与UDP协议实现群聊案例
JavaTCP协议实现一对一聊天与UDP协议实现群聊案例 1.TCP协议实现一对一聊天 1.1服务端运行结果 1.2客服端运行结果 1.3代码汇总 服务端 package twentyone;import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.…...
【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目
从0配置JAVA项目相关环境 写在最前面一、安装Java的jdk环境1. 下载jdk2. 配置jdk3. 配置环境变量 二、在vscode中配置java运行环境1. 下载VSCode2. 下载并运行「Java Extension Pack」 三、安装mysql1.官网下载MySQL2.开始安装如果没有跳过安装成功 3.配置MySQL Server4.环境变…...
人工智能_机器学习053_支持向量机SVM目标函数推导_SVM条件_公式推导过程---人工智能工作笔记0093
然后我们再来看一下支持向量机SVM的公式推导情况 来看一下支持向量机是如何把现实问题转换成数学问题的. 首先我们来看这里的方程比如说,中间的黑线我们叫做l2 那么上边界线我们叫l1 下边界线叫做l3 如果我们假设l2的方程是上面这个方程WT.x+b = 0 那么这里 我们只要确定w和…...
二叉树的前、中和后序遍历的递归与迭代实现
1. 前序遍历 1.1 递归 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param …...
人体姿态估计算法
人体姿态估计算法 1 什么是人体姿态估计2 基于经典传统和基于深度学习的方法2.1 基于经典传统的人体姿态估计算法2.2 基于深度学习的人体姿态估计算法OpenPoseAlphaPose (RMPE) 3 算法应用4 Paper 人体姿态估计在现实中的应用场景很丰富,如下 动作捕捉:三…...
docker部署jupyter
文章目录 1.搜索镜像2.拉取镜像3.创建挂载4.运行容器4.查看容器运行运行状态5.token查看6.访问jupyter 1.搜索镜像 docker search jupyter: 命令用于在 Docker Hub 上搜索名为 “jupyter” 的镜像。搜索结果显示了一个名为 “jupyter/datascience-notebook” 的镜像࿰…...
音视频的功耗优化
前言 在应用中,录制与音视频模块往往是高耗能的模块,设备容易发热,影响体验。 什么是功耗优化 手机有多个耗电模块, SOC(CPU,GPU,DDR),Display,Audio,Video࿰…...
湖南网站建设价格/程序员培训班要多少钱
HashMap线程安全的吗? Java中平时用的最多的Map集合就是HashMap了,它是线程不安全的。 看下面两个场景: 1、当用在方法内的局部变量时,局部变量属于当前线程级别的变量,其他线程访问不了,所以这时也不存在…...
青岛网站建设公司排行/seo成功的案例和分析
本文转载自公众号 大飞码字人越老,脸皮越厚,我觉得这句话挺有道理哈。记得刚入职场的时候,自己特别的脆,很在乎别人的看法。在乎直接上级的看法,在乎平级的看法,在乎其他团队同学的看法,真是一…...
南京政府网站建设/中山口碑seo推广
UnboundLocalError: local variable count referenced before assignment 局部变量错误:赋值之前引用的本地变量count ,unbound:未绑定,local:局部 ValueError: could not convert string to float: -1.0((30.0(-8.0,…...
营销网站做推广/百度关键词查询工具免费
随着手机中的相机像素越来越高,以及相关的一些功能也越来越完善,人们越来越喜欢使用手机来拍照了。但是手机作为一个移动的通讯设备,它的内存空间还是非常有限的,因此我们不能无节制地拍摄照片。但同时,我们也不希望删…...
网站建设实训总结200/网站seo的内容是什么
这里我以yunfenghui商城为例 https://github.com/lolongwell... 第一步,在虚拟主机上添加一个站点,如yunfenghui.lolong.xyz lnmp vhost add 然后,一路敲回车。(注意需要在云主机上解析域名,详细步骤参考【项目上线】0…...
做网站的优化价格/成都全网推广哪家专业
1. 前言Pytorch 目前是炙手可热的深度学习框架。和 TensorFlow 比较起来学习曲线更加平滑,不用写大量的样板代码就可以对网络进行训练和使用。在最新版本的 Pytorch 中开始支持 Java 。但是安装 Pytorch 并不是很容易的事。今天就来说一下如何利用 Conda 安装 Pytor…...