new/delete和malloc/free的 区别:
new/delete | malloc/free |
自由存储区 | 堆 |
类对象 | |
构造/析构 +分配/释放内存 | 只有分配/释放内存 |
效率高 | |
关键字,需编译器支持 | 库函数,需头文件 |
无须指定大小 | 显式 |
返回void* | |
可重载 | |
失败抛异常 | 返回NULL |
数据结构:
特点 | 适合 | 不适合 | ||
array数组 | 连续地址 | 已知数据类型、数量 | 大量查、改 | 大量交换、删除、增加 |
queue队列 | 先进先出 | 动态调整大小 | 大量增、删 | 大量查找 |
stack栈 | 先进后出 | 连续、or链式 | 图的遍历、递归的改写 | |
list链表 | 动态调整大小 | 大量增、删 | 大量查找 | |
map | ||||
set集合 | 按需排列不重复 | |||
vector向量 | 自动调整大小 |
红黑树:https://v.youku.com/v_show/id_XMTI5NDI3MjQ3Mg==.html
根节点必须是黑的
红点下必须是黑
根到节点的路径,必须包含相同数量的黑点
修正:
改变节点颜色
旋转
路由就是指导IP数据包发送的路径信息。路由协议就是在路由指导IP数据包发送过程中事先约定好的规定和标准。
整个802.1X的认证过程可以描述如下
(1) 客户端向接入设备发送一个EAPoL-Start报文,开始802.1X认证接入;
(2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;
(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;
(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;
(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给接入设备,其中包含有EAP-Request/MD5-Challenge;
(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证
(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备
(8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证
(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;
(10) 如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;
(11) 如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;
(12)RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