- 博客(8)
- 资源 (7)
- 收藏
- 关注
转载 syn flood 原理及防护
一、为什么Syn Flood会造成危害 这要从操作系统的TCP/IP协议栈的实现说起。当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的Syn报文,一旦接收到Client发来的Syn报文,就需要为该请求分配一个TCB(Transmission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一
2014-02-23 21:09:33 1531
转载 为什么TCP连接需要三次握手分开需要四次握手?
TCP的三次握手和四次断开 TCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建 立连接,数据传输和终止连接3个过程,TCP建立连接的过程称为三次握手,下面看一下三次握手的具本过程 TCP三次握手过程 1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段, 主机A告诉主机B 两件事
2014-02-23 16:54:21 22453 1
转载 一个写优先的读写锁实现
/* g++ -Wall -o rwlock rwlock.cpp -lpthread * * 一个写优先读写锁的实现,多线程频繁读,多线程少量写,同时写优先,性能极佳。 * 当写锁(独占锁)lock成功的必要条件是: * 1. 将写锁计数++; * 2. 会阻塞后续对读锁(共享锁)的读; * 3. 等待读锁的计数为0; * 4. 等待写锁的计数为1; * */ #includ
2014-02-23 16:28:55 1427
转载 Linux下的I/O
Linux的I/O机制经历了一下几个阶段的演进: (1)同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。 (2)同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。 (3)异步阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数
2014-02-21 16:50:18 781
转载 设计模式- 主动对象(Active Object)
译者注: 1. 对象分为主动对象和被动对象,主动对象内部包含一个线程,可以自动完成动作或改变状态,而一般的被动对象只能通过被其他对象调用才有所作为。在多线程程序中,经常把一个线程封装到主动对象里面。 2. 在翻译过程中,发现的原文不妥处被更正。 3. 原文中许多内容一再重复,颇有蛇足之感,取精用宏,删繁就简。 4. 尝试更高程度的意译。 关键词 这个文章
2014-02-18 19:06:12 1484 1
转载 CGI的一些知识点
CGI(Common Gateway Interface)是能让web服务器和CGI脚本共同处理客户的请求的协议。它的协议定义文档是http://www.ietf.org/rfc/rfc3875。 其中Web服务器负责管理连接,数据传输,网络交互等。至于CGI脚本就负责管理具体的业务逻辑。 Web服务器的功能是将客户端请求(HTTP Request)转换成CGI脚本请求,然后执行脚本,
2014-02-17 18:58:11 865
原创 网络编程中的reactor与proactor
首先,他们都解决了等待多个事件发生的问题,对多个事件源进行了多路分解。 效率上面:reactor在缓冲区与内核的拷贝上面比proactor多了好几次,reactor在事件发生的时候是串行执行的,而proactor支持异步操作。 引用别人的一个说法:reactor完成的时候只是告诉你有可读或者可写等消息,proactor已经帮你读到你要的缓冲区里面了。 reactor比
2014-02-13 20:12:00 1008
转载 使用异步过程调用(APC)实现模块注入
摘自:windows编程循序渐进 异步过程调用是一种能在特定线程环境中异步执行的系统机制。往线程APC队列添加APC,系统会产生一个软中断。在线程下一次被调度的时候,就会执行APC函数,APC有两种形式,由系统产生的APC称为内核模式APC,由应用程序产生的APC被称为用户模式APC。 每个线程都拥有自己的APC队列。应用程序可以使用函数把APC添加到指
2014-02-13 19:40:07 788
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人