10.广域网技术

1. PPP实验点这里(拓扑+代码)
2. PPPoE配置实验点这里(拓扑+代码)

目录

  • 一、广域网
  • 二、PPP协议
  • 三、PPP链路建立过程1-LCP(链路协商)
  • 四、PPP链路建立过程2-PAP/CHAP(认证协商,可选)
  • 五、PPP链路建立过程3-NCP(网络协商)
  • 六、PPP 配置命令
  • 七、PPPoE(以太网承载PPP协议)
  • 八、PPPoE会话阶段(重点)
  • 九、PPPoE基础配置
  • 十、广域网技术的发展(了解)

一、广域网

  1. 什么是广域网?

     广域网是连接不同地区局域网的网络,通常所覆盖的范围从几十公里到几千公里。它能连接多个地区、城市和国家,或横跨几个洲提供远距离通信,形成国际性的远程网络。
     	※ 广域网与局域网是相对的概念。
    
  2. 早期的广域网技术

    早期广域网与局域网的区别在于数据链路层和物理层的差异性,在TCP/IP参考模型中,其他各层无差异。

TCP/IP参考模型LAN技术WAN技术
数据链路层IEEE802.3/4/5/11PPP、HDLC、FR(帧中继)、ATM
物理层IEEE802.3/4/5/11RS-232、V.24、V.35、G.703
  1. 广域网络设备角色介绍
设备描述
CE(Customer Edge,用户边缘设备)用户端连接服务提供商的边缘设备(PE)。CE连接一个或多个PE,实现用户接入。
PE(Provider Edge,服务提供商边缘设备)服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重要的网络节点。
P(Provider ,服务提供商设备)服务提供商不连接任何CE的设备。

在这里插入图片描述

  1. 早期广域网技术的应用

     早期的广域网技术主要是针对不同的物理链路类型,在数据链路层进行不同的二层封装。
     在CE与PE之间常用的广域网封装协议有PPP/HDLC/FR等,用于解决用户接入广域网的长距离传输问题。
     在ISP(运营商)内部常用的广域网协议主要是ATM,它用于解决骨干网高速转发的问题。
    

在这里插入图片描述

二、PPP协议

  1. PPP协议概述

     PPP(Point-to-Point Protocol,点到点协议)是一种常见的“广域网数据链路层协议”,主要用于在全双工的链路上进行点到点的数据传输封装。
     PPP提供了安全“认证”协议族:
     	① PAP(Password Authentication Protocol,密码验证协议)
     	② CHAP(ChallengeHandshake Authentication Protocol,挑战握手认证协议)。
     		※ 二者都为链路层的认证协议
     PPP协议具有良好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。
     PPP协议提供LCP(Link Control Protocol,链路控制协议),用于各种链路层参数的协商,例如最大接收单元,认证模式等。
     PPP协议提供各种NCP(Network Control Protocol,网络控制协议),如IPCP(IP Control Protocol ,IP控制协议),用于各网络层参数的协商,更好地支持了网络层协议。
    
  2. PPP链路建立流程

     PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。
     	① 链路层协商(LCP):通过LCP报文进行链路参数协商,建立链路层连接。
     	② 认证协商(可选PAP或CHAP):通过链路建立阶段协商的认证方式进行链路认证。
     	③ 网络层协商(NCP) :通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。
    

三、PPP链路建立过程1-LCP(链路协商)

  1. LCP报文格式

     PPP报文可由Protocol字段标识不同类型的PPP报文。例如,当Protocol字段为0xC021时,代表是LCP报文。此时又由Code字段标识不同类型LCP报文。
     LCP主要用来协商链路层的参数,这些参数使用TLV(Type Length Value)结构封装,例如MRU、认证协议、魔术字(用于防环)等。
    
  2. LCP协商过程 - 正常协商

     LCP协商由不同的LCP报文交互完成。协商由任意一方发送Configure-Request报文发起。如果对端接收此报文且参数匹配,则通过回复Configure-Ack响应协商成功。
     步骤:
     	① R1发送Configure-Request请求(携带本端参数,链路层参数:如MRU=1500;Auth_Type=PAP;Magic_Num=a)给R2,R2确认参数合法后,回发一个Configure-Ack报文给R1响应协商成功。
     	② R2紧接着再发一个携带自己参数的Configure-Request报文,等待R1回复Configure-Ack响应。
     	③ R1最后回复一个Configure-Ack报文,LCP协商过程结束
     		※ 也就是说,双方都需要发送携带自己参数的请求报文
     		※ 注意,如果双方的MRU大小不一致,如R1为1500、R2为2000,则双方都会协商为1500
    

