网络编程(通信基础)
网络编程
软件开发架构:
c/s架构:
c:客户端
s:服务端
b/s架构:
b:浏览器
s:服务器
手机端:好像C/S架构比较多,其实微信小程序,支付宝第三方,统一接口
PC端:B/S架构比较多
本质:B/S是C/S的一种
osi七层:
1.物理层:
实现计算机之间的物理连接,传输的数据都是而二进制
2.数据链路层:
(1)规定了二进制数据的分组方式
(2)规定了只要接入物联网的计算机,都必须有网卡
网卡具有唯一编号:mac地址,(12位16进制来表示,前6位是厂商编号,后6位是流水号)
(1),(2)组成了以太网协议。
基于以太网协议通信:通信基本靠吼(容易造成广播风暴)
3.网络层(ip协议):
规定计算机必须要有一个IP地址
ip地址(点分十进制)最大为:255.255.255.255 最小为:0.0.0.0
IP协议可以跨局域网传输。
IP地址标识每一台机器
4.传输层:
tcp,udp基于端口工作的协议
计算机之间的通信:应用程序之间的通信
端口(port):唯一标识i计算机上某一个基于网络通信的应用程序(0~65525)
0~1023为静态端口(操作系统分配的)
所写软件端口号建议在8000后:
flask框架默认端口:5000
django框架默认端口:8000
mysql数据库默认端口:3306
redis数据库默认端口:6379
一台计算机上同一时间一个端口号只能被一个应用程序占用。
总结:
ip+端口号(port):标识唯一计算机某一程序
arp协议:根据ip地址解析mac地址
应用层(HTTP协议,FTP协议):
TCP协议(流式协议,可靠协议):三次握手,四次挥手