网络编程(部分讲解)

软件开发架构

什么是软件开发架构

软件开发架构就是在软件项目开始的时候制定的一种规范,这种规范包
括代码运行流程、环节、步骤等
我们在编写项目之前需要遵循的代码层面上的规范
	eg:ATM三层架构 选课系统三层架构

c/s架构

Client:客户端

Server:服务端

C/s架构指的是客户端(相当于我们手机上的app)和服务端(负责数据的管理)
	例如:
        下载淘宝就是为了体验淘宝服务端提供的购物服务
        下载抖音就是为了体验抖音服务端提供的视频服务
        
        客户端:即将要去消费的客人
        服务端:给客人提供服务的店
        
        作为服务端必备的多个条件
        	1.24小时不间断提供服务
            2.固定的地址(不能基础改变)
            3.能够访问多个客人(高并发)

b/s架构

Browser:浏览器

Server:服务器/端

b/s架构本质还是c/s架构
	通过浏览器来充当各个服务端的客户端 用于想要体验服务不需要下载指定的客户端

两者架构之间的优缺点

c/s架构
	优势:下载对应的客户端 可以在客户软件内高度定制相关服务
    劣势:使用必须要先下载客户端 比较繁琐
b/s架构
	优势:不需要下载客户端 能够快速体验服务
    劣势:无法高度定制化 并且需要遵守很多规则

网络编程

什么是网络编程

网络编程的研究前提就是基于互联网 网络编程基于互联网编写代码 能够实现数据的远程交互

学习网络编程的目的

学习完网络编程之后就可以开发c/s架构的软件(掌握原理 使用框架)

网络编程发展史

最早起源于美国军事领域>>>:很多先进的技术都是由军事发明后续转为民用
	军方想要实现不同计算机之间数据交互
		没有网络编程技术的时候只能拿U盘拷贝并携带
        	为了跨区域交互设计所有发明了网络编程

早期远程通信

1.早期的座机电话
	彼此打电话需要电话线
2.早期的大屁股电脑
	数据交互需要插网线
3.现在的笔记本电脑、智能手机
	数据交互需要无限网卡
"""
		电话线>>>网线>>>无限网卡
实现数据的远程通信的前提必须具备一个物理链接介质
"""

OSI七层协议

简介

OSI七层协议:按照功能不同 分工不同 人为的分层七层 实际上这个七层是不存在的 没有这七层的概念 只是人为的划分而已 区分出来的目的只是让你明白哪一层是干什么用的
"""
所有的计算机在生产过程中必须有相同的部分和相同的功能
			应、表、会、传、网、数、物
"""

OSI层级划分

七层划分:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
五层划分:应用层(三层)、传输层、网络层、数据链路层、物理链接层
四层划分:应用层(三层)、传输层、网络层、网络接口层

img

物理链接层

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

数据链路层

1.规定了二进制数据的分组方式
2.规定了'以太网协议'
	但凡能够接入互联网的计算机都必须有一块网卡
    每块网卡在出厂的时候都会被烧制一个全世界独一无二的编号
   该编号是有12位16进制数组成
	前六位是产生编号
    后六位是流水线号
 这个独一无二的编号也有一个称呼>>>:'mac地址'(类似于身份证号)

网络相关专业名词

计算机之间要想实现数据交互必须要'连接'到一起
1.交换机
	能够将所有接入交换机的计算机彼此互联起来
2.广播
	首次查找接入同一个交换机的其他计算机 需要朝交换机里面群发
3.单播
	首次被查找的计算机回应查找它的计算机 并附带自己的mac地址
4.广播风暴
	接入同一台交换机的多台计算机同时发光播
5.局域网
	可以简单的理解为有单个交换机组成的网络
    在局域网内可以直接使用mac地址通信
6.广域网
	可以简单的理解为范围更大的局域网
7.互联网
	由所有的局域网、广域网连接到一起形成的网络
8.路由器
	不同的局域网计算机之间是无法直接实现数据交互的 需要路由器连接

img

img

网络层

IP协议
	规定了每台接入互联网的计算机都必须有一个IP地址(取决于网线)
    'IP地址可以唯一标识地球上独一无二的一台互联网的计算机'
IP地址目前的两个版本
	IPV4:点分十进制
    最小:0.0.0.0
    最大:255.255.255.255
随着社会的进步 计算机的使用越来越普遍
	IPV6:能够给地球上每一粒沙分一个IP地址
IP地址分为:公网IP和私网IP
    公网IP是可以直接被浏览器访问到的 但是私网IP是不可以的
    我们所有人的电脑默认使用的都是私网IP
    公网IP需要花钱购买并且需要实名认证并备案
    		很多非法网站都是在国外注册备案

传输层

提供可靠和不可靠的传输机制,TCP、UDP
PORT协议(端口协议)
	  端口表示计算机上的程序进程
      端口号范围:0~65535
      0~1024:系列基础使用的端口号
      1024~8000:常用软件端口号
1.同一时间同一台计算机上面端口号不能冲突
2.端口号是动态分配的
IP地址:用于标识全世界独一无二的一台接入互联网的计算机
PORT号:用于标识一台计算机上面的某一个应用程序
    
IP+PORT:能够标识全世界独一无二的一台计算机上面某一个应用程序
我们日常生活使用浏览器访问的各个网址其实接收IP+PORT
		www.baidu.com		好记
        14.215.107.29:80	难记
IP:PORT    
	很多创建的服务端都不需要指定端口 只要访问ip地址内部会去自动映射
    114.55.205.139:80
posted @ 2022-11-15 15:30  吴仁耀  阅读(97)  评论(0)    收藏  举报