在这里插入图片描述

  1. LCP协商过程 - 参数不匹配

     在LCP报文交互中出现LCP参数不匹配时,接收方回复Configure-Nak响应告知对端修改参数然后重新协商。
     步骤:
     	① R1发送配置请求,携带本端参数(Configure-Request)
     	② R2发现R1的参数不合法,回复一个Configure-Nak报文,进行参数协商。
     	③ 重新发起配置请求,携带协商后参数。
    

在这里插入图片描述

  1. LCP协商过程 - 参数不识别

     在LCP报文交互中出现LCP参数不识别时,接收方回复Configure-Reject响应告知对端删除不识别的参数然后重新协商。
    

在这里插入图片描述

四、PPP链路建立过程2-PAP/CHAP(认证协商,可选)

链路协商成功后,进行认证协商(此过程可选)。认证协商有两种模式,PAP和CHAP。

  1. PPP认证模式 - PAP

     PAP认证双方有两次握手。协商报文以“明文”的形式在链路上传输。
     步骤:
     	① LCP链路协商成功,确定认证方式为PAP
     	② 被认证方(企业)发起认证,发送Authenticate-Request报文(携带用户名与密码)
     	③ 认证方(运营商)将请求报文中的用户名和密码与本端数据库中进行比对,若匹配成功,则发送Authenticate-Ack给被认证方(认证协商过程结束)
     ※ PAP认证模式不安全,密码为明文传输。
     ※ 认证方在本地数据库中配置用户名和密码。
    

在这里插入图片描述

  1. PPP认证模式 - CHAP

     CHAP认证双方有三次握手。协商报文被加密后再在链路上传输。
     步骤:
     	① LCP链路协商成功,确定认证方式为CHAP
     	② 第一次握手:认证方发起challenge报文(携带ID、随机数Random)给被认证方,同时认证方本地会记录自己发送的随机数与ID
     	③ 第二次握手:被认证方收到challenge报文后,会将报文中的ID、随机数结合本地接口配置的密码,使用HASH算法生成MD5结果。随后将MD5结果与用户名等参数封装成Response报文,发送给认证方(进行认证)
     	④ 认证方自己也将自己本地的密码结合随机数、ID使用HASH算法生成MD5结果。
     	⑤ 第三次握手:认证方收到被认证方发送的response报文后,会将双方的MD5结果进行比对,若匹配一致,则代表认证成功,随后回复一个Success报文给被认证方(认证协商过程结束)
     ※ 随机数用于防重放攻击
     ※ CHAP认证情况下:网络中传输的不是密码,而是通过密码等参数生成的MD5结果,因此安全。
    

在这里插入图片描述

五、PPP链路建立过程3-NCP(网络协商)

PPP认证协商后,双方进入NCP协商阶段,协商在数据链路上所传输的数据包的格式与类型。
以常见的IPCP(网络控制协议)为例,它分为静态IP地址协商和动态IP地址协商。

  1. 静态IP地址协商(检测双方的IP地址是否冲突)

     静态IP地址协商需要手动在链路两端配置IP地址。
     步骤:
     	① R1发送配置请求,携带本端配置的IP地址(Configure-Request报文,IP:10.1.1.1)
     	② R2收到后,确认对端地址合法,回复给R1一个Configure-Ack进行确认
     	③ 随后R2会发送Configure-Request报文(10.1.1.2,R2的IP地址)给R1
     	④ 最后R1回复确认报文Configure-Ack到R2(此时NCP协商结束)
    

在这里插入图片描述

  1. 动态IP地址协商

     动态IP地址协商支持PPP链路一端为对端配置IP地址(推送IP地址)
     步骤:
     	① R1发送配置请求报文Configure-Request (0.0.0.0)给R2。
     		※ R1本地没有IP地址,因此请求报文中的地址为0.0.0.0
     	② R2接收到R1的请求报文后,发现报文中的地址不合法,回复一个协商IP地址报文(Configure-Nak,IP:10.1.1.1)给R1
     		※ 上述Configure-Nak中的IP地址(10.1.1.1)为R2推送给R1的(可以理解为R2给R1分配的)
     	③ R1收到R2推送的IP地址后,将其配置在自己的接口下,然后重新发送Configure-Request (10.1.1.1)报文给R2
     		※ 此处报文中的IP地址为R2给R1分配的
     	④ R2接收到新的请求报文后,检查发现R1的地址合法了,因此回复Configure-Ack报文给R1进行确认
     	⑤ R2随后发送Configure-Request(10.1.1.2)报文,携带自己的IP地址,给R1进行协商
     	⑥ R1接收到后,确认R2的地址合法(IP地址正确且和自己不冲突),最后发送Configure-Ack报文给R2确认协商成功(此时NCP协商结束)
    

