• 关于网络


    早期没有网络 a.py -> b.py 借助c文件中转
    a文件把数据放在c文件中,b文件从c文件取
    b文件把数据放在c文件中,a文件从c文件取
    构成了早期的一种数据的交互原理 -> socket(套接字)模型
    socket(套接字)是收发数据的一个工具
    
    后来有了网络
    a文件中的数据,可以通过网络协议,转成10101电信号,进行发送
    a文件借助socket发送数据
    b文件借助socket接受数据

    一.、网络开发的两大架构

    1、c/s架构

    """
    c/s 架构 : client  server
    C/S
        c -> client 客户端
        具体制定是一个软件,像qq,微信,腾讯会议,dnf,wow,跑跑卡丁车,龙与地下城ddo,消消乐,劲舞团,英雄联盟
        s -> server 服务端
        天河三号 百亿亿次超级计算机
    """

    2、b/s架构

    B/S
        B -> Brower 浏览器
        通过输入网址,直接访问对方服务器,对方服务器响应请求之后
        把对应的数据通过网络返回到浏览器中进行显示
        s -> server 服务端
    
    # b/s 和 c/s 谁代表未来?
    # b/s! 
        (1) 省去复杂漫长的下载和安装环节,节省了手机和电脑的硬盘空间
        (2) 因为手机的便捷性,可以随时随地不受限制的使用各式各样的功能,满足日常需求.

    二网络概念

    1、 ip

    ip地址的最后一位0或者255 两个数字不能用,
    一般最后一位0表达的是网段,255代表广播地址

    2、网段

    """
    网段的作用:
        主要用来划分同一区域里的某些机器是否能够互相通信。
        在一个网段里可以不通过因特网,直接对话
    判别的依据:
        如果IP地址和子网掩码相与得到的值相同就是同一网段
    """

    3、子网掩码:区分网段和主机

    案例一

    # ip 192.168.30.251
    #子网掩码 255.255.255.0
    11000000.10101000.00011110.11111011
    11111111.11111111.11111111.00000000
    11000000.10101000.00011110.00000000  网段
    网段:192.168.30.0
    #ip 192.168.30.33
    #子网掩码 255.255.255.0
    11000000.10101000.00011110.00100001
    11111111.11111111.11111111.00000000
    11000000.10101000.00011110.00000000  网段
    网段:192.168.30.0
    在一个网段可以互相通信.

    案例二

    # ip 192.168.30.251
    # 子网掩码 255.255.0.0
    11000000.10101000.00011110.11111011
    11111111.11111111.00000000.00000000
    11000000.10101000.00000000.00000000  网段
    192.168.0.0
    # ip 192.168.35.211
    # 子网掩码 255.255.0.0
    11000000.10101000.00100011.11010011
    11111111.11111111.00000000.00000000
    11000000.10101000.00000000.00000000
    192.168.0.0
    如果两个ip的网段相同就可以一起通讯.
    ping+ip 测试是否能够ping通

    4、端口

    # 某个程序与外界通讯的出口
    # 范围: 0~65535 
    # ip + 端口 访问这个世界上任何一台电脑里面的任何一个应用;
    """
    20 端口:FTP 文件传输协议(默认数据口)
    21 端口:FTP 文件传输协议(控制)
    22 端口:SSH 远程登录协议
    25 端口:SMTP 服务器所开放的端口,用于发送邮件
    80 端口:http,用于网页浏览,木马 Executor 开放此端口
    443 端口:基于 TLS/SSL 的网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP
    3306 端口:MySQL 开放此端口
    """

    三、osi网络七层模型

    """
    应用层(应用层,表示层,会话层)
        封装数据:
            根据不同的协议,封装成对应格式的数据消息
            HTTP  [超文本传输协议]
            HTTPS [加密传输的超文本传输协议]
            FTP   [文件传输协议]
            SMTP  [电子邮件传输协议]
    
    传输层:
        封装端口
            指定传输的协议(TCP协议/UDP协议)
        
    网络层:
        封装ip
            版本ipv4 ipv6
        
    数据链路层:
        封装mac地址
            指定链路层协议arp(ip->mac) / rarp (mac->ip)
    
    物理层:
        打成数据包,变成二进制的字节流,通过网络进行传输
        
    
    交换机:从下到上拆2层,物理层,链路层
    路由器:从下到上拆3层,物理层,链路层,网络层
    """
    1.物理层(电信号101010单纯的101010没有任何意义,就要分组)
    
    2.数据链路层 (具体在哪台机器)(负责分组,电信号就会变得有意义)
    
    以太网协议(ehternet)
    
    数据包分成两部分:1.报头 封装源MAC 目标MAC 计算机之间就可以通信了,广播方式 2.数据
    
    理论上全世界都可以在一个局域网通信,但是要分多个局域网,那一个局域网一台机器怎么找到另一个局域网的机器
    
    3. 网络层 (标识一个房间) ip协议  标识一个网络,首先要知道对方的ip,根据ip和子网掩码计算得到一个网络地址,算出自己的和对方的,网络地址一样,就可以通信,若不一样,把包送给网关,网关在转发。
    
    4.传输层(tcp udp)(找到哪台机器的哪个应用 端口标识)
    
    5.标识层
    
    6.会话层
    
    7.应用层
    
    应用层一个软件会监听一个端口,端口和ip地址绑定
    osi七层都干了什么

    四、arp协议

    1、交换机

    2、局域网过程

    3、广域网过程

    4、arp协议:通过ip -> mac (arp地址解析协议)

    """通过交换机的一次广播和一次单薄找到对应mac物理地址"""
    """
    由于第一次打包由上到下封装信息,包括TCP头部,IP头部,MAC头, 但是在封装MAC头时,只知道源MAC,不知道目标MAC,将目标MAC设置为 FF-FF-FF-FF-FF-FF 广播地址.
    通过交换机的一次广播找到目标MAC,在通过一次单播将目标MAC的广播地址替换为真正的MAC地址.
    具体如下:
    电脑A先发arp的广播包,把mac标记为全F的广播地址,交换机收到arp广播包,从下到上拆2层,到数据链路层得到mac,发现mac是全F的广播地址,重新打包,
    交换机开始广播,所有连接这台交换机的设备都会收到arp广播包,开始拆包,如果是全F的广播地址继续向上找,如果ip不对,直接舍弃.
    路由器允许从下到上找三层,拆到网络层,得到ip,找到其中的网段,重新打包,发送给对应这个网段的那个接口(网关),发现对应的那个设备是交换机,从下到上拆2层,发现是全F的广播地址,开始发送arp广播包,数据库服务器拆包,
    mac为全F的广播地址,mac为全F跳过,发现ip地址就是自己,于是把自己的ip->mac对照表返回给对应的交换机.
    """
  • 相关阅读:
    Java中HashMap底层实现原理(JDK1.8)源码分析
    java io系列01之 "目录"
    数据结构与算法系列 目录
    Java 集合系列目录(Category)
    ls参数
    在PATH路径中添加新的路径
    目录相关的操作
    chmod
    属性类型
    ls -al
  • 原文地址:https://www.cnblogs.com/whc6/p/14292586.html
Copyright © 2020-2023  润新知