• 网络编程、OSI七层协议


    软件开发架构

    1.什么是软件开发架构

    编写项目之前需要遵循的代码层面上的规范
    

    2.软件开发架构

    c/s架构:
    	c:client    客服端(程序需要先安装后,才能运行在用户的电脑上,对用户的电脑的操作系统环境依赖较大)
        s:server    服务端
            
      ps:计算机上下载的各个互联网公司的app本质其实都是客户端
         下载一个个客户端的目的说白了就是为了体验对应服务端的服务
         客户端可以看作是即将去消费的客人
         服务端可以看作是给你推荐服务的店
      服务端具备的特征:
    	1.24小时不间断提供服务
        2.固定的地址
        3.可以同一时间服务很多人
    b/s架构:
    	b:broswer   浏览器(其实也是一种客户端,它不需要安装应用程序,只需要在浏览器上通过HTTP请求服务器端相关的资源)
        s:server    服务器
      ps:b/s架构本质也是c/s架构
         通过浏览器来充当各个服务器的客户端,用于想要体验服务不需要下载指定的客户端
    

    3.架构优劣势

    cs架构:
        优势:下载对应的客户端,可以在客户端软件内高度制定相关服务
        劣势:使用必须先下载客户端比较麻烦
    bs架构:
        优势:不需要下载客户端 能够快速体验服务
        劣势:制定花里胡哨的功能
    

    4.架构发展趋势

    发展趋势:统一接口原则
        微信:里面有许多小程序 可以直接体验其他服务
        支付宝:里面有许多小程序 可以直接体验其他服务
    后期就是cs与bs交错使用,互补各自劣势
    ps:可以方便用户使用,更重要的是可以给自己圈用户便于后期收割
    

    网络编程简介

    1.如何理解网络编程

    基于互联网编写代码,程序可以实现远程数据交互
    

    2.网络编程的目的

    网络编程的本质是为了解决计算机之间远程数据交互
    

    3.网络编程的意义

    学习网络编程之后,我们就可以编写一个c/s架构的软件
    

    4.网络编程的起源

    网络编程最早由美国军方开发
    没有网络编程的时候,如果俩台计算机之间要交互数据,只能使用硬盘拷贝
    

    5.网络编程的要求

    1.早期的电话线,必须要有电话线
    2.大屁股电脑,必须要有网线
    3.笔记本电脑,必须要有网卡
    计算机之间想要实现远程数据交互,俩者之间必须要有物理连接介质
    

    OSI七层协议

    1.了解知识

    规定了计算机涉及到数据远程交互的时候,必须要经过的部件/流程
        或者说就是所有的计算机在涉及到网络传输这块必须要有相同的零部件
        
    这七层协议只争对网络协议
    

    image-20220804104029061

    应用层、表示层、会话层、传输层、网络层、数据链路层、物理连接层
    '''也可以合并成五层:'''
        应用层、传输层、网络层、数据链路层、物理连接层
    '''也可以合并成四层:'''
        应用层、传输层、网络层、网络接口层  
    ps:记忆小技巧:记开头,,应、表、会、传、网、数、物
    

    2. 各层特征

    '''
    各层特征:
    	数据发送出去的时候,是从上往下走
    	数据该收回来的时候,是从下往上走
    
    '''
    1.物理连接层
    	保证物理连接介质的条件,传递电信号(主要研究插网线情况)
    2.数据链路层
    	1.规定了电信号的分组方式
        2.规定每台计算机都必须有一块网卡
        	网卡上必须有一串记录,可以看作是它的身份证号-->以太网地址\mac地址
            以太网地址\mac地址:前6位是生产编号,后6位是生产流水线
        ps:有了太网地址\mac地址,我们就可以根据该地址查找计算机(基于mac地址实现数据交互)
    3.网络层
    	IP协议:规定了任何接入互联网的计算机都必须有一个IP地址(身份的标识)
        IP地址的特性:
        	IPV4:点分十进制,最小是0.0.0.0,最大是255.255.255.255
                随着社会的发展,同时上网的人越来越多
            IPV6:百度了解
        IP特征:每个IP都自带定位
        	扩展知识:IP代理:隐藏自己的地址,但是还是可以找得到的
    4.传输层
    	PORT协议(端口协议):规定了一台计算机上的每一个应用程序都必须有一个端口号
        	端口号相当于是计算机用来管理多个应用程序的标记
            	端口号的特征
                	1.端口号范围:0-65535
                    2.端口号是动态分配
                    3.同一时间同一台计算机端口号不能冲突,同一时间一个端口号只能给一个计算机使用
               		4.固定的使用范围:
                    	0-1024范围是操作系统内部使用的
                        1024-8000范围是常见的软件已经使用了
                        我们以后写代码使用8000以后的端口号
    	扩展知识:
        	IP+PORT:表示全世界任意一台接入互联网的计算机上的某个具体的应用程序 
            什么是网址(URL):统一资源定位符,本质:IP+PORT
    

    网络相关设施

    1.交换机

    能够让接入交换机的多台计算机实现彼此互联
    

    2.以太网通信(mac通信)

    原理:有了交换机之后,根据电脑的mac地址就可以实现数据交互
        广播:在交换机中喊,所有接入交换机的设备都可以听到
        单播:被喊得设备给与回应
    缺陷:
        mac地址通信仅限于局域网
        接入设备过多的时候,会造成广播风暴
    

    3.局域网

    有某个固定区域组成的网络
        广域网可以看作是一个更大区域的局域网
    

    4.路由器

    局域网与局域网直接不能直接跨着访问
    路由器作用(功能):将多个局域网连接到一起,不同的局域网可以相互访问
    
  • 相关阅读:
    pink老师 JavaScript基础以及进阶笔记
    MySQL的介绍
    [附源码]计算机毕业设计springboot二手书店设计论文
    python面试常考题
    初学者如何打开ABAQUS力学有限元仿真的大门
    字符串11— includes():检查字符串是否包含子字符串
    编程语言为什么有null?
    Profinet现场总线耦合器模拟量扩展IO
    近世代数——Part1 课后题目
    【嵌入式】---- 内存四区介绍
  • 原文地址:https://www.cnblogs.com/zxr1002/p/16550577.html