在这里插入图片描述

六、PPP 配置命令

/* ppp 基础配置命令 */
[Huawei-Serial0/0/0] link-protocol ppp  // 配置当前接口封装PPP协议
	※ 华为串行接口默认封装协议为ppp
[Huawei-Serial0/0/0] ppp timer negotiate 10  // 单位为秒
	※ 在PPP LCP协商过程中,本端设备会向对端设备发送LCP协商报文,如果在指定协商时间间隔内没有收到对端的应答报文,则重新发送。

/* PAP 认证配置命令 */
/* 1,认证方(运营商) */
步骤:配置验证方以PAP方式认证对端,首先需要通过AAA将被验证方的用户名和密码加入本地用户列表,然后选择认证模式。
[R1] aaa  // 进入aaa认证,添加待认证用户信息
[R1-aaa] local-user aa password cipher Huawei@123  // 配置用户名与密码(密文显示)
[R1-aaa] local-user aa service-type ppp  // 指定用户aa业务类型为ppp
[R1-aaa]int s4/0/0  // 进入串口s4/0/0
[R1-Serial4/0/0] ppp authentication-mode pap  // 指定ppp认证模式为pap
/* 2,被认证方(企业客户) */
[R2] int s4/0/0  // 进入串口s4/0/0
[R2-Serial4/0/0] ppp pap local-user aa password cipher Huawei@123  // 添加PPP认证的用户信息

/* CHAP 认证配置命令*/
/* 1,认证方(运营商) */
[R1] aaa  // 进入aaa认证,添加待认证用户信息
[R1-aaa] local-user aa password cipher Huawei@123  // 配置用户名与密码(密文显示)
[R1-aaa] local-user aa service-type ppp  // 指定用户aa业务类型为ppp
[R1-aaa]int s4/0/0  // 进入串口s4/0/0
[R1-Serial4/0/0] ppp authentication-mode chap  // 配置ppp认证方式为chap(pap与chap认证在配置方面,仅有此处略有不同)
/* 2,被认证方(企业客户) */
[R2] int s4/0/0  // 进入串口s4/0/0
[R2-Serial4/0/0] ppp chap user aa  // 配置chap认证时的用户名
[R2-Serial4/0/0] ppp chap password cipher Huawei@123  // 配置chap认证时的密码(密文显示)

/* PPP 动态地址协商(分配IP地址)配置 */
/* 1,被分配方(无IP地址,等待对方分配) */
[R1]int s4/0/0  // 进入串口s4/0/0
[R1-Serial4/0/0] ip address ppp-negotiate  // 配置IP地址为ppp动态协商(自动获取)

/* 2,分配方(有IP地址,给对方推送IP地址) */
[R2] int s4/0/0  // 进入串口
[R2-Serial4/0/0] int add 2.2.2.2  // 添加本端接口的IP地址
[R2-Serial4/0/0] remote address 1.1.1.1  // 给对端接口(R1)推送一个IP地址(分配)
	※ 两端的IP地址可以不是一个网段的

七、PPPoE(以太网承载PPP协议)

  1. 什么是PPPoE?

     PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。
     PPPoE集中了“PPP和Ethernet”两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。
    
  2. PPPoE应用场景

     PPPoE实现了在以太网上提供点到点的连接。PPPoE客户端与PPPoE服务器端之间建立PPP会话,封装PPP数据报文,为以太网上的主机提供接入服务,实现用户控制和计费,在企业网络与运营商网络中应用广泛。
     PPPoE的常见应用场景有家庭用户拨号上网、企业用户拨号上网等。
     ※ 所有主机安装PPPoE客户端拨号软件,每个主机都是一个PPPoE客户端,分别与PPPoE服务器端建立一个PPPoE会话。每个主机单独使用一个账号,方便运营商对用户进行计费和控制。
    
  3. PPPoE会话建立

     PPPoE的会话建立有三个阶段,PPPoE发现阶段、PPPoE会话阶段和PPPoE终结阶段。
     	① PPPoE发现阶段:PPPoE协商(用户接入,创建PPPoE虚拟链路)
     	② PPPoE会话阶段:PPP协商(包括LCP协商、PAP/CHAP认证、NCP协商等阶段)
     	③ PPPoE终结阶段:PPPoE断开(用户下线,客户端断开连接或者服务器端断开连接)
    

