zoukankan      html  css  js  c++  java
  • Python---------网络编程1

    1. C/S B/S架构**

      C: client端,客户端

      B: Browser,浏览器

      S: server 服务端

      C/S 客户端与服务器之间的架构: QQ,微信,游戏,App的都属于C/S架构.

      ​ 优点: 安全性高,个性化设置,功能全面.响应速度快.

      ​ 缺点: 开发成本高,维护成本高.(基于App),面向的客户固定.

      B/S 浏览器与服务器之间的架构:它属于C/S架构,最近几年比较流行的特殊的C/S架构.

      ​ 优点: 开发维护成本低,,面向用户广泛.

      ​ 缺点: 安全性相对低,响应速度相对慢,个性化的设置单一.

    2. 互联网通信的原理

      打电话示例:

      穿越时空: 80年代初期,固定电话,座机.

      1. 一堆物理连接介质将两个部电话连接起来.
      2. 拨号.
      3. 交流.

      那时候没有普通话,河南,山西,广西,广东,福建等等.....

      推广了普通话.

      与国外一些国家去交流,统一英语.

      互联网通信:

      1. 一堆物理连接介质将两个部电话连接起来.

      2. 拨号.

      3. 统一的通信标准. 一揽子协议,

        这些互联网协议: 就是一个一个标准,最终就可以通信.

    3. osi 七层协议(五层协议)

      1. 物理层:

        一系列的物理连接介质: 网线,光纤,电缆等等等.

        发送的数据就是010101010110比特数据流,这些数据连续不断地收发,010110,拿到010101没有用,你不知道数据代表的意义, 数据要进行分组(按照一定规则), 数据分组这件事物理层做不了.

      2. 数据链路层: 以太网协议

        是按照一定的协议对比特流数据进行分组.

        以太网协议.:就是对数据进行分组.

        写信: 数据交流. 收件人地址, 发件人的地址.信件类型(加急,普通,工作上信封等等.....).

        以太网协议:

        • 一组电信号构成一个数据报,叫做‘帧’

        • 每一数据帧分成:报头head和数据data两部分

          数据头(head) | data数据

          数据头: 固定长度18个字节.

          ​ 源地址,目的地址,数据类型.

          data数据: 46字节 <= data <=1500字节

          1. 问题一: 为什么数据头要固定?

            固定就是一个标准,统一,为了提取源地址以及目标地址.

          2. 问题2: 以太网协议中源目标地址如何设置唯一?

            网线直接接触的硬件就是网卡.网卡上有一个地址,mac地址,确定计算机的唯一性的物理地址.

            网卡上: 12位 16进制组成的一串数字: 前六位 厂商编号: 后六位:流水线号.

        只做好了信件: head(源地址,目标地址,数据类型) | data(今晚你请我吃饭)

        广播: 计算机最原始的通信方式就是吼.

        数据的分组(源地址目标地址) + 广播: 理论上我的计算机就可以通信了.效率太低,每台计算机都需要接收广播的消息,查看是否是给自己的数据.比广播风暴还要严重.

        所以: 广播它是有范围的,在同一子网,局域网内是通过广播的方式,发消息.

      3. 网络层: IP协议:确定对方的局域网的位置.

        广播,mac地址,+ ip == 可以找到世界上任意一台计算机.

        计算机的通信: 计算机的软件与服务器的软件进行的通信.

      4. 传输层: 端口协议.

        广播,mac地址,+ ip + 端口 == 可以找到世界上任意一台计算机对应的软件.

      5. 应用层: 软件自己定义的协议.

        qq : 发送数据; '今晚请我吃饭...' ---> {id: '念', 'content': '今晚请我吃饭...'}

        将数据按照自己定义的协议进行分装, http FTP协议.

      五层协议重新梳理:

      ​ 服务器: 大黑盒子, 机房声音很大,对温度,湿度,等环境都有要求,双电源,双网卡,系统linux.

      详细解释中间环节一些特殊的功能:

      数据经过以太网协议封装后,先要从局域网内进行吼.每次发消息,每次都要吼,这样效率也是很低的.(数据给交换机,交换机在分发出去.)

      交换机的自主学习功能:

      广播: 吼.

      单播: 单线直接联系.

      物理层---> 数据链路层(以太网协议(mac地址)) ---->网络层(IP协议) ----> 传输层(端口协议(TCP,UDP协议)) ---> 应用层:

      mac地址 + 广播形式 + ip地址 + 端口 == 锁定全世界范围内的任意一个计算机的某软件的位置.

      ip地址 + 端口 == 锁定全世界范围内的任意一个计算机的某软件的位置.

      传输层: 端口协议.

      TCP协议,UDP协议.

      端口: 0~65535端口号.

      ​ 1~1023系统占用的端口号.

      ​ 1024~8000之内:一般的是有软件占用.

    4. TCP的三次握手四次挥手

      客户端 与 服务端第一次建立通信联系 需要三次''握手''.

      1563181738224

      建立的链接不能一直连接着.

      TCP协议: 好人协议,不会拒绝别人.

      syn洪水攻击: 黑客会虚拟很多的假IP,然后访问你的服务器,半连接池,缓冲效果.

      四次挥手:

      1563182078923

    5. udp与tcp

      tcp协议:

      ​ 优点:好人协议,流式协议.稳定,安全,

      ​ 缺点: 效率低,

      使用TCP的应用:Web浏览器;文件传输程序。

      udp协议:

      ​ 优点: 效率高,传输快.

      ​ 缺点: 不安全,不是面向连接的,不可靠

      使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP),微信qq。

  • 相关阅读:
    前端基础(2)CSS
    前端基础(1)、HTML
    MySQL数据库,这一篇就够啦!!!(持续更新)
    十、数据库之流程控制
    九、数据库之存储过程和函数
    spring注解总结
    eclipse导入项目后错误的处理方式
    ssm分页查询错误
    字节编址和字的区别(转)
    数据库查询练习
  • 原文地址:https://www.cnblogs.com/hql1117/p/11190107.html
Copyright © 2011-2022 走看看