软件开发架构、OSI七层协议、网络编程

今日内容

软件开发架构

  • 一、什么是软件开发架构
  • 编写项目之前需要遵循的代码层面上的规范
  • 二、软件开发架构
  • 1.应用类(c\s架构):qq、微信、网盘、优酷这一类是属于需要安装的桌面应用
  • c:client 客户端
  • s:server 服务端

软件开发 项目人员架构 软件开发项目组织架构_端口号

  • 2.web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用
  • b:broswer 浏览器
  • s:server 服务器

OSI七层协议

  • 一、如何理解
  • 1.协议就是规定了计算机涉及到数据远程交互的时候 必须要经过的部件/流程
  • 2.所有的计算机在涉及到网络传输这块必须要有相同的零部件
  • 二、互联网协议按照功能的不同分为osi七层或tcp/ip五层或tcp/ip四层
  • 1.应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
  • 2.应用层 传输层 网络层 数据链路层 物理层
  • 3.应用层 传输层 网络层 网络接口层

软件开发 项目人员架构 软件开发项目组织架构_网络层_02

各层特性01

  • 一、物理链接层
  • 保证物理链接介质的条件 传递点信号
  • 二、数据链路层
  1. 规定了电信号的分组方式
  2. 规定了每台计算机都必须有一台网卡
  • 2.1. 网卡上必须有一串记录>>>:电脑以太网地址(身份证号) mac地址
  • 2.2. 以太网地址\mac地址:由12位16进制数组成的
  • 2.3. 前6位:生产商编号
  • 2.3. 后6位:生产流水线号

网络相关名词

  • 一、交换机
  • 能够让接入交换机的多台计算机实现彼此互联
  • 二、以太网通信(mac通信)
  • 有了交换机之后 根据电脑的mac地址就可以实现数据交互
  • 三、广播与单播
  • 广播:先在交换机群发 所有接入交换机的设备都能收到
  • 单播:只有被查找设备 才会回复相应的信息
  • 四、局域网
  • 有某个固定的区域组成的网络
  • 广域网可以看成是更大的区域的局域网
  • 五、路由器
  • 将多个局域网连接到一起的设备

各层特性02

  • 三、网络层
  • IP协议
  • 规定了任何接入互联网的计算机都必须要有一个IP地址
  • IP地址
  • IPV4:点分十进制:最小:0.0.0.0、最大:255.255.255.255
  • IPV6:能够给地球上每一粒沙分一个IP地址
  • IP特征:每个IP都自带定位
  • 四、传输层
  • PORT协议
  • 端口协定:规定了一台计算机的每个正在运行的应用程序都必须有一个端口号、端口号相当于是计算机用来管理多个应用程序的标记
  • 端口号特征
  • 端口号范围:0-65535
  • 端口号是动态分配的
  • 同一时间同一台计算机端口号不能冲突
  • 0-1024端口号:一般是用来操作系统内部需要使用的
  • 1024-8000端口号:一般是常见的软件已经使用了
  • IP+PORT
  • IP:用于标识全世界任意一台接入互联网的计算机
  • PORT:用于标识一台计算机的某个应用程序
  • IP+PORT:用于标识全世界任意一台接入互联网的计算机的某一个具体的程序
  • 什么是网址
  • 网址(URL):统一资源定位符
  • url的本质
  • 其实就是IP+PORT
  • eg:
       www.baidu.com
       其实就是IP+IP+PORT 真的要编写的话就是 IP:PORT