网络编程(一) 简介
一 . 软件开发的两种架构
c/s架构: 客户端----服务端 >>> 网络编程
b/s架构 (本质也是c/s架构): 浏览器----服务器>>> 并发编程,前端,数据库,框架
二. 计算机界的通用语言------协议
OSI七层协议:
应用层---表示层----会话层----传输层-----网络层-----数据链路层-----物理连接层
五层协议:
应用层----传输层----网络层----数据链路层-----物理连接层
1.物理连接层: 计算机之间的物理连接,电信号只有高低电平,输出的数据是01二进制符号;
2.数据链路层(以太网协议):
(1) 规定了二进制的分组方式;
(2) 接入物联网的计算机必须有一块网卡, 其上烧制有唯一mac地址, 用长度为48位2进制(12位16进制)数表示, 前6位是厂商编号,后6位是流水线号
基于以太网协议通信, 通信基本靠吼, 弊端是会产生广播风暴;
交换机: 可实现多台电脑之间的物理连接;
注: 以太网协议无法跨局域网, 局域网间的通信依靠路由器连接
3.网络层 (IP协议): 规定计算机都有一个IP地址 (点分十进制), 版本: ipv4及ipv6 , 范围:0.0.0.0-- -255.255.255.255
IP地址能唯一标识互联网中独一无二的一台计算机
注 :IP协议可以跨局域网
ARP协议:根据ip地址解析mac地址
4.传输层(端口协议): TCP / UDP 协议都是基于端口工作的协议
端口(port): 唯一标识一台计算机某一基于网络通信的应用程序
端口范围: 0-65535(动态分配) ,其中0-1024是归操作系统分配的端口号
flask默认端口号:5000
django默认端口号:8000
mysql默认端口号:3306
redis数据库默认端口号:6379
注: 一台计算机同一时间一个端口号只能被一个应用程序占用
TCP协议 (流式协议,可靠协议): 三次握手四次挥手: 由于断开链接时,双方都要确认是否还有数据
需要发送, 所以四次挥手不能合并成三次
UDP协议 (数据报协议): 无需建立双相连接,传输数据不可靠,可能出现丢包情况
5.应用层(http协议,ftp协议)
待续.......