操作系统,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':'今晚吃鸡'} #计算机自局域网哪个位置

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

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

     

  

原文地址:https://www.cnblogs.com/weize111/p/10403350.html