• python基础28——网络协议(CS&BS,OSI协议,TCP&IP五层模型)


    操作系统基础

      操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

    注:计算机(硬件)->os->应用软件

     

     

    CS和BS架构

    Client<===========>Server

    客户端软件send 服务端软件recv
    操作系统 操作系统
    计算机硬件<====物理介质=====>计算机硬件


    Browser<===========>Server

    1.硬件C/S架构(打印机)

    2.软件C/S架构

    互联网中处处是C/S架构

    如网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种)

    腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频)

    C/S架构与socket的关系:

    我们学习socket就是为了完成C/S架构的开发

    1.硬件环境不同
    
    C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务. 
    
    B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备. 信息管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
    
    2.对安全要求不同 
    
    C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息. 
    
    B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.
    
    3.对程序架构不同 
    
    C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑. 
    
    B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
    
    4.软件重用不同 
    
    C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好. 
    
    B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.
    
    5.系统维护不同 
    
    系统维护在是软件生存周期中,开销大, -------重要 
    
    C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统 
    
    B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
    
    6.处理问题不同 
    
    C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统 
    
    B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
    
    7.用户接口不同 
    
    C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高 
    
    B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
    
    8.信息流不同 
    
    C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低 
    
    B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心
    具体区别

     

     

     

    网络通信

    网络存在的意义就是跨地域数据传输=》称之为通信
    网络=物理链接介质+互联网通信协议

    OSI七层协议

    OSI七层协议数据传输的封包与解包过程

     

    TCP&IP五层模型


      应用层
      传输层
      网络层
      数据链路层
      物理层

     

    协议:规定数据的组织格式
    格式:头部+数据部分

    封包裹的过程:数据外加头
    拆包裹的过程:拆掉头获取数据

    计算机1:       计算机2:

    应用层         应用层
    传输层         传输层
    网络层         网络层
    数据链路层          数据链路层
    物理层 <===========交互机===========> 物理层
    0101010101010

    (源mac地址,目标mac地址)(源ip地址,目标ip地址)数据


    4.1 物理层负责发送电信号

    一组物理层数据称之为:位
    单纯的电信号毫无意义,必须对其进行分组


    4.2 数据链路层:ethernet以太网协议

    规定1:一组数据称之为一个数据帧
    规定2:数据帧分成两部分=》头+数据

    头包含:源地址与目标地址,该地址是mac地址
    数据包含:包含的是网络层发过来的整体的内容

    规定3:规定但凡接入互联网的主机必须有一块网卡,每块网卡在出厂时都烧制好一个全世界独一无二的地址,该地址称之为mac地址

    注意:计算机通信基本靠吼,即以太网协议的工作方式是广播

     

    4.3 网络层:IP协议

    要达到的目的:
    划分广播域
    每一个广播域但凡要接通外部,一定要有一个网关帮内部的计算机转发包到公网
    网关与外界通信走的是路由协议

    规定1:一组数据称之为一个数据包
    规定2:数据帧分成两部分=》头+数据
    头包含:源地址与目标地址,该地址是IP地址
    数据包含的:传输层发过来的整体的内容


    ipv4地址:
    8bit.8bit.8bit.8bit

    0.0.0.0
    255.255.255.255

    子网掩码:
    8bit.8bit.8bit.8bit

    255.255.255.0对应的二进制表达
    11111111.11111111.11111111.00000000

    一个合法的ipv4地址组成部分=ip地址/子网掩码地址
    172.16.10.1/255.255.255.0
    172.16.10.1/24


    计算机1:
    172.16.10.1: 10101100.00010000.00001010.000000001
    255255.255.255.0: 11111111.11111111.11111111.000000000
    172.16.10.0: 10101100.00010000.00001010.000000000


    计算机2:
    172.16.10.2: 10101100.00010000.00001010.000000010
    255.255.255.255.0: 11111111.11111111.11111111.000000000
    172.16.10.0: 10101100.00010000.00001010.000000000

     


    计算机1:        计算机2:

    应用层          应用层
    传输层          传输层
    网络层          网络层
    数据链路层        数据链路层
    物理层 <=========二层交互机========> 物理层
             0101010101010

    (源mac地址,xxxx)(源ip地址,目标ip地址)数据
    (源mac地址,网关的mac地址)(172.16.10.10/24,101.100.200.11/10)数据


    事先知道的是对方的ip地址
    但是计算机的底层通信是基于ethernet以太网协议的mac地址通信

    ARP:
    所以必须能够将ip地址解析成mac地址

     

     


    # 两台计算机在同一个局域网内

    计算机1:172.16.10.10/24    直接    计算机2:172.16.10.11/24
    ARP:
    自己的ip,对方的ip

    1、计算二者网络地址,如果一样,拿到计算机2的mac地址就可以了
    2、发送广播包
    发送端mac   FF:FF:FF:FF:FF:FF    172.16.10.10/24   172.16.10.11/24   数据

     

    # 两台计算机不在同一个局域网内

    计算机1:172.16.10.10/24    网关    计算机2:101.100.200.11/10
    ARP:
    自己的ip,对方的ip
    1、计算机二者网络地址,如果不一样,应该拿到网关的mac地址
    2、发送广播包
    发送端mac   FF:FF:FF:FF:FF:FF   172.16.10.10/24   172.16.10.1/24   数据


    4.3.1 总结******(独一无二)

    ip地址+mac地址=》标识全世界范围内独一无二的一台计算机

    或者:
    ip地址=》标识全世界范围内独一无二的一台计算机

     

     

     

     

  • 相关阅读:
    1059 C语言竞赛
    1058 选择题
    1057 数零壹
    1056 组合数的和
    1055 集体照
    Mysql--分库分表
    Mysql--改表结构
    Mysql--开始阶段
    Mysql--常用语句
    Mysql--grant授权
  • 原文地址:https://www.cnblogs.com/lucky-cat233/p/12714786.html
Copyright © 2020-2023  润新知