什么是 802.1X?它是如何工作的?

news2024/11/18 3:47:12

什么是 802.1X?它是如何工作的?

  • 什么是IEEE 802.1X?
  • 802.1X是如何工作的?
  • 802.1X EAP安全是什么?
  • 802.1X用在哪里?
    • IEEE 802.1X和Wi-Fi是否相同?
    • 什么是有线802.1X?
  • 802.1X的安全性有多高?
    • 802.1X是加密的吗?
  • 802.1X的组成
    • 客户端/Supplicant
    • 交换机/接入点/控制器
    • RADIUS服务器
    • 为什么802.1X需要RADIUS服务器?
    • 身份存储/目录
  • 802.1X认证是如何工作的?
    • RADIUS计费
    • 虚拟局域网(VLAN)
    • MAC地址认证
    • MAC RADIUS
    • MAC Bypass
  • 如何在设备上配置 802.1X?
    • Windows
    • macOS
    • Android
    • iOS
    • Linux
  • 802.1X vs WPA2-Enterprise

什么是IEEE 802.1X?

设备尝试连接到局域网(LAN)或无线局域网(WLAN)时需要身份验证机制。IEEE 802.1X,作为端口基础网络访问控制(PNAC)的IEEE标准,为安全的网络访问提供了受保护的认证。
在这里插入图片描述
802.1X网络与普通网络有一个显著的不同之处:它拥有一个名为RADIUS服务器的认证服务器。该服务器会核查用户的凭据,确认其是否是组织中的活跃成员,并根据网络策略,为用户授予不同层次的网络访问权限。这种做法允许每个用户使用独特的凭据或证书,摆脱对容易被窃取的单一网络密码的依赖。

  • 802.1X是一种认证协议,通过使用RADIUS服务器来允许访问网络。
  • 802.1X和基于RADIUS的安全机制被视为确保无线和有线网络安全的黄金标准。

802.1X是如何工作的?

802.1X是一种网络认证协议,当组织对用户进行身份验证并授权其访问网络时,会打开端口以便网络访问。用户的身份是基于其凭据或证书确定的,这由RADIUS服务器进行确认。RADIUS服务器通过与组织的目录进行通信来实现这一点,通常使用LDAP或SAML协议。

  • 802.1X在身份验证后向设备提供对网络受保护侧的访问权限。
  • 802.1X提供了几种不同的身份验证方式,例如用户名/密码、证书、一次性密码(OTP)等。

802.1X EAP安全是什么?

在加密网络上使用的标准认证协议是可扩展认证协议(EAP),它提供了一种安全的方式,在网络认证中传输身份识别信息。802.1X是用于在有线和无线局域网(LAN)上传递EAP的标准。它提供了加密的EAP隧道,防止外部用户截取信息。

EAP协议可配置用于凭据(EAP-TTLS/PAP和PEAP-MSCHAPv2)和数字证书(EAP-TLS)认证,并且是一种高度安全的方法,用于保护认证过程。
在这里插入图片描述

  • EAP是将用户的识别信息从客户端传输到服务器的隧道。
  • EAP隧道通常使用用户名/密码或证书。
  • 并非所有的EAP隧道都是相同的,使用用户名/密码更容易进行中间人攻击。

802.1X用在哪里?

802.1X用于安全网络认证。如果您是处理有价值和敏感信息的组织,您需要一种安全的数据传输方法。802.1X被用于设备与接入点(企业级路由器)之间的安全通信。过去,它主要被大型企业、大学和医院等机构所使用,但由于网络安全威胁不断增加,它迅速被小型企业所采用。

802.1X通常被称为WPA2-Enterprise。相比之下,家庭常用的预共享密钥网络安全通常被称为WPA2-Personal。WPA2-Personal对于处理敏感信息的任何组织来说都不足够,可能会让组织面临严重的网络犯罪风险。

  • 通过旋转密钥安全性,避免使用开放/未加密或静态密钥(PSK)连接,用于保护有线和无线网络的连接。
  • 在企业和校园环境中使用802.1X,当用户进入或离开组织时,授权或取消其网络访问权限。

IEEE 802.1X和Wi-Fi是否相同?

差不多。IEEE 802.1X标准最初是设计用于有线以太网网络。Wi-Fi是一个注册商标,特指IEEE 802.11x标准 - 对原始标准的修改版本。

话虽如此,大多数安全和网络专业人士在使用WPA2-Enterprise安全性时,都会将术语802.1X用于有线和无线网络。