八、PPPoE会话阶段(重点)

  1. PPPoE报文
Code名称内容
0x09PADIPPPoE Active Discovery Initiation,PPPoE激活发现起始报文
0x07PADOPPPoE Active Discovery Offer,PPPoE激活发现服务报文
0x19PADRPPPoE Active Discovery Request,PPPoE激活发现请求报文
0x65PADSPPPoE Active Discovery Session-confirmation,PPPoE激活发现会话确认报文
0xa7PADTPPPoE Active Discovery Terminate,PPPoE激活发现终止报文
  1. PPPoE发现阶段(重点)

     PPPoE协议发现有四个步骤:客户端发送请求、服务端响应请求、客户端确认响应和建立会话。
     	① 客户端发送请求:客户端广播请求需要的服务(PADI)
     	② 服务端响应请求:可能会有多个服务器能够提供客户端服务(PADO)
     	③ 客户端确认响应:客户端优选最先收到的服务响应并发送服务请求(PADR)
     	④ 建立会话:服务器端通过分配Session ID给客户端确定会话建立(PADS)
    

在这里插入图片描述

  1. PPPoE会话阶段(重点)

     PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段
     	※ 在整个会话阶段,由PPPoE服务器端分配的Session ID值保持不变。
    

在这里插入图片描述

  1. PPPoE终结阶段(重点)

     当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。
     同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文。
     	※ PADT中通过携带Session ID值来标识需要关闭的会话
    

在这里插入图片描述

九、PPPoE基础配置

PPPoE配置实验点这里(拓扑+代码)

十、广域网技术的发展(了解)

  1. 广域网技术的历史演进

     早期广域网常用的数据链路层协议包括PPP、HDLC和ATM等。后期随着全网IP化的演进,基于IP技术的Internet快速普及,但基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下,因此IP技术的转发性能成为当时限制网络发展的瓶颈。
     MPLS(Multiprotocol Label Switching,多协议标记交换)最初是为了提高路由器的转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘解析IP报文头,后续节点只基于标签转发,而不用在每一跳都解析IP报文头,减少软件处理流程节约了处理时间。
     随着路由器性能的提升,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN(Virtual PrivateNetwork,虚拟专用网)、TE(Traffic Engineering,流量工程)、QoS(Quality of Service,服务质量)等方面得到广泛应用。
    
  2. 传统IP路由转发

     传统的IP转发采用的是逐跳转发。数据报文经过每一台路由器,都要被解封装查看报文网络层信息,然后根据路由最长匹配原则查找路由表指导报文转发。各路由器重复进行解封装查找路由表和再封装的过程,所以转发性能低。
     传统IP路由转发的特点:
     	① 所有路由器需要知道全网的路由
     	② 传统IP转发是面向无连接的,无法提供较好的端到端QoS保证。
    
  3. MPLS标签转发

     MPLS是一种IP骨干网技术。
     MPLS是一种隧道技术,在IP路由和控制协议的基础上,向网络层提供面向连接的交换。能够提供较好的QoS保证。
     MPLS标签指导报文转发的过程中,使用本地标签查找替代传统IP转发的路由查找,大大提高转发效率。
     MPLS转发过程中使用的标签,既可以通过手工静态配置,又可以通过动态标签分发协议分配
    
  4. MPLS转发存在的问题

     MPLS的标签分发有静态和动态两种方式,均面临着不同的问题:
     	① 静态标签分发为手工配置。随着网络规模不断的扩大,网络拓扑易变化,静态手工配置标签不适应大型网络需求。
     	② 动态标签分发的问题,一方面在于部分动态标签协议本身并无算路能力,需依赖IGP进行路径计算,同时控制面协议复杂,设备之间需要发送大量的消息来维持邻居及路径状态,浪费了链路带宽及设备资源。另一方面部分标签分发协议虽然支持流量工程,但是配置复杂,不支持负载分担,需要大量协议报文维护路径正常工作;同时每台设备都是独立存在,只知道自己的状态,设备之间需要交互信令报文,也会浪费链路带宽及设备资源。
    
  5. Segment Routing简介

     为解决传统IP转发和MPLS转发的问题,业界提出了SR (Segment Routing,分段路由)。SR的转发机制有很大改进,主要体现在以下几个方面:
     	① 基于现有协议进行扩展:扩展后的IGP/BGP具有标签分发能力,因此网络中无需其他任何标签分发协议,实现协议简化。
     	② 引入源路由机制:基于源路由机制,支持通过控制器进行集中算路(SDN的思想)
     	③ 业务驱动网络,由应用提出需求(时延、带宽、丢包率等),控制器收集网络拓扑、带宽利用率、时延等信息,根据业务需求计算显式路径。
     SR将网络路径分成一个个的段(Segment),并且为这些段分配SID(Segment ID)。
     SID的分配对象有两种,转发节点或者邻接链路。
     邻接链路和网络节点的SID有序排列形成段序列(Segment List),它代表一条转发路径。SR由源节点将段序列编码在数据包头部,随数据包传输。SR的本质是指令,指引报文去哪里和怎么去
    
  6. SR的部署方式

     SR部署分为有控制器部署和无控制器部署。控制器配合方式由控制器收集信息,预留路径资源和计算路径,最后将结果下发到头结点,是更为推荐的部署方式。
    
  7. Segment Routing的应用

     SR可以简易的指定的报文转发路径,在现网中可以为不同业务定义不同的路径。
     例如本例定义了数据下载、视频和语音三条显式路径,实现了业务驱动网络。设备由控制器纳管,支持路径实时快速发放。
    

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/420116.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务间通信重构与服务治理笔记

父工程 依赖版本管理,但实际不引入依赖 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…

详解字符串函数<string.h>(上)

1. strlen函数的使用和模拟实现 size_t strlen(const char* str); 1.1 函数功能以及用法 字符串长度 strlen函数的功能是计算字符串的长度。在使用时&#xff0c;要求用户传入需要计算长度的字符串的起始位置&#xff0c;并返回字符串的长度。 #include <stdio.h> #…

【两万字面试系列】三年前的面试题。Service里面的线程安全问题

前言 三年前&#xff0c;大概是21年&#xff0c;那会刚学完java&#xff0c;然后去面试&#xff0c;被打的一塌糊涂&#xff0c;今天来盘一盘之前的面试&#xff0c;到底是怎样的问题整住了。然后发现了去年整的线程安全东西&#xff0c;也贴到文章后面了。那个贴的还不太准&a…

2024腾讯云服务器优惠价格表又降价了,给同行干emo了

腾讯云优惠活动2024新春采购节活动上线&#xff0c;云服务器价格已经出来了&#xff0c;云服务器61元一年起&#xff0c;配置和价格基本上和上个月没什么变化&#xff0c;但是新增了8888元代金券和会员续费优惠&#xff0c;腾讯云百科txybk.com整理腾讯云最新优惠活动云服务器配…

探索数据结构:解锁计算世界的密码

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty‘s blog 前言 随着应用程序变得越来越复杂和数据越来越丰富&#xff0c;几百万、…

每日五道java面试题之spring篇(九)

目录&#xff1a; 第一题. 说一下Spring的事务传播行为第二题. 说一下 spring 的事务隔离&#xff1f;第三题. Spring AOP and AspectJ AOP 有什么区别&#xff1f;AOP 有哪些实现方式&#xff1f;第四题. JDK动态代理和CGLIB动态代理的区别第五题. 解释一下Spring AOP里面的几…

基于SSM医院电子病历管理系统的设计与实现(源代码+数据库脚本+万字文档+PPT)

系统介绍 医院电子病历管理系统主要是借助计算机&#xff0c;通过对医院电子病历管理系统所需的信息管理&#xff0c;增加用户的选择&#xff0c;同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。医院电子病历管理系统 对用户带来了更多的便利&#xff0c…

1、jQuery介绍、css()、选择器、事件、动画

一、jQuery介绍&#xff1f; 1、什么是jQuery&#xff1f; 是一个JavaScript函数库 2、jQuery特点 写的少&#xff0c;做的多 3、jQuery的安装 直接下载引入 <script src"jquery-1.10.2.min.js"></script>通过cdn引入 <script src"https…

VScode 单步断点调试Nodejs方法总结

