zoukankan      html  css  js  c++  java
  • 操作系统,C/S B/S架构,网络通信,

     操作系统:是一个软件,是操作链接计算机硬件与计算机软件的纽带,有windows,linux,macOS

    C/S B/S架构:

    C:client 客户端

    B:browser 浏览器

    S:server服务器

    C/S:基于客户端与服务器的架构,QQ,微信,暴风影音,快播

    B/S:特殊的C/S架构

    网络通信:从一台计算机的一个软件将一个数据(文件,视频,音频)发送到另一台电脑的这个软件上

      1一系列的物理连接介质

      2地址确定对方的软件的位置

      3一系类互联网协议

    五层协议:

      物理层:

        物理连接介质,光纤,双绞线

        物理层发送的数据:高低电平.010101011,物理层只是单纯的发送01010101,但是数据应该进行分组,源地址,目标地址,这些物理层做不了

      数据链路层:主要就是对数据进行分组,封包:源地址,目标地址,早期每个公司都有不同的标准,后来统一标准:以太网协议

           规定数据分为两部分:

              数据头  |      数据

              数据头规定 固定18个字节

              数据头部分:

                源地址:6个字节

                目标地址:6个字节

                数据类型:6个字节

        将数据分为组的形式:一组电信号:数据报,也叫一帧

        head长度+deta长度=最短64字节,最长1518字节,超过最大限度就分片发送

      网卡:mac地址.就是计算机的唯一标识,计算机出厂就会有网卡,网卡上就有一个mac地址

      12位 16进制:40-8D-5C-93-F1-DE  前六位:厂商编号,后六位:流水线号

    计算机通信方式:广播,吼

      理论上:有了mac地址,加上广播的方式,全世界所有的计算机都可以通信了

      实际不行,广播风暴,效率低,工作量太大

      接下来规定:mac+广播的形式只能在局域网中实行

      原则上:同一个局域网就是通过源mac地址+目标mac地址+数据+广播 可以将数据传输.  这里有一个交换机mac地址自主学习功能.交换机有一个mac与网口的对照表

    交换机mac地址自主学习功能:

      交换机有一个mac与网口的对照表

      1  40-8D-5C-93-F1-DE

      2  40-8D-5C-93-F2-DE 

      3  40-8D-5C-93-F3-DE

      .......

      24  40-8D-5C-93-A1-DE

    同一个局域网之内发送一个数据:

    源mac地址:40-8D-5C-93-F1-DE   目标mac地址:40-8D-5C-93-A1-DE     数据

    如果交换机第一次链接这些电脑:

      1    40-8D-5C-93-F1-DE

      2  ?

      3  ?

      ......

      24  40-8D-5C-93-A1-DE

    第一次 我的网口1链接计算机发送一个数据,发送给目标mac,第一次的时候是不知道目标mac地址是多少

    IP地址+ARP协议 计算出对方的mac地址

    第一次发送给IP地址为192.168.10.24

    通过广播:在同一个局域网内广播一个数据:

    (源mac地址 40-8D-5C-93-F1-DE  ,对方mac FF-FF-FF-FF-FF)(源IP:192.168.10.22  对方Ip:192.168.10.24)

    找到符合的IP:

    回传一个数据:(源mac地址 40-8D-5C-93-A1-DE  ,对方mac 40-8D-5C-93-F1-DE)(源IP:192.168.10.24  对方Ip:192.168.10.22)

    同一个局域网内:第一次发送数据 需要广播的形式,获取对方的mac地址,将mac地址,将mac地址与网口写入对照表

           第二次 发送数据(计算机与端口没更换),不通过广播,而是直接从mac对照表寻找对方的地址

    确定局域网位置:

      网络层:确定局域网的位置

        ip协议:寻找对方局域网的位置

        怎么通过ip寻找对方局域网位置?

        ipv4:

        三点分十进制:

          0~255.0~255.0~255.0~255

        同一个局域网内计算机的ip地址绝对不同

          172.16.10.1

        子网掩码:255.255.255.0

        ip+子网掩码才能确定是否在同一个网段,同一个子网,同一个局域网

        端口+ip+mac+广播  就能确定世界上任何一台计算机软件的位置

      传输层:端口协议.每个软件都有固定的端口 0~65535  0~1024是系统占用  

         端口:确定软件的位置

      应用层:每个软件对于数据有不同的自定制协议

         FTP,WWW等等

    简单流程:

      给强哥发一个今晚吃鸡

      应用层:qq将数据封装成了一个字典:{'content':'今晚吃鸡'}软件自己做的

      操作系统:

      传输层:8000 |  {'content':'今晚吃鸡'}  #确定软件在计算机的位置

      网络层:ip:192.168.1.12  8000 |  {'content':'今晚吃鸡'}    #确定计算机在哪个局域网

      数据链路层:源mac地址,目标mac地址 数据类型  |  ip:192.168.1.12  8000 |  {'content':'今晚吃鸡'} #计算机自局域网哪个位置

      物理层:网线 将数据以电信号形式发出去

      一系列物理连接介质:达到对方的物理层--->数据链路层

         

      

  • 相关阅读:
    详解threading模块:Condition类的使用
    concurrent.futures 模块使用说明
    细读Spring源码(四)什么是IOC?
    OAuth 2.0系列(六) OAuth令牌
    OAuth 2.0系列(七) OAuth 2.0可能存在的安全漏洞及预防方法
    细读Spring源码(一)refresh()方法概览
    HashMap源码解读() put方法的实现过程
    跟着字节码追踪JAVA中的基本运算
    细读Spring源码(六)Spring源码设计架构
    细读Spring源码(五)AOP从实战到源码
  • 原文地址:https://www.cnblogs.com/weize111/p/10403350.html
Copyright © 2011-2022 走看看