web服务器在处理请求的时候会涉及三个层次,第一个层析是tcp连接的层次,第二个层次是http请求的层次,第三个层次是业务处理的层次,每个层次都可能存在dos***,所要作的预防措施就是每个更低的层次未决之前不为其分配上层资源,具体来说就是,tcp三次握手没有完成就不为之分配连接所需的内存资源,这个通过syn cookie可以完成,syn cookie的linux实现中顺便携带了一个时间参数可以很好的处理超时,三次握手虽然完成了,但是http请求没有发到之前不为之指派处理进程,从完成三次握手到收到http请求,也需要一个时间限制,时间到连接断开,这个可以通过TCP_DEFER_ACCEPT来实现,同样的道理,虽然收到了http请求,不能确定业务之前也不要为之指派业务处理器...这样就可以避免很多的dos***。 不光是web处理器需要这样配置,任何的网络服务都可以类似的分成若干层次,下层帮忙在有限的时间内得到上层的逻辑头之后再将请求往上层递交,限制时间到了的话本次请求直接丢弃。这个思想虽然违背一些分层原则,在层级之间插入了一把钩子,然而却可以避免很多的基于连接的***--上层的半连接***对于下层就是全连接***。要知道,***者是不会遵循什么原则的,因此也别指望他们完全遵循分层原则。

转载于:https://blog.51cto.com/dog250/1271182

网络服务器预防dos***的层次相关推荐

  1. Linux下各类TCP网络服务器的实现源代码

    http://www.linuxeden.com/forum/t146870.html 大家都知道各类网络服务器程序的编写步骤,并且都知道网络服务器就两大类:循环服务和并发服务.这里附上源代码来个小结 ...

  2. 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)

    无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...

  3. 搭建网络及服务器系统,网络服务器搭建与管理

    网络服务器搭建与管理 内容精选 换一换 SAP生产环境安全解决方案如图1 生产环境安全解决方案全景图所示.根据业务特点,参考企业安全实践,建议将云上系统(生产环境.开发测试环境)划分为不同安全级别的多 ...

  4. 几种经典的网络服务器架构模型的分析与比较

    前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用:事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序.ft ...

  5. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三)

    2019独角兽企业重金招聘Python工程师标准>>> 从Jetty.Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三) 博客分类: java 最后我们再看看NIO方面 ...

  6. linux 系统网络服务器组建,配置和管理实训教程 pdf,Linux网络服务器配置管理项目实训教程2...

    Linux网络服务器配置管理项目实训教程2 附录2 Linux常用命令 在文本模式和终端模式下,经常使用Linux命令来查看系统的状态和监视系统的操作,如对文件和目录进行浏览.操作等.在Linux较早 ...

  7. 高性能服务器设计——常用网络服务器设计模型(转载)

    文章来源:http://blog.csdn.net/jiang1013nan/article/details/17471341 在业务服务开发过程中,一个优秀的开发框架,往往能够起到事半功倍的效果.现 ...

  8. 网络服务器开发总结(转:http://my.oschina.net/u/181613/blog/596022)

    一.概述 经过多年网络服务器开发实战,于此总结实践体会.本文涉及到异步连接.异步域名解析.热更新.过载保护.网络模型与架构及协程等,但不会涉及accept4.epoll等基本知识点. 二.可写事件 相 ...

  9. micropython做中继_MicroPython网络服务器使用ESP32/ESP8266远程控制家用交流电器

    背景知识视频教程 将继电器与ESP32或ESP8266配合使用是一种远程控制AC家用电器的好方法.本教程介绍了如何使用MicroPython固件通过ESP32或ESP8266控制继电器模块. 我们将研 ...

最新文章

  1. IPython 更改默认字体大小
  2. 数据意识上的“代沟”
  3. Image Captioning概述
  4. python中list,tuple,str相互转换
  5. ftp列表错误,flashfxp列表错误,ftp无法列目录的解决方法
  6. ORACLE数据库恢复
  7. rtt面向对象oopc——5.IO设备管理之快速查看设备父类调用设备子类的方法
  8. 面试官: Flink双流JOIN了解吗? 简单说说其实现原理
  9. java中的事件派发机制_事件派发器模式
  10. 针对PostgreSQL的Linux下XFS文件系统优化。
  11. 【codevs2333】【BZOJ2002】弹飞绵羊[HNOI2010](分块)
  12. 今天分享的案例是关于某电商店铺的年终销售业绩
  13. java入门必备基础知识(超超超详细讲解)
  14. JAVA代码Review
  15. 计算机的存储容量1kb表示什么,计算机的存储容量常用KB为单位,这里1KB表示什么?...
  16. c盘压缩卷压缩不了怎么办 c盘压缩卷只能压缩一半的解决方法
  17. ARM CORTEX-M3 内核架构理解归纳
  18. 什么是dB、dBm、dBc?
  19. 机器学习中SVM的损失函数,向量积
  20. linux安装后连接不上网络

热门文章

  1. 为了你,我一定要写诗
  2. java连接mysql 不推荐_java连接mysql
  3. ubuntu开启客户端nfs服务_linux系统文件服务
  4. 基于SpringJDBC 实现关键功能-QueryRuleSqlBulider
  5. Controller 如果能保持单例,尽量使用单例
  6. 字符串中的编码解码问题
  7. 反射获取构造方法并运行的快速的方式
  8. GraphQL入门之GraphQL查询的规范
  9. Servlet_生命周期方法
  10. System类的常用方法