什么是有线802.1X?

对于有线网络连接进行802.1X认证与无线网络类似。有线网络用户必须从其设备连接到安全网络,并提供签名证书或有效凭据以进行身份验证。

主要区别在于,您的设备必须通过以太网连接,并与支持802.1X的交换机进行认证,而不是与无线交换机建立安全连接。设备和RADIUS服务器通过有线连接建立信任,如果识别用户,则其将获得授权以进行安全网络访问。

802.1X的安全性有多高?

当正确使用802.1X时,它是网络认证安全的黄金标准。它可以防止空中凭据窃取攻击,如中间人攻击和恶意双子代理。它比通常用于个人网络的预共享密钥网络要安全得多。

然而,802.1X的安全性取决于两个因素。第一个变量是最终用户是否被要求手动配置其设备。配置过程需要高级IT知识来理解,如果有任何步骤出错,用户将容易受到凭据窃取的威胁。我们强烈建议使用专用的802.1X入网软件。

第二个变量取决于组织是否使用基于凭据或基于证书的身份验证。基于证书的EAP-TLS显著降低了组织面临凭据窃取的风险,是使用802.1X最安全的方式。它不仅停止了凭据在空中传输从而容易被窃取,还强制用户经历注册/入网流程,以确保其设备配置正确。

  • 是网络认证中最安全的协议之一,胜过WPA2/3-PSK和开放/未加密连接。
  • 需要精确的配置,用户的错误会导致安全威胁。
  • 使用数字证书而不是基于用户名/密码的802.1X可以减轻安全问题。

802.1X是加密的吗?

是的,802.1X是加密的。802.1X WPA通常用于个人网络,比如家庭Wi-Fi,使用基于RC4的TKIP(Temporal Key Integrity Protocol)加密。它比WPA2安全性较低,但通常对于家庭使用已经足够。

802.1X WPA2可以使用TKIP,但通常选择AES(高级加密标准),这是目前最安全的标准。但是设置稍微复杂且成本较高,因此主要用于企业等更高风险的环境。

802.1X的组成

在这里插入图片描述
要让802.1X工作,只需要一些基本组件。实际上,如果你已经有了接入点和一些空闲的服务器空间,你就拥有了实现安全无线连接所需的所有硬件。有时甚至不需要服务器;一些接入点配备了内置软件,可以运行802.1X(尽管只适用于非常小型的部署)。

无论你是购买专业解决方案还是从开源工具构建自己的解决方案,802.1X的质量和易用性完全取决于设计。

  • 802.1X仅包括四个主要组件:客户端、接入点/交换机、RADIUS服务器和身份提供者。

客户端/Supplicant

设备要参与802.1X身份验证,必须在网络堆栈中安装一个称为Supplicant的软件。Supplicant是必需的,因为它将参与与交换机或控制器的EAP交易的初始协商,并以符合802.1X标准的方式打包用户的凭据。如果客户端没有Supplicant,来自交换机或控制器的EAP帧将被忽略,交换机将无法进行身份验证。

幸运的是,几乎所有我们期望连接到无线网络的设备都有内置的Supplicant。SecureW2为那些没有本地支持的设备提供802.1X的Supplicant。

值得庆幸的是,绝大多数设备制造商都内置了对802.1X的支持。最常见的例外可能是消费类设备,比如游戏控制台、娱乐设备或一些打印机。一般来说,这些设备应该占据您网络设备的不到10%,最好将其视为特例,而不是关注的重点。

  • 设备上的软件包含配置和连接数据(证书/凭据),发送到接入点/交换机。
  • 如果使用用户名/密码身份验证,设备需要精确设置以避免凭证盗窃。考虑配置软件或切换到基于证书的身份验证。
  • 过去10-15年中的大多数操作系统都支持802.1X,物联网的支持不足但正在迎头赶上。

交换机/接入点/控制器

交换机或无线控制器在802.1X交易中扮演重要角色,充当交易中的“经纪人”。在成功身份验证之前,客户端没有网络连接,仅在802.1X交换中与交换机通信。

当客户端连接到网络时,交换机/控制器通过向客户端发送EAPOL-Start包启动交换。根据无线安全设置中的配置,将客户端的响应转发到正确的RADIUS服务器。身份验证完成后,交换机/控制器根据用户状态和可能包含在RADIUS服务器发送的Access_Accept数据包中的属性,决定是否授权设备进行网络访问。

