本期内容概要

  • 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协议 ...

最新文章

  1. [转]VS2013自带SQL Server 的启用方法
  2. php开发工具之火狐浏览器插件
  3. Skrollr.js -- 使用Skrollr创建视差滚动效果页面
  4. Tomcat容器运行struts2+spring+mybatis架构的java web应用程序简单分析
  5. python网页请求urllib2模块简单封装代码
  6. EditPlus64的安装配置
  7. BlockingQueue汇总
  8. ajax跨域访问 webservice
  9. 【转】怎么在Foxmail回复/转发时使用签名?
  10. SRM 504.5(2-1000pt)
  11. 什么是MEAN全堆栈javascript开发框架
  12. Spring知识点总结
  13. WPF 杂谈——Binding表达式
  14. 云计算 --> 技术原理
  15. mpvue——引入vant_weapp组件
  16. windows下用pycharm安装tensorflow简易教程
  17. Python学习笔记(day23更新)
  18. springboot+rabbitmq整合示例程
  19. Git 合并多次 commit 、 删除某次 commit
  20. 完美解决百度网盘、浏览器下载限速问题proxyee-down(附带win破解版云盘)

热门文章

  1. 30个类手写Spring核心原理之自定义ORM(上)(6)
  2. 从离线分析建模到稳健风控升级,为什么说顶象Dinsight实时风控引擎是对的选择?
  3. shiro验证时,当authenticationStrategy为AllSuccessfulStrategy时
  4. powerdesigner 连接数据库
  5. Libevent使用例子
  6. SpringBoot中Post请求提交富文本数据量过大参数无法获取的问题
  7. Vue总结第五天:vue-router (使用模块化(创建Vue组件)机制编程)、router-link 标签的属性、路由代码跳转、懒加载、路由嵌套(子路由)、路由传递数据、导航守卫)
  8. 再谈多线程模型之生产者消费者(总结)(c++11实现)
  9. 【LeetCode】912. Sort an Array 解题报告(C++)
  10. 【LeetCode】632. Smallest Range 解题报告(Python)