本期内容概要

  • python回顾

  • 软件开发架构

  • 网络理论前瞻

  • osi七层协议(五层)

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

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

内容详细

python回顾

  1. 变量与常量
  2. 基本数据类型
  3. 内置方法
  4. 字符编码、文件操作
  5. 函数
  6. 函数参数、闭包函数、装饰器
  7. 面向对象
  8. 封装、继承、多态
  9. """
  10. 什么是对象
  11. 数据与功能的结合体
  12. 什么是类
  13. 多个对象公共的数据与功能的结合体
  14. 什么是父类
  15. 多个类公共的数据与功能的结合体
  16. 对象必须要由类产生!!!
  17. """

1. 软件开发架构

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

2. 网络理论前瞻

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

3. OSI七层协议

  1. # 所有的计算机都必须要有这七层
  2. 01 应用层
  3. 02 表示层
  4. 03 会话层
  5. 04 传输层
  6. 05 网络层
  7. 06 数据连接层
  8. 07 物理连接层
  9. '''
  10. 应 表 会 传 网 数 物
  11. '''
  12. # 从开发层面 可以归纳为五层
  13. 01 应用层
  14. 02 传输层
  15. 03 网络层
  16. 04 数据连接层
  17. 05 物理连接层
  18. '''从下往上介绍'''

3.1 物理连接层

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

3.2 数据连接层

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

3.3 常见硬件

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

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

3.4 网络层

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

3.5 传输层

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

3.6 TCP协议

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

3.7 UDP协议

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

3.8 应用层

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

软件开发架构与网络之OSI七层协议(五层)的更多相关文章

  1. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器    定义:       ...

  2. Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver

    今日内容:socket网络编程    1.OSI七层协议    2.基于tcp协议的套接字通信    3.模拟ssh远程执行命令    4.tcp的粘包问题及解决方案    5.基于udp协议的套接字 ...

  3. 8.6 day27 网络编程 osi七层协议 Time模块补充知识 TCP协议

    Time模块补充知识 date和datetime区别是什么? date 就是年月日 datetime就是年月时时分秒 以下代码为什么会报错? import json from datetime imp ...

  4. 网络之OSI七层协议模型、TCP/IP四层模型

    13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. ...

  5. 1、网络并发编程--简介、软件开发架构、OSI七层协议

    python复习 变量与常量 基本数据类型 内置方法 字符编码.文件操作 函数 函数参数.闭包函数.装饰器 面向对象 封装.继承.多态 """ 什么是对象 数据与功能的结 ...

  6. 01网络编程(基础知识+OSI七层协议+TCP与UDP)

    目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...

  7. python网络编程-Json序列化功能扩展-软件开发架构-OSI七层协议-TCP-01

    面向对象补充知识点(面向对象的应用) 扩展json序列化所支持的数据类型(分析源码) import json from datetime import datetime, date # ------- ...

  8. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)

    一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端   24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器    想体验服务的时候 ...

  9. 开发架构+osi七层协议+socket(day26)

    目录 软件开发架构 C/S架构 B/S架构 网络编程 互联网协议/OSI七层协议 传输层 网络层 数据链路层 物理连接层 socket 什么是socket 为什么用socket 如何使用 软件开发架构 ...

随机推荐

  1. 3、回溯算法解题套路框架——Go语言版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  2. CF139A Petr and Book 题解

    Content 小 P 有一本 \(n\) 页的书,现给出他一周七天每天的阅读页数,求它在星期几读完这本书. 数据范围:\(1\leqslant n\leqslant 1000\). Solution ...

  3. 同步IO与一部IO、IO多路复用(番外篇)select、poll、epoll三者的区别;blocking和non-blocking的区别 synchronous IO和asynchronous IO的区别

    Python之路,Day9 , IO多路复用(番外篇)   同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. ...

  4. vue-子组件创建/注册/使用流程

    流程分为三步 非单文件组件:(实际不用,因为很麻烦,框架都是多文件组件) 局部注册 1.创建一个组件 const school = Vue.extend({ // 传入配置对象 // 子组件配置对象不 ...

  5. [Flink-源码分析]Blink SQL 回撤解密

    因为目前我司使用的版本还是和Blink对齐的版本,所以本文还是先针对Blink中对于回撤的实现来进行源码分析. 概念 回撤这个概念,是流计算中特有的,简单理解起来就是将先前的计算结果回撤,那什么场景下 ...

  6. github fmt库语法+范例(fmt version :7.0.1)

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist fmt fmt 源码: https://github.com/fmtlib/fmt 本文翻译 ...

  7. windows串口之虚拟串口和Access port

    关于 本文将介绍自己常用的串口工具,演示环境为Windows. 1. 虚拟串口 1.1 没有那么多的物理串口, 用虚拟串口来凑.需要软件Configure Virtual Serial Port Dr ...

  8. 【LeetCode】112. 路径总和 Path Sum 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 回溯 BFS 栈 日期 题目地址:https ...

  9. 【剑指Offer】09. 用两个栈实现队列 解题报告(python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人微信公众号:负雪明烛 目录 题目描述 解题方法 一个栈用来保存输入,一个栈用来输出 日 ...

  10. 【LeetCode】60. Permutation Sequence 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...