如果RADIUS服务器作为身份验证的结果发送了一个Access_Accept数据包,它可能包含一些属性,为交换机提供有关如何将设备连接到网络的信息。常见属性将指定要分配给用户的VLAN,或可能是用户连接后应给予的一组ACL(访问控制列表)。这通常称为“基于用户策略分配”,因为RADIUS服务器是基于用户凭据做出决策。常见用例包括将访客用户推送到“访客VLAN”和将员工推送到“员工VLAN”。

  • 这些设备促进设备与RADIUS服务器之间的通信。
  • 接入点/交换机是您配置网络使用802.1X而不是开放/未加密或WPA2/3-PSK的地方。
  • 当RADIUS服务器返回精确的访问控制策略时,充当执行点。

RADIUS服务器

RADIUS服务器充当网络的“安全守卫”;当用户连接到网络时,RADIUS对其身份进行验证并授权其使用网络。用户在从PKI(私钥基础设施)获取证书或确认其凭据后,就获得了网络访问授权。每次用户连接时,RADIUS都会确认其是否具有正确的证书或凭据,并阻止任何未经批准的用户访问网络。

使用RADIUS时应采用的一个关键安全机制是服务器证书验证。这确保用户只连接到其意图连接的网络,方法是配置其设备通过检查服务器证书来确认RADIUS的身份。如果证书不是设备寻找的证书,它将不会发送用于身份验证的证书或凭据。这可以防止用户成为伪装的代理攻击的受害者。

RADIUS服务器还可用于验证来自不同组织的用户。诸如Eduroam之类的解决方案使用RADIUS服务器作为代理(如RADSEC)。如果学生访问邻近的大学,RADIUS服务器可以验证他们在其所在大学的状态,并为他们在当前访问的大学提供安全网络访问。

  • RADIUS服务器是请求访问网络受保护一侧的设备的决策点。
  • RADIUS服务器与身份提供者交互,进行身份验证、授权和连接报告。

为什么802.1X需要RADIUS服务器?

802.1X需要RADIUS服务器,因为需要有专门的服务器来验证凭据。802.1X的身份验证实际上发生在RADIUS服务器上。服务器检查授权用户目录,以确认客户端是否有权限访问网络,并将该信息传递回控制器/接入点。没有RADIUS服务器,身份验证将不得不在接入点进行(这将需要一些非常强大的接入点),比如在PSK(预共享密钥)身份验证的情况下。

身份存储/目录

身份存储指存储用户名和密码的实体。在大多数情况下,这是Active Directory或潜在的LDAP服务器。几乎任何RADIUS服务器都可以连接到您的AD或LDAP以验证用户。使用LDAP时有一些注意事项,特别是关于LDAP服务器中密码的哈希方式。如果您的密码不是以明文或NTLM哈希方式存储,您将需要仔细选择EAP方法,因为某些方法可能不兼容,比如EAP-PEAP。这不是由RADIUS服务器引起的问题,而是由密码哈希引起的。

建立强大的WPA2-企业级网络需要额外的任务,比如设置PKI或CA(证书颁发机构),并将证书无缝分发给用户。与您可能想的相反,您可以进行这些升级而无需购买新的硬件或对基础设施进行更改。例如,推出访客访问或更改身份验证方法可以在不增加基础设施的情况下完成。

最近,许多机构已经开始将EAP方法从PEAP更改为EAP-TLS,在提高连接时间和漫游能力方面看到了明显的改进。提高无线网络功能性可以在不更改任何硬件的情况下实现。

  • 802.1X传统上需要一个目录(本地或云端),以便RADIUS能够识别每个用户及其被允许的访问级别。
  • 目录使用用户名/密码,这使其容易受到重大安全问题的影响。
  • 较新的云身份提供者(如Azure AD、Okta、Google)可以与新一代RADIUS交互,进行无密码身份授权。

802.1X认证是如何工作的?

