首页 > 编程语言 >网络编程前戏

网络编程前戏

时间:2022-11-15 16:36:10浏览次数:55  
标签:架构 计算机 编程 网络 OSI 服务端 客户端

今日内容概要

  • 软件开发架构
  • 架构发展趋势
  • 网络编程前戏
  • OSI七层协议
  • 各种重点协议

今日内容详细

软件开发架构

规定了程序的请求逻辑、功能分块

1.C/S架构
	Client:客户端    
	Server:服务端
		"""
		我们使用计算机下载下来的一个个app本质是各大互联网公司的客户端软件
		通过这些客户端软件我们就可以体验到各个互联网公司给我们提供的服务
			eg:
				下载淘宝客户端 打开 体验淘宝服务端提供的购物服务
				下载抖音客户端 打开 体验抖音服务端提供的视频服务 
		ps:一般情况下客户端与服务端交互需要互联网 但是有些不需要(因为客户端和服务端都在一台计算机上)
		
		客户端:即将要去消费的客人
		服务端:给客人提供服务的店
		
		作为服务端必备的多个条件
			1.24小时不间断提供服务
			2.固定的地址
			3.能够服务多个客人(高并发)
		"""
2.B/S架构
	Browser:浏览器
	Server:服务器/端
		"""
		浏览器可以充当所有服务端的客户端
		
		ps:B/S架构本质还是C/S架构
		"""
 
'''
C/S架构
	优势:不同公司的客户端由不同公司独立开发 可以高度定制化客户端功能
	劣势:需要下载才能使用
B/S架构
	优势:不用下载直接访问
	劣势:无法高度定制化 并且需要遵守很多规则
'''

C/S
image
B/S
image

架构总结

1.什么是网络编程
	基于网络编写代码 能够实现数据的远程交互
2.学习网络编程的目的
	能够开发cs架构的软件
3.网络编程的起源
	"""
	最早起源于美国军事领域
		想实现计算机之间数据的交互
			最早的时候只能用硬盘拷贝
			之后发明了网络编程
	"""
4.网络编程必备条件
	数据的原创交互
    	1.早期的电话
        	电话线
		2.早期的大屁股电脑
        	网线
		3.笔记本电脑、移动电话
        	网卡
	ps:实现数据的原创交互必备的基础条件是物理连接介质

OSI七层协议简介

"""
OSI七层协议:规定了所有的计算机在远程数据交互的时候必须经过相同的处理流程、在制造过程中必须拥有相同的功能硬件
"""
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层
ps:应、表、会、传、网、数、物

'''常见的是整合之后五层或者四层'''
应用层
传输层
网络层
数据链路层
物理连接层

应用层
传输层
网络层
网络接口层

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

image

OSI七层协议之物理连接层

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

OSI七层协议之数据链路层

1.规定了电信号的分组方式
2.以太网协议
	规定了计算机在出场的时候都必须有一块网卡 网卡上有一串数字
    该数字相当于是计算机的身份证号码是独一无二的
    该数字的特征:12位16进制数据
        	前6位产品编号 后6位流水线号
    该数字也成为:以太网地址/MAC地址        

网络相关专业名词

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

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

OSI七层协议之网络层

IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号
    mac地址是物理地址 可以堪称永远无法修改
	IP地址是动态分配的 不同场所IP是不同的
IP地址特征:
	IPV4:点分十进制
    	0.0.0.0
      255.255.255.255
    IPV6:能够给地球上每一粒沙分一个IP地址 
	 IP地址可以跨局域网传输
ps:IP地址可以用来标识全世界独一无二的一台计算机

OSI七层协议之传输层

PORT协议(端口协议)
	用来标识一台计算机上面的某一个应用程序
	范围:0-65535
 	特征:动态分配(洗浴中心号码牌)
	建议: 
       0-1024  		 系统默认需要使用
    	1024-8000 	  常见软件的端口号  
       8000之后的   

URL:统一资源定位符(网址)
    网址本质是有IP和PORT组成的!!!

IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序

域名解析:将网址解析成IP+PORT

我们之所以不直接使用IP+PORT的原因是太难记 所以发明了域名(网址)

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

标签:架构,计算机,编程,网络,OSI,服务端,客户端
From: https://www.cnblogs.com/DragonY/p/16892848.html

相关文章

  • 网络编程与OSI模型
    目录一、网络编程简介1.什么是网络编程2.学习网络编程的目的3.网络编程的发展史4.网络编程必备条件二、OSI七层协议模型简介0.操作系统基础1.osi七层协议模型2.osi七层协议......
  • Docker网络理论
    目录一、Docker网络理论1.1理解docker0网桥1.2vethpair(虚拟网线)二、容器网络互通理论2.1小实验:容器之间是否可以通信?2.2为什么?容器之间可以相互通信?2.3总结:三、Docker......
  • 网络编程
    软件开发架构1.c/s架构类似appclient:客户端server:服务端优势:可以高度定制化客户端内容2.b/s架构类似网站(本质也是c/s架构)browser:浏......
  • 网络编程1
    今日内容概要软件开发架构架构发展趋势网络编程前戏OSI七层协议各种重点协议今日内容详细软件开发架构规定了程序的请求逻辑、功能分块1.C/S架构 Client:客户......
  • Fabric测试网络搭建坑
    CreateChannel之后报错:scripts/createChannel.sh:line44:osnadmin:commandnotfoundChannelcreationfailed  原因是之前跟着fabric官方文档时,安装的是fabric......
  • 网络编程
    一.楔子你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个......
  • 进入python的世界_day31_网络编程—— 两种软件开发架构、网络编程之OSI七层协议
    一、软件开发架构1.第一种——C/S架构Client客户端<——————>Server服务端我们平时下载的软件包,基本都是客户端软件使用这个软件包就有一张令牌去进入店铺享受......
  • 计算机网络——软件开发架构、网络编程、OSI七层协议
    计算机网络——软件开发架构、网络编程、OSI七层协议一、软件开发架构​ 规定了程序的请求逻辑、功能分块​ 软件设计的大方向:统一接口1、C/S架构client:客户端s......
  • 实验四:神经网络算法实验
    【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了......
  • 网络编程之OSI协议
    1.什么是网络编程? 基于网络编写代码,能够实现数据的远程交互2.学习网络编程的目的 能够开发cs架构的软件3.网络编程的起源"""最早起源于美国军事想实现计算机之间数......