关于网络通信

1、C/S B/S架构

    c:client端
    b:browse 浏览器
    s:server端
    C/S架构:基于客户端与服务端之间的通信
        QQ、游戏,皮皮虾,快手,抖音
        优点:个性化设置,响应速度快
        缺点:开发成本、维护成本高,占用空间,用户固定
    B/S架构:基于浏览器与服务端之间的通信
        火狐浏览器、谷歌浏览器、360浏览器
        优点:开发与文虎成本低,占用空间相对低,用户不固定
        缺点:功能单一,没有个性化设置,响应速度相对慢一些
    总结:
    C/S响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高;
    B/S可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。
    所以有些单位日常办公应用B/S,在实际生产中使用C/S结构。

2.网络通信原理

    80年代,固定电话联系(还没有推广普通话)
      1.两台电话之间一堆物理连接介质连接
      2.拨号,锁定对方电话的位置
    由于当时没有统一普通话,你如果和河南、陕西、广西、福建等朋友进行友好的沟通交流,你必须学会当地的方言。
    推广普通话,统一交流方式。
      1.两台电话之间一堆物理连接介质连接
      2.拨号,锁定对方电话的位置
      3.统一交流方式
    全球范围内交流:
      1.两台电话之间一堆物理连接介质连接
      2.拨号,锁定对方电话的位置
      3.统一交流方式(英语)
    话题转会互联网通信:
      我现在想和美国的一个girl联系,你如何利用计算机联系?
      1.两台计算机要有一堆物理连接介质连接
      2.找到对方计算机软件位置
      3.遵循一揽子互联网通信协议

3.osi七层协议 应表会传网数物 ***七层缩写 很重要

   ·简单串联五层协议以及作用
        ·物理层
         物理层指的就是网线,光纤,双绞线等连接介质
         物理层发送的是比特流,如:01010110000110 只是单纯发送比特流有什么问题?
         数据应该有规律的分组,分组是数据链路层做的事情
         
        ·数据链路层
         数据链路层对比特流进行分组
         最开始从事互联网企业的就是美国的几家公司,各家有各家自定的分组标准。后来统一了标准:对数据分组的标准
         **以太网协议** 对比特流进行合理的分组
         一组数据01010101叫做一帧,数据报
         head | data(晚上约么)
         head是固定的长度:18个字节
          源地址:6个字节
          目标地址:6个字节
          数据类型:6个字节
        data:最少是46个字节,最大1500字节
        一帧数据:最少64个字节,最大1518个字节
        一帧数据|一帧数据...
        每个电脑上都有一个网卡,网卡上都记录一个独一无二的地址
        mac地址:就是你的计算机上网卡上标注的地址
        12位16进制数组成(前6位是厂商编号,后6位是流水线号)
        源mac地址 目标mac地址 数据类型|data
        例如 " 68-3E-26-B4-E1-4B"
        计算机的通信方式:
        同一局域网内,通过广播的形式通信。
        消息一经广播发出,村里所有的人(局域网内所有的计算机都能接收到消息,分析消息是否是找我的,不是就丢弃)

        计算机只能在局域网内进行广播:范围大了,广播风暴效率极低
        还有两个没有解决:
          1.不同局域网如何通信?
          2.软件于软件的通信,而不是计算机之间的通信
          
        ·网络层
         **ip协议**  确定局域网(子网)的位置
        找到具体软件的位置,上一次的事情
        
        ·传输层
        **端口协议** 确定软件在计算机的位置
        
        ·应用层:
        自己定义的协议

        广播(局域网内) + mac地址(计算机位置) + ip(局域网的位置) + 端口(软件在计算机的位置)
        有了以上四个参数:你就可以确定世界上任何一个计算机的软件的位置


    ·对五层协议的详细补充说明

    ·数据链路层补充:
      同一个局域网通过广播的形式发送数据
      交换机的mac地址学习功能:同一局域网内,最初是广播形式,当口对应上后,就会以单薄形式发送
      我们的前提是什么?你必须知道对方的mac地址才可以以广播的形式发消息。实际上,你只要知道对方的ip与自己的ip即可

    ·网络层补充:
     IP协议:4点分十进制 192.168.0.12
     取值范围 0-255.0-255.0-255.0-255
     ip地址+子网掩码+ 按位与运算 计算出是否在统一局域网(子网,网段)
    c类子网  一个网段最多可以承载253个ip地址
    172.16.10.0 网关地址被占用
    172.16.10.255 广播地址 被占用
    172.16.10.1 被占用

    如果你想要给另一个计算机发数据,你一定要知道对方的ip地址
    **ARP协议** :从对方的ip地址获取到对方的mac地址

    源IP 目标mac 目标IP 目标mac
    第一次发消息:发送到交换机 ————>  路由器 广播的形式发出去
    目标计算机收到消息,就要回消息:
    源码mac 目标mac 源IP 目标IP 数据
    
    ·传输层补充:
    端口协议:UDP协议,TCP协议
    65535端口
    1-1024操作系统专门使用的端口
    举例: 3306数据库
    自己开发软件都是8080以后的端口号


    总结:
    前提:知道目标mac
    计算机A发送一个消息给计算机B
    首先,必须得有源mac 目标mac 源IP 目标IP 数据
    单播的形式发送到交换机,交换机会叫测自己的对照表有没有目标mac,如果有,单播传,如果没有,交由上一层
    路由器:路由器收到消息,对信息进行分析:
    要确定目标计算机与本计算机是否在同一网段,
    如果在统一网段,直接发送给对应的交换机,交换机单播发送给mac

4.UDP TCP协议

    TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、
    流式协议、传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。
    使用TCP的应用:Web浏览器;文件传输程序。
    
    UDP(User Datagram Protocol)不可靠的、无连接的服务,
    传输效率高(发送前时延小),一对一、一对多、多对一、多对多、面向报文(数据包),
    尽最大努力服务,无拥塞控制。
    使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。

猜你喜欢

转载自blog.csdn.net/m0_50481455/article/details/113274363