Sync Flood与三次握手

1. Sync Flood

是一种拒绝服务攻击,原理是利用三次握手的过程进行攻击。正常三次握手的时候,服务器返回SYNC+ACK给客户端时需要有个半连接队列。攻击者伪造大量不同源的TCP SYNC包即可让半连接队列填满导致DOS。

2 . 解决方案SYNC Cookie

原理:第三次握手的时候不存放半连接队列。根据收到的信息结合IP、端口等包信息利用MAC函数和SHA1计算出一个SYNC cookie发送给客户端。最后收到ack的时候在校验cookie即可。

总体思路就是知道一个防伪造的cookie

具体算法流程可以参考下别人的文章:SYN Cookie的原理和实......

CPU的三种架构

1. SMP

SMP (Symmetric Multiprocessing) , 对称多处理器。

优点:适用于小于等于4个CPU的架构,共享CPU、内存和IO

缺点: 横向扩展差,CPU一多总线成为瓶颈

通过以下命令发现只有一个Node则说明为SMP:

ls /sys/devices/system/node/

2. MPP

MPP (Massive Parallel......

slab机制与伙伴算法

1. 伙伴系统(伙伴算法)

1.1 概览

伙伴系统(buddy system)或者称伙伴算法主要应用在操作系统的内存分配中。在操作系统课程中也是必提的概念。

该算法主要好处是:

搜索分配内存块较为快速,O(logN)时间复杂度

外部碎片概率较低: 按2的幂划分,可以理解为一种分层次的Best fit

1.2 分配和释放内存过程

维基百科有个例子可以参考:https://en.wikipedia.org/wiki/Buddy_memory_allocation

总体思想就是:分配内存的时候按照基本内存块大小,按照2的幂来分裂,直到best fit满足; 释放内......