SYN flood 或称 SYN 洪水、SYN 洪泛,是一种拒绝服务攻击,起因于攻击者发送一系列的 SYN 请求到目标系统。 —— 维基百科
为了能够编译运行 《UNIX 网络编程》(UNPv1)上的示例代码,需要编译 libunp.a
库文件,然后才可以正常编译书中的代码。
关于如何编译《UNIX 环境高级编程》(APUE)的示例代码,可以参照这里。
TCP 为一个连接定义了 11 种状态,并且规定了如何基于当前的状态及在该状态下接收的分节从一个状态转换到另一个状态。
TCP 协议提供了可靠的传输,但是网络是不可靠的,TCP 也无法保证数据一定会被对方接收,这是不可能做到的。TCP 实际提供的是数据的可靠递送或故障的可靠通知。
建立一个 TCP 连接需要进行三次握手,而终止一个 TCP 连接需要进行四次挥手。这篇博客就介绍一下关于 TCP 的三次握手与四次挥手与其他一些信息吧。
在学习的过程中, 总是要阅读很多别人的代码的. 很多优秀的开源代码能够让我们受益匪浅, 也有一些代码, 看了之后只会让我们感觉浪费了时间……
Webbench是Radim Kolar在1997年写的一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server,分析这个项目可以帮助我们理解服务器软件的本质。