zoukankan      html  css  js  c++  java
  • 浅谈osi模型 三次握手 四次挥手 ddos攻击原理

    C/S B/S 架构

    C:client 端

    B:browser 浏览器

    S:server 端

    C/S架构,基于客户端与服务端之间的通信

    • 例如:QQ,抖音,快手,微信,支付宝等等
    • 优点:个性化设置,响应速度快
    • 缺点:开发维护成本高,占用空间,用户固定

    B/S架构:基于浏览器与服务端之间的通信

    • 谷歌浏览器,火狐浏览器
    • 优点:开发维护成本低,占用空间相对低,用户不固定
    • 缺点:功能单一,没有个性化设置,响应速度相对慢一些

    网络通信原理

    • 两台计算机要有一堆物理连接介质连接
    • 找到对方计算机软件位置
    • 遵循一揽子互联网通信协议

    osi七层协议

    • 物理层

      • 物理层指的就是网线,光纤,双胶线等等物理连接介质
      • 物理层发送的是比特流,只发送比特流会有什么问题?
      • 不知道多长为一组,多长为一个字节,头是哪个?尾在哪儿?
      • 引出数据应该有规律分组的问题,分组是数据链路层做的事情
    • 数据链路层

      • 数据链路层对比特流进行分组
      • 刚开始从事互联网企业的就是美国的几家公司,各家有各家自定的分组标准。后来统一了标准,对数据分组的标准
      • 以太网协议:对比特流进行合理的分组。
      • 一组数据01010010叫做一帧,数据报。
        • head|data("aaa")
        • head 是固定的长度:18个字节
          • 源地址:6个字节
          • 目标地址:6个字节
          • 数据类型:6个字节
        • data:最少46个字节,最大1500字节。
        • 一帧数据:最少64个字节,最大1518个字节
      • MAC地址:每台电脑独一无二的地址,前6个是厂商编号,后6个是流水线号
      • 计算机的通信方式:
        • 同一个局域网内,通过广播的形式通信。
        • 交换机的mac地址学习功能
          • 第一次通过广播找到目标mac地址,然后将其对应
          • 第二次直接单播
          • 前提是必须知道对方的mac地址,你才可以以广播的形式发消息。实际上,网络通信中,你只要知道对方的IP与自己打的IP即可
        • 消息一经广播发出,该局域网下所有的计算机都能接收到消息,分析消息,是否是找自己的,不是就丢弃
      • 计算机只能在局域网内进行广播:范围大了会造成广播风暴,效率极低
    • 网络层

      • IP协议:确定局域网(子网)的位置

      • ARP协议:通过对方的ip地址获取到对方的mac地址

      • 源码mac 目标mac 源IP 目标IP 数据

        1C-1B-0D-A4-E6-44 FF:FF:FF:FF:FF:FF 172.16.10.13 172.16.10.156 数据

        第一次发消息: 发送到交换机 ---> 路由器 广播的形式发出去

        目标计算机收到消息:就要回消息:

        源码mac 目标mac 源IP 目标IP 数据

        1B-1B-0D-A4-E6-54 1C-1B-0D-A4-E6-44 172.16.10.156 172.16.10.13 数据

      • 总结:前提:知道目标mac

        计算机A发送一个消息给计算机B

        源码mac 目标mac 源IP 目标IP 数据

        单播的形式发送到交换机,交换机会检测自己的对照表有没有目标mac,如果有,单播传,如果没有,交由上一层:路由器

        路由器收到消息:对消息进行分析:

        要确定目标计算机与本计算机是否在同一个网段,如果在同一个网段,直接发送给对应的交换机,交换机再单播发给目标mac

        如果不是在同一网段: ?

        前提:不知道目标mac:

        计算机A 发送一个消息给 计算机B

        源码mac 目标mac不知道 源IP 目标IP 数据

        单播的形式发送到交换机,交换机交由上一层路由器:路由器收到消息: 对消息进行分析:

        要确定目标计算机与本计算机是否在同一网段,

        ​ 如果在同一网段通过 IP以及ARP协议获取到对方的mac地址,然后在通信.

    • 传输层

      • TCP/UDP 确定软件在计算机的位置
    • 应用层

      • 自己定义的协议
    • 广播(局域网内) + mac地址(计算机位置) + ip(局域网的位置) + 端口(软件在计算机的位置)

    • 有了以上四个参数:你就可以确定世界上任何一个计算机的软件的位置

    UDP协议 TCP协议

    • TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、流式协议, 传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。

    • UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。

    • 端口

    • 65535端口

    • 1~1023 操作系统专门使用的端口 -- 周知端口

    • 1024-49151 分配给用户进程或应用程序 -- 注册端口

    • 49152-65535 动态端口 动态分配,不固定分配某种服务 -- 动态端口

    • 举例:3306数据库

    TCP协议的三次握手和四次挥手

    四次挥手

    syn洪水攻击:制造大量的假的无效的IP请求服务器,致使正常的IP访问不了服务器

  • 相关阅读:
    js getAttribute()和setAttribute()方法
    FCKeditor上传图片显示叉叉的问题的解决方案
    数据导出
    插入多种格式的网页播放器
    注册机...郁闷..
    AJAX效果
    2003下使用JMAIL问题解决办法
    ASP无组件上传带进度条
    MSSQL查询题解
    在线转flv+flash在线录制视频
  • 原文地址:https://www.cnblogs.com/alex3174/p/11348190.html
Copyright © 2011-2022 走看看