802.1X认证过程包括四个步骤:初始化、发起、协商和认证。
在这里插入图片描述

  1. 初始化
    初始化步骤开始于认证器检测到新设备并尝试建立连接。认证器端口被设置为“未授权”状态,意味着只接受802.1X流量,而其他连接将被丢弃。
  2. 发起
    认证器开始向新设备发送EAP请求,随后设备向认证器发送EAP响应。响应通常包含一种识别新设备的方式。认证器接收到EAP响应并将其传递给认证服务器,以RADIUS接入请求数据包的形式。
  3. 协商
    认证服务器收到请求数据包后,将会用包含设备批准的EAP认证方法的RADIUS接入挑战数据包进行响应。认证器随后将挑战数据包传递给待认证的设备。
  4. 认证
    一旦设备配置了EAP方法,认证服务器将开始发送配置文件,以便对设备进行认证。完成该过程后,端口将被设置为“已授权”,设备也将被配置到802.1X网络中。
  • 通常,802.1X认证始于客户端请求访问,RADIUS服务器对用户进行验证,并允许访问点/交换机进行访问。
  • 通过证书进行802.1X认证效果最佳,因为它会考虑用户和设备上下文,以防止空中凭证被盗取。

RADIUS计费

802.1X RADIUS计费涉及记录认证到802.1X网络的设备信息和会话持续时间。设备信息通常是MAC地址和端口号,在会话开始时会发送到计费服务器。服务器将收到一个信号,表示会话结束。

虽然这不是802.1X认证过程的一部分,但我们经常接到有关计费的问题,因为RADIUS服务器通常被称为AAA(认证、授权、计费)服务器。

虚拟局域网(VLAN)

VLAN(虚拟局域网)是一种配置网络的方法,模拟具有所有管理和安全优势的局域网。

基本上,VLAN将网络分割成段,以组织网络上的安全规则。例如,通常会将开放/访客网络放置在与安全网络不同的VLAN中。这有助于确保一个VLAN上的设备和网络资源不会受到另一个VLAN发生故障的影响。

数字证书使VLAN分配变得轻而易举,因为可以将属性编码到RADIUS用于认证的证书中。您可以设置策略,使具有“it.company.com”电子邮件域的任何人自动分配到与“sales.company.com”不同的VLAN段。

MAC地址认证

MAC地址认证是一种简单的安全措施,您可以创建一个批准的MAC地址列表,允许这些地址访问网络。

不幸的是,伪造MAC地址并不困难,因此在企业级别很少部署MAC地址认证。

MAC RADIUS

MAC RADIUS是MAC地址认证的一种形式。与使用凭据或证书授权设备不同,RADIUS确认MAC地址并进行认证。

MAC Bypass

MAC Bypass的主要用途是将不支持802.1X的设备(如游戏控制台、打印机等)连接到您的网络。但是它仍然容易受到攻击,因此应该在一个单独的VLAN中。

如何在设备上配置 802.1X?

Windows

在Windows操作系统设备上配置802.1X有两种方法:手动配置或使用设备入网软件。

手动配置Windows设备需要用户设置新的无线网络,输入网络名称,设置安全类型,调整网络设置,设置认证方法等等步骤。虽然完全有可能准确完成此过程,但它比为效率而设计的入网软件要复杂得多。

使用SecureW2配置Windows操作系统的过程需要用户连接入网SSID并打开网络浏览器。用户将被引导至SecureW2的JoinNow入网软件。点击JoinNow后,一个图形将显示配置进度。然后用户将被提示输入其凭据,设备将经过身份验证并配备证书。

macOS

对于macOS,可以手动配置或使用入网软件设置802.1X。

要手动配置macOS,最终用户需要知道如何创建企业配置文件,安装客户端安全证书,验证证书并调整网络设置。对于具有IT背景的人来说,这个过程并不太困难,但对于普通网络用户来说由于每个步骤涉及高级技术信息而具有一定的风险。

下载SecureW2的JoinNow Suite适用于macOS的软件可以实现自动化,这样最终用户就无需完成整个过程。设置与Windows操作系统类似;最终用户首先连接到入网SSID,然后打开浏览器。下载.DMG文件并输入其凭据后,配置过程就开始了。整个配置和认证过程只需要几个步骤,让最终用户可以轻松等待设备配置完成。

Android

您可以通过两种方式在Android上配置802.1X:通过Wi-Fi设置手动配置或使用设备入网软件。

通过Wi-Fi设置手动配置需要您创建一个网络配置文件,配置服务器证书验证(需要上传RADIUS服务器使用的CA和公共名称),并配置认证方法。如果使用设备入网软件,所有这些步骤都将由可以从Play Store下载的应用程序完成,该应用程序将为您配置组织的网络设置。

iOS

配置iPhone的802.1X身份验证要么需要手动配置设备,要么使用入网软件。

