网络编程-1

软件开发架构

1.什么是软件开发目录
	编写项目之前需要遵循的代码层面上的规范(代码运行的流程、环节步骤)
    	eg:类似ATM三层结构 选课系统三层架构
2.软件开发结构
	c/s架构
        c:client 客户端
        s: server 服务端
        '''
        计算机上下载的各个互联网公司的APP软件 其本质其实就是客户端
        下载客户端的目的是为了 体验对应服务端的服务
        eg:
            下载淘宝就是为了体验淘宝服务端提供的购物服务
            下载抖音就是为了体验抖音服务端提供的视频服务
        客户端可以看成是即将消费的客人
        服务端可以看成是给你提供服务的店
        
        服务端具备什么特征?
        1.24小时营业不间断提供服务
        2.固定的地址(不能经常改变)
        3.可以同一时间服务很多人
        '''	
 	b/s架构
    	b:broswer 浏览器
        s:server  服务器
        '''
        b/s架构本质也是c/s架构
        通过浏览器来充当各个服务端的客户端 用于想要体验服务不需要下载制定的客户端
        '''
3.架构优劣势
    cs架构
        优势:下载对应的客户端 可以在客户端软件内高度定制相关服务
        劣势:使用必须先下载客户端 比较繁琐
    bs架构
        优势:不需要下载客户端 能够快速体验服务
        劣势:定制花里胡哨的功能较为繁琐 
'''上述架构与我们之前所学的三层架构其实一样'''

架构发展趋势

发展趋势:统一接口原则
	微信
    	里面有很多小程序可以直接体验其他服务
    支付宝
		里面有很多小程序 可以直接体验其他服务
 应用时cs和bs的交错使用 避免各自的劣势
ps:可以方便客户使用 前期圈用户养肥之后割韭菜

网络编程简介

1.如何理解网络编程
	基于互联网编写代码 程序可以实现远程数据交互
2.网络编程的目的
	网络编程的本质是为了解决计算机之间远程数据交互
3.网络编程的意义
	学习完网络编程之后 就可以编写一个c/s架构的软件
4.网络编程的起源
	任何先进的技术一般都源于军事
    	"""
    	网络编程由美国军方开发
    		没有网络编程的时候 如果是两台计算机之间要交互数据 只能用硬盘拷贝 距离远的话特别麻烦
    	"""
 5.网络编程的要求
    1.早期的电话
        必须要有电话线
    2.大脑袋电脑
        必须要有网线
    3.笔记本电脑
        必须要有网卡
"""
计算机之间要想实现远程数据交互 首要条件就是要有物理连接介质
"""

OSI七层协议

"""
规定了计算机设计到数据远程交互的时候 必须要经过的部件/流程
所有的计算机涉及到网络传输这块必须有相同的零部件
"""
应用层
表示层
会话层
传输层
网络层
数据链路层
物理链路层
ps:记忆小技巧只记开头第一个字 顺序不能颠倒:应表会传网数物
'''针对上述的七层 也可以合并成五层'''
应用层
传输层
网络层
数据链路层
物理连接层
'''也可以优化成四层'''
应用层
传输层
网络层
网络接口层
ps:每一层都有各自的功能的规范

各层特征

数据发送出去的时候 是从上往下走
数据接收回来的时候 是从下往上走
'''我们按照从下往上的顺序研究'''
1.物理连接层
	保证物理连接介质的条件 传递电信号(主要研究插网线情况)
2.数据链路层
	1.规定了电信号的分组方式
 	2.规定了每台计算机都必须有一块网卡
    	网卡上必须有一串记录>>>:电脑的以太网地址(身份证号) mac地址
       以太网地址\mac地址:1216进制数组成的
        	前6:产商编号
           后6:生产流水线号
ps:既然mac地址相当于电脑的身份证号 也就意味着可以根据该地址查找计算机(可以基于mac地址实现数据交互)
3.网络层
	IP协议
    	规定了任何接入互联网的计算机都必须有一个IP地址(护照)
   	IP地址
    	IPV4:点分十进制
        	最小: 0.0.0.0
           最大: 255.255.255.255
          ps:随着社会的发展 同时能够上网的人越来越多 上述地址不够分
       IPV6:
          能够给地球上每一粒沙分一个IP地址
	IP特征
    	每个IP都自带定位
        	ps:ip代理!!!
4.传输层
	PORT协议
    	端口协议:规定了一台计算机上的每一个正在运行的应用程序都必须有一个端口号,端口号相当于是计算机用来管理多个应用程序的标记
 	端口号特征
    	1.端口号范围:0-65535
       2.端口号是动态分配的
    	3.同一时间同一台计算机端口号不能冲突
		4.
        0-1024:一般是操作系统内部需要使用的
        1024-8000:一般是常见的软件已经使用了
        8000+:我们平时写代码可以使用8000之后的端口号
"""
IP+PORT
	IP:用于标识全世界任意一台接入互联网的计算机
	PORT:用于标识一台计算机上的某个应用程序
	IP+PORT:用于标识全世界任意一台接入互联网的计算机上的某一个具体的程序
"""
1.什么是网址
	网址(URL):统一资源定位符
2.url的本质
	其实就是IP+PORT(ip:port)
    	www.baidu.com 				124.12.11.232

网络相关名词

1.交换机
	能够让接入交换机的多台计算机实现彼此互联
2.以太网通信(mac通信)
	原理
        有了交换机之后 根据电脑的mac地址就可以实现数据交互
            广播:现在交换机中吼 所有接入交换机的设备都能收到
            单播:只有被查找设备 才会回复相应信息
    缺陷
        1.mac地址通信仅限于局域网
        2.接入交换机的设备过多 可能会造成广播风暴
        	广播风暴:类似于所有人同时吼
3.局域网
	有某个固定区域组成的网络
    	广域网可以看成是更大区域的局域网
4.路由器
	将多个局域网连接到一起的设备        
posted @   初学者-11  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示