一文读懂802.1x协议,随便秒杀面试官

简介: 协议简介802.1x协议是一种基于C/S结构的访问「控制协议」,工作在数据链路层,也就是二层协议。

协议简介

802.1x协议是一种基于C/S结构的访问「控制协议」,工作在数据链路层,也就是二层协议。


「C/S结构」:server/client的简称,分为服务器和客户机两层结构,其中服务器负责数据的管理,客户机负责用户的交互

「访问控制」:一种控制访问权限的技术,规定谁可以访问谁,谁不可以访问谁

「协议」:网络协议的简称,本质上是一系列的规则,比如两个电脑之间怎么建立连接,怎么互相识别,都需要遵守一定的规则。由于网络环境相当负责,故而将整个网络分为七个部分,也就是我们常说的0SI七层模型,每一层都有对应的协议,某一层的协议发生改变时,不会影响其他层的协议

802.1x协议作用

限制未经「授权」的用户/设备通过接入端口访问LAN/WLAN,以确保网络的安全


「端口」:设备与外界通信的出口,分为虚拟端口和物理端口,虚拟端口指不可见端口,如计算机的21,23,80端口;物理端口又称为接口,是可见端口,比如电脑/电话的网线接口

「LAN」:局域网,也就是通过网线将计算机连接起来,构成一个局部的网络范围,范围内的计算机可以互相通信

「WLAN」:Wireless Local Area Network的简称,也就是无线局域网,使用无线通信技术而不是网线将计算机互联起来

逻辑端口

IEEE 802.1Xx协议将端口分为「可控端口」和「不可控端口」,交换机利用不可控端口完成对用户的认证和控制,业务报文通过可控端口进行交换,以此来实现业务与认证的分离


802.1x协议认证原理

用户输入用户名和密码,发起连接请求,客户端程序发送请求认证的报文给交换机,开启认证

交换机收到请求认证的数据帧以后,将发出一个请求帧要求客户端发送用户输入的用户名

客户端程序响应交换机的请求,发送一个包含用户名的数据帧给交换机,交换机将收到数据帧后将其封包并发送给认证服务器进行处理

认证服务器收到交换机发送的用户名后,查询数据库进行匹配,匹配成功后找到用户名对应的密码,用随机生成的加密字将其加密后,将加密字发送给交换机,交换机再将加密字传送给客户端程序

客户端程序使用收到的加密字对用户输入的密码进行加密,并将加密后的密码发送给交换机,由交换机发送给认证服务器

认证服务器将收到的密码进行对比,如果相同则为授权用户,返回认证通过的信息,并向交换机发出打开端口的指令,允许用户通过端口访问网络;否则就是未授权用户,只允许认证信息数据通过而不允许业务数据通过

总结

「未知攻,焉知收」,想要做好网络安全就必须学会最顶尖的攻击手段,了解攻击过程才能更好的进行防御。对于刚入门网络安全的小白可以选择一本热度较高的视频和书籍作为启蒙,当你完整的看完一套视频或一本书之后就知道自己后面应该学习哪些东西了。当然如果你是选择困难症的话,可以分享给你一本我最喜欢的书籍,有条件的同学可以去链接https://item.jd.com/12051029.htmlhttp://product.dangdang.com/24215915.html 购买


喜欢一个东西首先要先学会「尊重」,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着「举世皆浊我独清,众人皆醉我独醒」的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全


相关文章
|
3月前
|
JSON 前端开发 JavaScript
【面试题】 面试官:你如何实现大文件上传
【面试题】 面试官:你如何实现大文件上传
|
8月前
|
安全 网络协议 物联网
不看后悔系列之一篇搞懂LinuxCentOS搭建MQTT服务器及客户端操作使用
linux CentOS上搭建MQTT服务器并不难,主要就是用到了mosquitto这款消息代理服务软件。其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中。
1401 0
|
7月前
|
Python
我这样回答多线程并发,面试官非要跟我做朋友!
我这样回答多线程并发,面试官非要跟我做朋友!
93 0
|
3月前
|
移动开发 前端开发 JavaScript
【面试题】 面试官为啥总是喜欢问前端路由实现方式?
【面试题】 面试官为啥总是喜欢问前端路由实现方式?
|
3月前
|
移动开发 前端开发 JavaScript
面试官为啥总是喜欢问前端路由实现方式?
面试官为啥总是喜欢问前端路由实现方式?
|
11月前
|
存储 小程序 容器
想做个答题类的微信小游戏?读这篇文章就够了
本文重要内容包含答题类小游戏的制作原理和制作方法,在掌握实现原理和方法后,你也能够根据自己的需要,制作自己的答题类小游戏。 如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
148 0
|
算法 NoSQL API
到底该不该看源码(懂这三点儿就够了)
1、不要为了看源码而看源码 2、代码积累到一定程度,遇到问题自然就去查源码了,然后你就看懂了 3、两年内不要刻意去看源码,可以点开简单了解一下就行,前两年疯狂做项目就行了,后期项目做的多了,你自己就会有疑问,每次写代码就会问自己为什么要这样写?底层的原理是什么?很自觉的带着问题就去看源码了,如果你没有这样的疑问,那说明你也不适合去看源码了,写写业务代码,了了一生
148 0
|
消息中间件 存储 前端开发
面试官让我手写队列,差点没写出来,回来后赶忙把重点记下来
栈和队列是一对好兄弟,前面我们介绍过一篇栈的文章(栈,不就后进先出),栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出入口,只能后进先出(在外面的先出去,堵在里面先进去的就有点倒霉)。而队列就好比是一个隧道,后面的人跟着前面走,前面人先出去(先入先出)。日常的排队就是队列运转形式的一个描述!
88 0
面试官让我手写队列,差点没写出来,回来后赶忙把重点记下来
|
存储 算法 安全
看完这篇 HTTPS,和面试官扯皮就没问题了(下)
下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?
174 0
看完这篇 HTTPS,和面试官扯皮就没问题了(下)
|
安全 算法 网络协议
看完这篇 HTTPS,和面试官扯皮就没问题了(上)
下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?
125 0
看完这篇 HTTPS,和面试官扯皮就没问题了(上)