您的位置:首页 > 理论基础 > 计算机网络

软件开发架构与网络之OSI七层协议(五层)

2022-01-11 20:14 726 查看

本期内容概要

  • python回顾

  • 软件开发架构

  • 网络理论前瞻

  • osi七层协议(五层)

    以太网协议
  • IP协议
  • port协议
  • 交换机
  • 路由器
  • 局域网
  • 广域网
  • TCP协议

      三次握手
    • 四次挥手
  • UDP协议

  • 内容详细

    python回顾

    变量与常量
    基本数据类型
    内置方法
    字符编码、文件操作
    函数
    函数参数、闭包函数、装饰器
    面向对象
    封装、继承、多态
    """
    什么是对象
    数据与功能的结合体
    
    什么是类
    多个对象公共的数据与功能的结合体
    
    什么是父类
    多个类公共的数据与功能的结合体
    
    对象必须要由类产生!!!
    """

    1. 软件开发架构

    1.c/s架构
    c : client	客户端
    s : server	服务端
    """
    客户端:可以当作去店铺消费的客人
    eg:手机上的各种APP就是各大软件厂商的客户端
    
    服务端:可以当作提供服务的商店
    服务端需要具备的三大特征:
    1.24小时不间断提供服务(24小时监听)
    2.固定的地址(IP地址)
    3.能够服务多个用户(高并发)
    """
    
    2.b/s架构
    b : browser	浏览器
    s : server	服务器
    """
    用浏览器统一充当各个服务端的客户端
    
    本质:bs架构本质上也是cs架构
    """
    
    3.各大互联网巨头正在做的事情:
    微信小程序(微信提供开发微信小程序的软件)
    支付宝小程序(各大程序接口)
    
    # 总结:
    网络编程学习完就可以开发cs架构的软件(简易版本)
    并发编程、前端、数据库、后端框架就可以开发bs架构软件(任何类型的软件)

    2. 网络理论前瞻

    '''网络编程其实研究的就是程序之间的数据通信'''
    
    1.由来:
    基于远程传输的技术 最早诞生于美国军方(前沿技术通常都是由军事产生)
    
    2.远程数据传输发展史(民用)
    01 有线电话 > 电话线互联
    02 无线电话 > 信号发射器
    03 大屁股电脑 > 网线
    04 笔记本电脑 > 网卡
    '''要想实现远程数据交互的前提是必须要有物理连接介质'''
    
    除了有物理连接介质之外还应该有一些能够保证数据彼此无障碍交互的东西(标准):
    OSI七层协议

    3. OSI七层协议

    # 所有的计算机都必须要有这七层
    01 应用层
    02 表示层
    03 会话层
    04 传输层
    05 网络层
    06 数据连接层
    07 物理连接层
    '''
    应 表 会 传 网 数 物
    '''
    
    # 从开发层面 可以归纳为五层
    01 应用层
    02 传输层
    03 网络层
    04 数据连接层
    05 物理连接层
    
    '''从下往上介绍'''

    3.1 物理连接层

    提供一个物理连接接口(网线口 无线网卡)

    3.2 数据连接层

    1.规定了电信号的分组方式
    
    2.含有以太网协议
    规定了计算机必须有一块网卡 并且网卡上面要有一个固定的一串数字
    """
    数字 : 12位16进制数
    前六位 :产商编号
    后六位 :流水线号
    上述的数字也称之为计算机的mac地址(类似于身份证号)
    """

    3.3 常见硬件

    1.交换机:能够使接入该机器的所有计算机之间彼此互联

    2.局域网:有交换机组成的网络
    
    3.互联网:可以简单的理解为是多个局域网之间彼此互联
    
    """
    基于mac地址的数据传输
    1.广播风暴
    2.mac地址不能跨局域网传输
    """
    
    4.路由器:能够连接多个局域网并实现局域网之间的数据传输

    3.4 网络层

    1.IP协议:
    规定了接入互联网的计算机都必须有一个IP地址用于唯一标识
    
    2.ip协议版本
    IPV4版本:
    最小 0.0.0.0
    最大 255.255.255.255
    
    IPV6版本:
    能够表示出地球上的每一粒沙子
    
    '''IP地址能够唯一标识接入互联网的一台独一无二的计算机'''
    
    3.公网IP与私网IP
    公网IP需要花钱购买并申请
    私网IP自带的 但是无法直接基于互联网访问
    
    4.arp协议
    将IP地址转换成mac地址(基于网络请求)

    3.5 传输层

    '''TCP协议  UDP协议 端口协议 等等'''
    
    1.端口协议:
    范围:0~65535
    特性:动态分配
    eg:
    第一次运行微信 系统随机取一个端口号2022
    然后关闭微信重新启动 系统再随机取一个端口号
    
    2.端口号基本使用
    0~1024系统默认需要使用的端口号
    1024~8000常见软件端口号
    以后我们开发的软件最好使用8000之后的端口号
    
    """
    端口号(port):
    能够唯一标识一台计算机上面正在运行的一款应用程序
    
    端口号在同一台计算机同一时刻不能重复
    """
    
    # 总结
    能够唯一标识世界上 某一台接入互联网的计算机上面的 某一个正在运行的应用程序

    3.6 TCP协议

    1.别称:
    流式协议 可靠协议
    
    2.三次握手	建立链接
    重要状态:
    listen 监听态:等待对方发请求
    syn_rcvd态: 忙于恢复确认建立请求
    '''
    洪水攻击:
    服务端在同一时间接收到了大量的要求建立链接的请求
    '''
    
    3.四次挥手	断开链接
    不能合并成三次挥手 因为有等待时间要等待

    3.7 UDP协议

    1.别称:
    不可靠协议
    '''
    数据发送没有通道的概念 发送出去了就不管了 无论对方是否接收成功 都会在自己内存中 直接删除该数据
    
    TCP协议相当于打电话 你一句我一句 你侬我侬
    
    UDP协议相当于发短信 发了就完事 管你看不看
    '''

    3.8 应用层

    都是人为自定义的协议标准 可遵循可不遵循
    
    HTTP协议 FTP协议 ...

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: