cs架构

osi七层

理解网络通信的原理

两个教室的电脑的软件要沟通的流程

通过ip与端口可以定位到目标位置指定机器的一个具体的应用程序

ip与网卡绑定在一起

有ip可对应上mac信息最终可实现一台电脑的定位

了解socket 所在的位置

》socket是什么

》套接字的发展史与分类


套接字的工作流程

》服务端的模拟 tcp


图中漏了一个conn断开

》完整的tcp客户端,服务端流程

》服务端代码

》客户端代码

》服务端可能出现的问题

当服务端关闭后马上又重开,可能出现这个问题

linux系统下,会有的

原因是

套接字关闭后,会有一段时间,套接字完成断开的操作,有一小段时间的延迟

这段时间的延迟,是tcp套接字在做四次挥手

三次握手,与四次挥手

》了解syn洪水攻击

TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

》解决办法

通过半链接池

这个好比等候区(银行取钱,都围在窗口,服务会崩)

python-socket介绍相关推荐

  1. python socket介绍

    1.windows和Linux查看网卡信息 Linux打开终端输入 ifconfig windows中cmd输入 ipconfig 2.IP地址版本:IPv4(地址位数为32位).IPv6(地址位数为 ...

  2. php socket 握手,python Socket之客户端和服务端握手详细介绍

    这篇文章主要为大家详细介绍了python Socket之客户端和服务端握手,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据 1 ...

  3. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  4. python socket编程_Python Socket编程实现网络编程

    对于有经验的开发人员来说,掌握的编程语言应该是不少的.在这些编程语言中,网络编程的应用时必不可少的.其中Python也是这样的编程语言.我们今天将会在这里为大家详细介绍一下Python Socket编 ...

  5. 网络编程 socket介绍

    Socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对 ...

  6. Python Twisted 介绍

    Python Twisted介绍:http://blog.csdn.net/hanhuili/article/details/9389433 原文链接:http://www.aosabook.org/ ...

  7. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Socke ...

  8. python网络编程讲解_详解Python Socket网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

  9. Python Socket网络编程(二)局域网内和局域网与广域网的持续通信

    目录 前言 IP地址 简介 公有IP 私有IP 局域网之间网络通信 前提 功能描述 源码 运行结果 局域网与广域网网络通信 前提 源码 结语 前言 本系列博客是笔者学习Python Socket的过程 ...

  10. Python Socket 网络通信详解

    Python 模块 Socket 网络通信 文章目录 Python 模块 Socket 网络通信 1. socket介绍 2. Socket 类型 3. Socket 函数 3.1 服务器端 Sock ...

最新文章

  1. Linux-6.5下 MariaDB-10基于percona-XtraBackup备份工具的原理及配置详解
  2. SAP内部订单使用实例
  3. SQL基础---SQL ORDER BY 子句
  4. python控制autocad_利用python控制Autocad:pyautocad方式
  5. Docker/Docker 起步123
  6. P4245 【模板】任意模数多项式乘法(NTT)
  7. _编程语言_C++_Lambda函数与表达式
  8. 是先设计mysql表再进行php代码_PHP与RBAC设计思路,数据表设计与源码讲解
  9. VxWorks下几种定时延时方法的小结
  10. laravel关于路径的函数
  11. 拓步机器人联网说明书_科沃斯IPO聚焦三大战略 谋划转型互联网生态企业
  12. Android基础知识、四大组件(转)
  13. 【qt+opencv】实现人脸识别打卡系统2.0
  14. word论文页码从任意页开始编号
  15. python extractor_Python extractor
  16. 用友u8 如何配置文件服务器,用友u8服务器软件配置
  17. 算法实现: 在二叉树中找到两个节点的最近公共祖先
  18. 全网最全软件测试面试题,拿不到offer算我输!
  19. Spring源码分析之推断构造方法(一)
  20. 李宏毅2022机器学习HW2解析

热门文章

  1. vue“路由懒加载” 技术,让网页快速加载 (优化篇)
  2. 本地如何安装运行多个vue.js项目?
  3. 天人短文网站系统v5.53源码
  4. 考拉RPC(koalas-rpc v1.0)源码
  5. 苏州大学计算机组成与结构,苏州大学计算机组成结构期末.docx
  6. 所有主流浏览器都支持HTML的视频格式5,所有主流浏览器都支持HTML 5吗?
  7. ios 裁剪圆形头像_IOS_iOS如何裁剪圆形头像,本文实例为大家介绍了iOS裁剪 - phpStudy...
  8. python做词云做文本处理_Python生成词云的制作
  9. pythonapp自动化_GitHub - qdyxmas/PyAutoTest: python Autotest UI自动化 APP自动化 HTTP接口自动化...
  10. Vue 实现图片在循环中 默认 和 选中 之间的点击切换