首页 > 其他分享 >开发框架、七层协议

开发框架、七层协议

时间:2022-11-15 19:44:33浏览次数:40  
标签:协议 架构 计算机 框架 七层 OSI IP 客户端

内容概要

  • 软件开发架构

  • 网络编程简介

  • OSI七层协议简介

  • OSI七层协议

  • 网络相关专业名词

软件开发架构

# 1. 软件开发架构的目的
	程序员在编写软件的时候应该遵循的架构设计——三层架构
# 2.软件开发架构的分类
	C/S架构
    C:client(客户端)
	S:server(服务端)
"""
我们使用计算机下载下来的一个个app本质是各大互联网公司的客户端软件
通过这些客户端软件我们就可以体验到各个互联网公司给我们提供的服务
	
eg:下载淘宝客户端 打开 体验淘宝服务端提供的购物服务
ps:一般情况下客户端与服务端交互需要互联网 但是有些不需要(因为客户端和服务端都在一台计算机上)	
	
客户端:即将要去消费的客人
服务端:给客人提供服务的店

作为服务端必备的多个条件
1.24小时不间断提供服务
2.固定的地址
3.能够服务多个客人(高并发)
"""

	B/S架构
    B:browser(浏览器)
    S:server(服务器)
"""
本质和C/S架构一样,只是我们在浏览器上当做客户端,没有专属的APP,通过浏览器页面去享受服务
"""

image

# 两种架构的优缺点
C/S架构:
    优势:不同公司的客户端由不同公司独立开发 可以高度定制化客户端功能
	劣势:需要用户去下载才能使用

B/S架构:
    优势:不用下载直接访问
    劣势:无法高度定制化 并且需要遵守很多规则

架构总结

ATM:三层架构
选课系统:三层架构
本质也属于软件开发架构的范畴

软件设计的大方向>>>:统一接口
    微信小程序
    支付宝小程序

网络编程简介

# 1.网络编程的含义
	网络编程的研究前提就是基于互联网,所以网络编程就是基于互联网来编写代码
    
# 2.网络编程的学习目的
	可以开发C/S架构的软件 掌握其中原理 使用框架
    
# 3.网络编程发展史
	属于美国军方>>>: 很多先进的技术都是由军方发明后转为民用
    实际应用:军方想要实现不同计算机之间的数据交互,在当时没有网络编程技术的时候,只能拿U盘拷贝并携带
        
# 4.早期远程通信
1.座机电话
	连接时需要电话线
2.大屁股电脑
	数据交互需要插网线
3.智能手机
	数据交互需要无线网卡
ps:实现数据的远程交互必备的基础条件是物理连接介质
    
# 5.互联网协议
	 不同计算机之间如果想要实现无障碍交互,除了需要有物理链接介质之外还需要一套公有的标准
    标准 >>>: 互联网协议(OSI七层协议)

OSI七层简介

"""
OSI七层协议:规定了所有的计算机在远程数据交互的时候必须经过相同的处理流程、在制造过程中必须拥有相同的功能软件
"""
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层
ps:应、表、会、传、网、数、物
    
# 很多人总结成了五层
应用层(包含了表示层和会话层)
传输层
网络层
数据链路层
物理连接层

"""
接收网络消息 数据由下往上传递
发送网络消息 数据由上往下传递
"""

OSI七层协议

OSI七层协议之物理连接层

主要用于确保计算机之间的物理连接介质 接收数据(bytes类型、二进制)

OSI七层协议之数据链路层

1.规定了电信号的分组方式
2.以太网协议
	规定了计算机在出厂的时候都必须有一块网卡 网卡上有一串数字
    该数字相当于是计算机的身份证号码是独一无二的
    该数字的特征:12位16进制数据
        前6位产商编号 后6位流水线号
    我们给这个独一无二的编号称之为 —— "MAC地址"/以太网地址
小知识:
   基于Mac地址可以实现计算机之间的数据通信    

网络小知识

# 互联网含义
 将计算机彼此链接到一起的介质
    
# 互联网建立的目的
  基于互联网做数据交互
   
# 上网的本质
  基于网线去访问其他计算机上面的资源
"我们也可以把计算机称之为服务器或者服务端(专门对外提供服务)"

OSI七层协议之网络层

IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号(取决于网线,是可变的)
    MAC地址是物理地址可以看成永远无法修改
    IP地址是动态分配的 不同的场所IP是不同的
    
IP地址特征:
    IPV4:点分十进制
      最小: 0.0.0.0
      最大:255.255.255.255
    IPV6:十六进制
        '''能够给地球上每一粒沙分一个IP地址'''
