网络编程
软件开发架构
1.C/S架构
C:Client 客户端
S:Server 服务端
客户端指代的是手机端的APP和电脑上的各种软件,我们可以通过这些软件来进行各种各样的操作,聊天、看电影、玩游戏、购物等,但是这些操作是需要有数据来支撑的,所以我们手机电脑上的软件只是一个客户端,数据支撑位于网络另一端的服务器上,也就是服务端。
作为服务端需要必备的几个条件:
1.能够全天候不间断运行
2.有一个固定的访问地址
3.可以同时为多人提供服务
2.B/S架构
B:Browser 浏览器
S:Server 服务端
这是基于浏览器来访问服务端,用浏览器充当客户端,就类似网页版的百度淘宝等
两者差别
C/S架构
不同的客户端由不同的公司独立开发,客户端功能高度定制化,但是客户顿需要下载才能使用
B/S架构
不用下载就可以直接访问,但是需要遵守浏览器的很多规则无法高度定制化
网络编程前戏
1.什么是网络编程
基于网络编写代码,能够实现数据的远程交互
2.学习网络编程的目的
能够开发出C/S架构得软件
3.网络编程的必备条件
数据的远程交互
OSI七层协议
简介
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层
这七层就是OSI七层协议,但是我们常见的是整合之后的四层或五层
应用层
传输层
网络层
数据链路层
物理连接层
# 接受网络消息,数据从下往上传;发送网络消息,数据从上往下传
OSI七层协议规定了所有的计算机在进行远程数据交互的时候必须经过相同的处理流程,在制造过程中必须拥有相同的功能硬件
物理链路层
用于确保计算机之间的物理连接介质,接收数据
数据链路层
1.规定了电信号的分组方式
2.以太网协议
规定了计算机在出场的时候都必须有一块网卡,网卡上有一串数字,该数字就相当于计算机在网络中的唯一标识,就像人的身份证号一样
该数字的特征是12位16进制数据,前六位位厂商编号,后六位为流水线号
该数字也称为以太网地址/MAC地址
网络层
IP协议:
规定了所有接入互联网的计算机都必须有一个IP地址
MAC地址是唯一的,不可修改的
IP地址是动态分配的,同一台机器不同地点不同场所下它的IP地址不同
IP地址特征:
IPV4:点分十进制 0.0.0.0 —— 255.255.255.255
IPV6:冒分十六进制,格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,其地址池数量号称可以为地球上每一粒沙子都分配一个IP地址
传输层
PORT协议,也称端口协议
用来标识计算机上的某一个应用程序
范围:0 - 65535
特征:动态分配 0-1024 系统默认要用的 1024-8000 常见的软件端口号
URL:统一资源定位符(网址)
本质上是由IP和PORT组成的
IP+PORT:可以定位全世界唯一的一台计算机上面的某个应用程序
域名解析:将网址解析成IP+PORT
IP+PORT实际使用冒号链接 IP:PORT
我们访问百度网站通常都是实用网址访问,前面也说了网址实际是由IP和PORT组成的,那么我们当然可以通过IP+PORT来访问百度,只是这样太难记了,所以才有了域名
网络相关的专业名词
1.交换机
能够将所有接入交换机的计算机彼此互联起来
2.广播
首次查找接入同一个交换机的其它计算机,需要向交换机发送一个请求,该交换机内的所有计算机都能接收到这一请求
3.单播
首次被查找的计算机回应查找它的计算机并附带自己的MAC地址
4.广播风暴
接入同一台交换机的多台计算机同时发广播
5.局域网
可以简单理解为一台交换机下面的所有计算机组成的网络
在局域网中可以直接使用MAC地址通信
6.广域网
就是范围更大的局域网,多台交换机组成的网络
7.互联网
所有的局域网、广域网在一起组成的恶网络
8.路由器
不同的局域网内的计算机是无法直接实现数据交互的,需要使用路由器连接
标签:计算机,IP,编程,网络,交换机,PORT
From: https://www.cnblogs.com/zyg111/p/16893515.html