首页 > 编程语言 >网络编程基础

网络编程基础

时间:2022-11-15 16:57:41浏览次数:48  
标签:计算机 编程 基础 网络 地址 数据 客户端

网络编程基础

软件开发架构

软件开发结构: 程序员在编写软件时候应该遵循的架构设计
规定了程序的请求逻辑,功能划分模块等等

1.C/S架构
client:客户端
Server:服务端

'''
客户端:就是我们平时使用到的软件,都是互联网公司提供给我们的客户端,为我们提供服务的,
客户端相当于需要体验服务的客人
客户端可以有很多人同时使用 同时体验服务
'''
比如淘宝客户端,我们打开淘宝就可以享受淘宝的服务。
'''
服务端:
相当于对外提供服务的店面,一个服务端可以同时服务多个客户端
作为服务端必备的多个条件
1.24小时不间断提供服务
2.固定的地址
3.能够服务多个客人(高并发)
'''
单机游戏就是把 服务端和客户端同时储存在了电脑上,所以才可以支持不需要网络就可以进行服务


2.B/S架构

B:browser 浏览器
S:server  服务器
#将 浏览器 充当 各个程序的 客户端,用户无需下载,

C/S架构
		优点:客户端支持高度定制,功能更多
		缺点:用户需要下载才可以使用
B/S架构
		优点:无需下载,打开浏览器即可体验
  	缺点:无法做到高度定制,功能相对简单
    
'''
目前行业趋势更加倾向于 B/S架构 更加轻量化
因为可以统一接口,类似用户使用微信 或者 支付宝 就可以达到同时使用很多功能
'''

image

网络编程简介

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

OSI七层协议简介

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

也可以归属为5层:
应用层 传输层 网络层 数据链路层 物理连接层

也可以统称为4层:
应用层 传输层 网络层 网络接口层


# 接收网络消息 = 数据由下往上传递

数据链路层:操作系统在网卡接收数据,系统解析接收到的数据包(处理数据帧);
网络层:系统处理IP头;
传输层:系统处理TCP头,根据得到的端口号,系统将数据包交给应用程序处理;
应用层:应用程序处理数据;



 # 发送网络消息 = 数据由上往下传递
  
应用层:浏览器将请求数据封装为一个HTTP请求;
传输层:TCP协议将数据包再次封装为TCP数据包;
网络层:IP协议再次封装;
数据链路层:以太网技术,携带MAC(系统将数据包发送到本机网卡),封装为数据帧;

OSI协议之物理连接层

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

OSI协议之数据链路层

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

网络相关专业名词

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

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

OSI之网络层

IP协议:规定了所有介入互联网的计算机都必须有一个ip地址,类似身份证号

ip地址:是动态分配的,不同场所不同环境下ip地址是不同的
mac地址:是物理地址,可以查看 永远无法修改

ip地址特征: 
  	IPV4;点分十进制
    最小 0.0.0.0
    最大 255.255.255.255
    IPV6:
    有不同的数字 字母 符号组成 可以生成无限个不同的地址
    
IP地址:可以跨局域网传输的

OSI协议之传输层

PORT协议(端口协议)
	用来标示一台计算机上面的某一个应用程序
  范围:0 - 65535
  特征:动态分配(洗浴中心的号码牌,用的时候发一个,不用了再回收过来)
  建议:
  0-1024  系统默认需要使用
  1024-8080  常见软件的端口号
  建议我们自己写的程序使用8100-50000直接的端口号即可
  
URL:统一资源定位符(网址)
		网址的本质就是由 IP 和 PORE端口组成的
ip+PORT端口:能够定位出全世界独一无二的一台计算机上面的某个应用程序

域名解析:将网址解析成为 ip + PORT端口 
				举例:  192.168.10.12:80  
                     
我们之所以不直接使用ip加端口访问程序,是因为太难记了,所以才发明了域名


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

标签:计算机,编程,基础,网络,地址,数据,客户端
From: https://www.cnblogs.com/moongodnnn/p/16892973.html

相关文章

  • 基于粒子群优化深度置信网络的分类预测
    ​决策树原理        决策树通过把样本实例从根节点排列到某个叶子节点来对其进行分类。树上的每个非叶子节点代表对一个属性取值的测试,其分支就代表测试的每个结......
  • 网络并发1
    今日内容总结软件开发架构规定了程序的请求逻辑、功能模块1.C/S架构 Client:客户端 Server:服务端"""我们使用计算机下载下来的一个个app本质是各大互联网公司的客......
  • 网络编程前戏
    今日内容概要软件开发架构架构发展趋势网络编程前戏OSI七层协议各种重点协议今日内容详细软件开发架构规定了程序的请求逻辑、功能分块1.C/S架构 Client:......
  • 网络编程与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服务端我们平时下载的软件包,基本都是客户端软件使用这个软件包就有一张令牌去进入店铺享受......