手动配置意味着您需要在Wi-Fi设置中创建一个网络配置文件,并配置服务器证书验证和认证方法。通过入网软件处理此流程要简单得多,因为SecureW2可以向iPhone设备推送一个移动配置文件并自动配置网络设置。

Linux

与其他操作系统一样,在Linux上配置802.1X有两种方法。

手动配置相对简单。打开Network Manager,选择“编辑连接”,找到您的接入点并点击“编辑”。会弹出一个新窗口,选择名为802.1X设置的选项卡并输入您网络的信息。

对于单个设备,这是一个直截了当的过程。如果您需要为多台设备(和用户)进行入网,您需要SecureW2的自动设备入网软件。单击此处了解更多信息。

  • 802.1X设置可以包括SSID、EAP类型、认证协议、证书/服务器证书验证,信任真实的RADIUS服务器。
  • 通过入网软件自动配置、MDM或手动配置是可选的。
  • 对于不受管控/个人拥有的设备,入网软件可以降低安全风险。

802.1X vs WPA2-Enterprise

802.1X是用于加密和验证试图连接有线或无线网络的用户的IEEE标准框架。WPA-Enterprise使用TKIP和RC4加密,而WPA2-Enterprise则采用AES加密。

802.1X的漏洞
没有安全协议是无懈可击的,802.1X也不例外。

无线802.1X的最常见配置是WPA-PSK(预共享密钥,也称为WPA个人)和WPA或WPA2企业级。

PSK是最简单和最脆弱的。密码配置在接入点上,并分发给网络用户。它适用于个人使用,主要用于家庭。它很容易受到常规暴力攻击的破解,并且也容易受到其他常见攻击的影响。

企业级无线网络通常不会受到暴力攻击的威胁,因为网络管理员会要求使用复杂密码和重置策略。特定的漏洞因企业网络使用的认证标准而异。

PEAP MSCHAPv2曾经是WPA2-Enterprise网络的行业标准,但已经被破解。尽管存在固有的对空中攻击的漏洞,仍然有许多组织在使用此标准。

EAP-TTLS/PAP是另一种常见的标准,也非常容易受到空中攻击的威胁。它特别脆弱,因为凭据以明文形式发送,因此黑客可以轻松拦截和窃取。加剧问题的是云RADIUS服务器的日益流行。其中许多只支持EAP-TTLS/PAP,因此最终用户被迫通过互联网以明文形式发送他们的凭据。

最强大的WPA2-Enterprise标准是EAP-TLS。它依赖数字证书的非对称加密进行身份验证,使其免受空中攻击的威胁。即使黑客拦截了流量,他们也只能获取到公私钥对的一半,而这一半是没有用的,没有另一半是无效的。

  • 将802.1X配置留给最终用户会增加错误配置和安全妥协的风险。
  • 正确的RADIUS服务器非常重要,但在802.1X中不是强制性的,因此请始终确保启用证书验证。
  • 基于凭据的EAP方法(如PEAP-MSCHAPv2或EAP/TTLS-PAP)存在漏洞,建议切换到基于证书的EAP-TLS——像微软这样的行业巨头也推荐使用证书。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(论文阅读)TiDB:一款基于Raft的HTAP数据库

引言 混合事务分析处理(HTAP)数据库要求隔离处理事务查询和分析查询,以消除它们之间的干扰。要实现这一点,有必要维护为这两种查询类型指定的数据的不同副本。然而,为存储系统中的分布式副本提供一致的视图是一项挑战…

滚雪球学Java(09-3):Java中的逻辑运算符,你真的掌握了吗?

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

7.docker运行redis容器

1.准备redis的配置文件 从上一篇运行MySQL容器我们知道,需要给容器挂载数据卷,来持久化数据和配置,相应的redis也不例外。这里我们以redis6.0.8为例来实际说明下。 1.1 查找redis的配置文件redis.conf 下面这个网址有各种版本的配置文件供…

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上,并且使用的Gradle JDK是:Android Studio java home版本17.0.1将其更改为:Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3

基于STC12C5A60S2系列1T 8051单片的IIC总线器件模数芯片PCF8591实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的IIC总线器件模数芯片PCF8591实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍IIC总线器件模数芯片PCF8591介绍通过I…

RT-Thread STM32F407 PWM

为了展示PWM效果,这里用ADC来采集PWM输出通道的电平变化 第一步,进入RT-Thread Settings配置PWM驱动 第二步,进入board.h,打开PWM宏 第三步,进入STM32CubeMX,配置时钟及PWM 第四步,回到R…