目录 方法一 方法二 方法三 方法一 使用vscode开发nodejs程序,能够启动单步调试模式,在指定代码处添加断点,像chrome、firefox浏览器上一样进行JavaScript的调试。 新建一个nodejs的工程,编写代码后,配置代码调试的步骤: 1、切换到代码调试界面 2、界面提示,新建一…

Python列表中添加删除元素不走弯路

1.append() 向列表中添加单个元素&#xff0c;一般用于尾部追加 list1 ["香妃", "乾隆", "贾南风", "赵飞燕", "汉武帝"]list1.append("周瑜") print(list1) # [香妃, 乾隆, 贾南风, 赵飞燕, 汉武帝, 周瑜]…

私域必备宝藏工具:多微信统一管理聚合聊天

对于私域流量运营者来说&#xff0c;如何高效管理多个微信号成为了一道难题。 不过不用担心&#xff0c;通过微信管理系统&#xff0c;可以实现多个微信同时登录&#xff0c;同一个界面内聚合聊天&#xff0c;省去来回切换账号的步骤。而且&#xff0c;还有很多非常实用且便捷…

幻兽帕鲁/Palworld服务器的最佳网络设置、内存和CPU配置是什么?

幻兽帕鲁/Palworld服务器的最佳网络设置、内存和CPU配置是什么&#xff1f; 对于4到8人的玩家&#xff0c;推荐的配置是4核16G的CPU和16G的内存。10到20人的玩家选择8核32G的CPU和32G或以上的内存。2到4人的玩家则建议选择4核8G的CPU和8G的内存。对于32人的玩家&#xff0c;推…

java常用环境docker安装

配置目录 rocketmqredismysql不配置binlog配置binlog Nacoszookeeper 本文为精简安装&#xff0c;部分不带容器卷映射&#xff0c;仅供以学习使用。 rocketmq nameservice sudo docker run -d \ --privilegedtrue \ --name rmqnamesrv \ -p 9876:9876 \ -e "MAX_HEAP_SI…

数据结构之二叉树的精讲

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

用按位或、按位与取反实现权限的增减

一、介绍&#xff1a; 在Linux操作系统中&#xff1a; r -4&#xff1a;可读权限 w -2&#xff1a;可写权限 x -1&#xff1a;可执行权限 问题1&#xff1a;三个权限为1,2,4&#xff0c;分别对应:2^0,2^1,2^2&#xff0c;为什么要用8进制表示用户的文件权限&#xff1f; …

《汇编语言》第3版 (王爽)检测点3.1解析

第三章 检测点3.1 &#xff08;1&#xff09;.在Debug中&#xff0c;用“d 0:0 1f”查看内存&#xff0c;结果如下。 下面的程序执行前&#xff0c;AX 0&#xff0c;BX 0&#xff0c;写出每条汇编指令执行完后相关寄存器中的值。 mov ax,1 ;将1放入AX寄存器中&#xff0c;…

奥威BI+用友,分析呆滞物料库存

对库存安全来说&#xff0c;呆滞物料就是一个不定时危机&#xff0c;需要时刻监控呆滞物料库存&#xff0c;既要保证满足生产所需&#xff0c;又要避免库存量过大给库存造成负担以及物料贬值造成损失。那&#xff0c;呆滞物料库存怎么分析&#xff1f;奥威-用友BI方案做了一个样…

使用css的transition属性实现抽屉功能

需求 使用css手写一个抽屉&#xff0c;并且不能遮挡住原来的页面 效果&#xff1a;&#xff08;录的gif有点卡&#xff0c;实际情况很丝滑&#xff09; 实现代码&#xff1a; <template><div class"dashboard-container"><div class"mainBox&…

android移动应用开发教程,android系统工程师面试宝典

Java相关 Java基础 HashMap1.7和1.8的实现原理final关键字&#xff0c;为什么匿名内部类使用局部引用要用final Java多线程 线程池的使用和原理 锁机制&#xff1a;synchronized、Lock volatile关键字 ThreadLocal原理 JVM Java内存结构Java垃圾回收机制Java类加载过程…

基于CVX凸优化的电动汽车充放电调度matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 CVX凸优化 4.2 电动汽车充放电调度 5.完整程序 1.程序功能描述 基于CVX凸优化的电动汽车充放电调度.仿真输出无电动汽车充电时的负载&#xff0c;电动汽车充电时cvx全局优化求解后的总…