ps:IP地址可以用来标识全世界独一无二的一台计算机   
    
"""
  IP地址分为公网IP和私网IP
   公网可以直接被浏览器访问到,但是私网不可以
   公网需要花钱购买并且需要实名认证并且备案————很多非法的网站都是在国外注册备案
"""

OSI七层协议之传输层

PORT协议(端口协议)
"""
  一台计算机上面可以运行很多数据的交互软件,比如:微信、视频软件、音乐软件
  为什么他们从内存中获取数据不会错乱,也就是因为端口协议的存在
"""
端口协议:
	用来标识一台计算机上面的某一个应用程序
    
    特征:动态分配(类似于洗浴中心的号码牌)
        
    端口号的范围是:0 ~ 65535(也就是一台计算机可以一起运行65535个应用程序)
    0 ~ 1024: 系统经常使用的端口号
    1024 ~ 8000:常用的软件端口号
    所以我们在写项目的时候,推荐使用8000之后的端口
    
# 注意事项
 1、同一时间同一台计算机上面的端口号不能重合
 2、端口号是动态分配的, 就比如这次打开QQ的端口号是8118,使用完关了,再重新打开的时候可能是8118,也有可能是8888,或者其他数字

URL:统一资源定位符(网址)
    网址本质都是由IP和PORT组成的!!!
    
IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序

域名解析:将网址解析成IP+PORT
    
我们之所以不直接是同IP+PORT的原因是太难记 所以发明了域名

IP:PORT	 实际使用冒号连接
    114.55.205.139:80

网络相关专业名词

计算机之间想要实现数据交互必须要'连接'到一起

交换机

能够将所有接入交换机的计算机彼此互联起来

image

局域网

可以简单的理解为有单个交换机组成的网络
	在局域网内可以直接使用mac地址通信

image

广播

首次查找接入同一个交换机的其他计算机 需要朝交换机里面吼一嗓子

单播

首次被查找的计算机回应查找它的计算机 并附带自己的mac地址

image

广播风暴

接入同一台交换机的多台计算机同时发广播

广域网

可以简单的理解为范围更大的局域网

互联网

由所有的局域网、广域网连接到一起形成的网络

路由器

不同的局域网计算机之间是无法直接实现数据交互的 需要路由器连接

标签:协议,架构,计算机,框架,七层,OSI,IP,客户端
From: https://www.cnblogs.com/super-xz/p/16893637.html

相关文章

  • 软件开发架构,架构发展趋势,网络编程前戏,OSI七层协议
    目录软件开发架构,架构发展趋势,网络编程前戏,OSI七层协议今日内容概要今日内容详细软件开发架构架构总结网络编程前戏OSI七层协议简介OSI七层协议之物理连接层OSI七层协议之......
  • 软件开发架构 OSI七层协议
    今日内容软件开发结构规定了程序的请求逻辑、功能模块C/S架构Client:客户端Server:服务端'''我们使用计算机下载的一个个app本质是各大互联网公司的客户端软件通......
  • 软件开发架构、OSI七层协议
    软件开发架构、OSI七层协议目录软件开发架构、OSI七层协议软件开发架构软件开发架构分类架构优劣架构发展趋势网络编程前戏OSI七层协议简介OSI七层协议之物理连接层OSI七......
  • 网络编程,osi七层协议
    软件开发架构规定了程序的请求逻辑,功能分开分为两种:1.C/S架构 客户端(Client)类似于我们下载的app,给客户提供软件体验,可以理解成要去消费的客户服务端......
  • 网络编程:软件开发架构、架构总结、网络编程前戏、OSI七层协议简介、OSI七层协议之物
    目录软件开发架构架构总结网络编程前戏OSI七层协议简介OSI七层协议之物理连接层OSI七层协议之数据链路层网络相关专业名词OSI七层协议之网络层OSI七层协议之传输层软件开......
  • 工业互联网安全技术保障平台功能框架设计分享,博奥智源
    子系统功能模块二级功能功能点安全数据采集子系统省通信管理局/基础电信企业IDC/ISP信息安全管理系统对接工互-机房数据工互-机架信息......
  • 说说http,https协议
    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传......
  • Python基础之网络编程:2、OSI协议之七层协议
    目录Python基础之网络编程一、网络编程前戏二、OSI七层协议简介:1、物理连接层2、数据链路层网络相关专业名词3、网络层4、传输层Python基础之网络编程一、网络编程前戏1......
  • Spring Boot框架下实现Excel服务端导入导出
    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板......
  • websocket 进阶!netty框架实现websocket达到高并发
    引言:在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法。但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomca......