网络编程
软件开发架构
C/S架构:
client:客户端
server:服务端
比如:微信客户端,QQ客户端等。。。
优点:软件的使用很稳定,也很节省网络资源
缺点:安装麻烦,用户体验差,软件的每一次更新,用户都需要重新下载或更新版本
B/S架构:
Browser(本质上也是一个客户端):浏览器
Server:服务端
优点:软件的使用方便,无需跟着软件的更新去下载
缺点:如果网络不稳定,软件的使用就不稳定
相较而言:B/S架构,用户体验更好
客户端与服务端:
服务端:24小时不间断提供服务
客户端:客户想要找服务时,就去访问服务端
计算机与计算机之间的通信
语言时人与人之间沟通的介质,协议是计算机与计算机之间沟通的介质
网络编程
可以远程实时获取数据,实现远程通信
如何实现远程通信:
物理连接介质
电话有电话线
纯屏电脑:网线
笔记本电脑:网线,网卡
电脑与电脑通信:
互联网协议
让所有的厂商电脑都遵循这套协议,实现所有电脑之间无障碍通信
互联网协议(osi七层协议)
OSI七层协议:
应用层
会话层
表示层
传输层
网络层
数据链路层
物理层
五层:
应用层
传输层
网络层
数据链路层
物理层
1.物理层
获取到对象计算机的电信号数据,无法获取到具体数据内容,将电信号数据扔给数据链路层
2.数据链路层
以太网协议
1.规定一套分组的方式:
电信号是一个数据包
head:18个字节,前面六个是发送者,中间是接收者,末尾是数据类型
data:电信号具体的数据
2.每一台电脑都必须要有一个网卡:
每一块网卡都会有一串世界上独一无二的数字:
12位16进制的数字,称之为mac地址
前六位是产商号,后六位是流水号
以太网协议:
工作方式:
单播:
广播:广播的缺点是存在广播风暴
只能在局域网内实现通信,无法跨局域实现通信
总结:
mac地址作用(*****):
标识全世界上一台独一无二的计算机
3.网络层
实现全世界某一台计算机之间的通信
ip地址:(ip协议)
ip的版本:
IPV4:
点和十进制的组成
最小范围:0.0.0.0
最大范围:255.255.255.255
IPV6
IP的作用:
用于表示全世界某一台计算机的局域网的位置
ip地址加上mac地址:
标识全世界某一个局域网的某一台计算机
arp协议:
将id与mac绑定到一起,所以同id可以找到不同的mac地址
4.传输层
tcp与udp都是通过‘端口’来实现通信的
主要是软件与软件之间的通信
port端口:
用于标识据算计中某一个独一无二的软件
总结:
mac地址+ip地址+port端口:
标识的是全世界范围内某一个局域网内的某一个计算机上的某一个软件
5.应用层:
http协议和ftp协议