免费开源的区域屏幕录制(gif转换)工具(支持编辑功能)

软件优点:区域截屏,直接转换为gif即刻分享,免费开源,支持编辑功能 它可以让你轻松地录制屏幕,摄像头或画板的动画,并编辑、保存为 GIF,视频或其他格式。 下载并安装 ScreenToGif 首先&#xf…

CentOS挂载:解锁文件系统的力量

目录 引言1 挂载简介2 挂载本地分区3 挂载网络共享文件系统4 使用CIFS挂载结论 引言 在CentOS(一种基于Linux的操作系统)上挂载文件系统是一项常见而重要的任务,无论是将新的磁盘驱动器添加到系统,还是挂载网络共享资源&#xff…

C#检查服务状态,以及进行服务启停

1. linux环境 linux环境通过执行bash命令直接执行: public string RunCmdLinux(string cmd){var proc new Process();System.Console.Write($"Run Linux cmd > [{cmd}] START!");proc.StartInfo.CreateNoWindow true;proc.StartInfo.FileName &…

【如何学习Python自动化测试】—— 自动化测试环境搭建

1、 自动化测试环境搭建 1.1 为什么选择 Python 什么是python,引用python官方的说法就是“一种解释型的、面向对象、带有励志语义的高级程序设计语言”,对于很多测试人员来说,这段话包含了很多术语,而测试人员大多是希望利用编程…

机器学习:十大算法快速回顾

一、说明 对于机器学习的是个经典算法,本篇将展示一个回顾,注意,本篇不是具体原理信息介绍,没有代码,但是对于初学者是一个有益的导读。 二. 线性回归 2.1 算法描述 有没有想过数据奇才如何预测未来?输入线…

【spring】ApplicationContext的实现

目录 一、ClassPathXmlApplicationContext1.1 说明1.2 代码示例1.3 截图示例 二、FileSystemXmlApplicationContext2.1 说明2.2 代码示例2.3 加载xml的bean定义示例 三、AnnotationConfigApplicationContext3.1 说明3.2 代码示例3.3 截图示例 四、AnnotationConfigServletWebSe…

40 _ 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

淘宝的“双十一”购物节有各种促销活动,比如“满200元减50元”。假设你女朋友的购物车中有n个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200元),这样就可以极大限度地“薅羊毛”。作为程序员的你…

【汇编】栈及栈操作的实现

文章目录 前言一、栈是什么?二、栈的特点三、栈操作四、8086cpu操作栈4.1 汇编指令4.2 汇编代码讲解问题:回答: 4.3 栈的操作4.3 push 指令和pop指令的执行过程执行入栈(push)时,栈顶超出栈空间执行出栈(pop)时,栈顶超…

Bert浅谈

优点 首先,bert的创新点在于利用了双向transformer,这就跟openai的gpt有区别,gpt是采用单向的transformer,而作者认为双向transformer更能够融合上下文的信息。这里双向和单向的区别在于,单向只跟当前位置之前的tocke…

【小收获】数组在声明时整体赋值的细节

在C中,在全局区声明的数组会自动初始化 如果没有为全局区的整数类型的数组指定初始值,那么它的元素都会被自动初始化为0。该特性适用于所有整数类型的数组,包括char、short、int、long等。(注:char类型数组自动初始化为0&#xff…

CCF ChinaSoft 2023 论坛巡礼 | CCF-华为胡杨林基金-软件工程专项(海报)论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

MySQL数据库——存储过程-游标(介绍-声明游标、打开游标、获取游标记录、关闭游标,案例)

目录 介绍 声明游标 打开游标 获取游标记录 关闭游标 案例 介绍 游标(CURSOR)是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用游标对结果集进行循环的处理。 游标的使用包括游标的声明、OPEN、FETCH 和 CLOSE,其语法…

机器学习第8天:线性SVM分类

文章目录 介绍 特征缩放 示例代码 硬间隔与软间隔分类 主要代码 代码解释 结语 介绍 作用:判别种类 原理:找出一个决策边界,判断数据所处区域来识别种类 简单介绍一下SVM分类的思想,我们看下面这张图,两种分类都…

第六十二周周报

学习目标: 一、实验 二、论文 学习时间: 2023.11.11-2023.11.17 学习产出: 实验 1、CB模块实验效果出来了,加上去效果不太行,后续实验考虑是否将CB模块换到其他地方 2、CiFAR100实验已完成,效果比Vi…