软件开发架构
规定了程序的请求逻辑,功能分开
分为两种:
1.C/S架构
客户端 (Client)
类似于 我们下载的app,给客户提供软件体验,可以理解成要去消费的客户
服务端 (Server)
相当于 给客户提供服务的服务的场所
服务端必备条件:' 1.必须24小时服务。 2.固定的地址 3.支持多用户 '
服务端必须由客户端来访问,一般情况下基于网络才能访问. 特殊情况下 客户端与服务端会在同一台计算机上。
====================================================================================
2.B/S架构
Browser 浏览器
Sevrver 服务端
"""
本质和c/s架构一样,只是我们在浏览器上当做客户端,没有专属的APP,通过浏览器页面去享受服务
"""
- C/S架构:
优势: 针对客户端可以高度定制
劣势: 需要用户去下载才能使用
-
B/S架构:
优势: 不需要下载,就可以体验
劣势: 无法做到高度定制, 所以体验感就没那么好
网络编程
1.什么是网络编程
基于网络编写代码,能够实现数据的远程交互
2.学习网络编程的目的
能够开发c/s架构的软件
3. 网络编程的起源
始于美国军方>>>: 很多先进的技术都是有军事发明后转为民用
实际应用:
军方想要实现不同计算机之间的数据交互,在当时没有网络编程技术的时候,只能拿硬盘拷贝并携带
4.网络编程的必备条件
1.座机电话 —— 连接时需要电话线
2.大屁股电脑 —— 数据交互需要插网线
3.智能手机 —— 数据交互无限网卡
"""
电话线、网线、无限网卡 —— 远程通信的前提就是必须具备一个物理链接介质
"""
OSI七层协议简介
"""
所有的计算机在生产过程过程中必须有相同的部分和相同的功能 —— 应、表、会、传、网、数、物
"""
1.应用层
2.表示层
3.会话层
4.传输层
5.网络层
6.数据链路层
7.物理链接层
====================================================================================
# 很多人把它们总结成五层
1.应用层(包含了表示层和会话层)
2.传输层
3.网络层
4.数据链路层
5.物理链接层
osi七层协议之物理连接层
计算机之间的物理连接介质。 接受数据,接收电信号(bytes类型,二进制)
OSI七层协议之数据链路层
基于物理链接层收到一串二进制数, 那么如何正常解析
1.规定了电信号的分组方式
2.以太网协议
每台计算机都必须有一块网卡,该网卡上有一串数字。 每块网卡在出厂的时候都会被赋予一个人全世界唯一 的编号,用来记录,这个编号由12位16进制数组成
前6位产商编号 后6位流水线号
也称为"MAC地址"
可以基于MAC地址实现计算机之间的数据通信
OSI七层协议之网络层
ip地址: 规定了计算机接入互联网必须拥有ip地址,每个ip地址只能绑定一台计算机
"MAC地址是物理地址无法修改,ip地址是动态地址也可调成静态"
ip地址有两个版本
IPV4: 点分十进制
最小: 0.0.0.0
最大: 255.255.255.255
我们现在使用的都是IPV4地址,但是IP地址已经快不够用了,所以IPV6出来了
IPV6:
""" IPV6 可以表示出地球上每一粒沙子 """
他的ip地址数量能够给地球上每一粒沙子分一个ip地址。
IP地址可以跨局域网传输前提是 必须申请公网ip地址。
"""
IP地址分为公网IP和私网IP
公网可以直接被浏览器访问到,但是私网不可以
公网需要花钱购买并且需要实名认证并且备案
"""
OSI七层协议之传输层
PORT协议(端口协议)
我们使用的每个应用程序他们每个都有一个独立的端口 ,目的就是为了从内存中获取数据时不会错乱。
范围:
0-65535
特征:动态分配
0 - 1024 系统默认需要使用的端口
1024-8000 常见软件使用的端口号
所以我们在写项目的时候,推荐使用8000之后的端口
# 注意事项
1、同一时间同一台计算机上面的端口号不能重合
2、端口号是动态分配的, 就比如这次打开QQ的端口号是8118,使用完关了,再重新打开的时候可能是8118,也有可能是8888,或者其他数字
3. 也有特殊情况 使用固定端口,当我们使用软件时有的软件自带设置端口。我们可以指定一个端口固定使用。注意:后续不要占用端口
IP地址:用来标识全世界独一无二的一台接入互联网的计算机
PORT号:用来标识一台计算机上面的某一个应用程序
那么IP + PORT :就是定位全世界独一无二的计算机上面的某一个应用程序
所以我们在日常中使用的网址其本质就是""" IP地址+端口号,通过域名解析将网址解析IP+PORT 两者之间使用冒号:连接 """
网络相关专业名词
计算机之间想要实现数据交互 必须 要 '连接'在一起
1.交换机
能够将所有接在交换机设备上的计算机彼此互联
2.广播
首次查找在同一台交换机上的其他计算机,需要向交换机发出广播 ,首次"群发"
3.单播
广播目标计算机回复消息时称为 "单播"并传输 mac地址
4.广播风暴
同一台交换机上的计算机同时 发出广播
5.局域网
单个交换机组成的网络。一个小区域内的网络。
6.广域网
区域更大的局域网
7.互联网
所有局域网,广域网连接到一起
8.路由器
不同局域网之间的计算机无法实现数据交互,需要路由器连接 。
标签:计算机,七层,编程,端口,网络,osi,地址,ip
From: https://www.cnblogs.com/LiaJi/p/16893511.html