- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 深入浅出TCP中的SYN-Cookies
本文渐进地介绍TCP中的syn-cookie技术,包括其由来、原理、实例测试。SYN Flood 攻击TCP连接建立时,客户端通过发送SYN报文发起向处于监听状态的服务器发起连接,服务器为该连接分配一定的资源,并发送SYN+ACK报文。对服务器来说,此时该连接的状态称为半连接(Half-Open),而当其之后收到客户端回复的ACK报文后,连接才算建立完成。在这个过程中,如果服务器一直没有...
2019-05-26 10:54:16 3758
原创 神奇的backlog参数对TCP连接建立的影响
曾经有人问我套接字编程中listen的第二个参数backlog是什么意思?多大的值合适?我不假思索地回答它表示服务器可以接受的并发请求的最大值。然而事实真的是这样的吗?TCP通过三次握手建立连接的过程应该都不陌生了。从服务器的角度看,它分为以下几步将TCP状态设置为LISTEN状态,开启监听客户端的连接请求收到客户端发送的SYN报文后,TCP状态切换为SYN RECEIVED,并发送...
2019-05-26 10:49:17 977
原创 packetdrill:测试TCP协议栈行为的利器
`packetdrill`是一个非常有用的用于测试网络协议栈的工具,由`Google`开发,它常用于对网络协议栈进行回归测试,确保新的功能不会影响原有功能。本文主要介绍其基本原理、安装、入门、测试脚本的编写方法。
2019-05-26 10:45:34 1042
原创 TCP拥塞控制基础
TCP要点有四,一曰有连接,二曰可靠传输,三曰数据按照到达,四曰端到端流量控制。注意,TCP被设计时只保证这四点,此时它虽然也有些问题,然而很简单,然而更大的问题很快呈现出来,使之不得不考虑和IP网络相关的东西,比如公平性,效率,因此增加了拥塞控制,这样TCP就成了现在这个样子。为什么要进行拥塞控制要回答这个问题,首先必须知道什么时候TCP会出现拥塞。TCP作为一个端到端的传输层协议,它并...
2019-05-26 10:42:55 324
原创 mTCP:一款面向多核系统的用户态网络协议栈
mTCP 是一款面向多核系统的用户态网络协议栈内核态协议栈的缺陷互联网的发展,使得用户对网络应用的性能需求越来越高。人们不断挖掘CPU处理能力加强,添加核的数量,但这并没有使得网络设备的吞吐率线性增加,其中一个原因是内核协议栈成为了限制网络性能提升的瓶颈。互斥上锁引起的开销互斥上锁是多核平台性能的第一杀手。现在的服务器端应用为了尽可能的实现高并发,通常都是采用多线程的方式监听客户端对服...
2019-05-26 10:35:10 1656 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人