'''


1.软件开发架构
c/s架构
c:客户端
s:服务端

b/s架构
b:浏览器
s:服务器

服务端:24小时不间断提供服务
客户端:可以随时向服务端寻求服务

网络编程的发展史
任何先进的技术都来源于军事

过去
1.早期的电话 电话线
2.屁股电脑 网线
3.笔记本电脑 无线电话 网卡

以上可以证明 数据信息传输需要介质
除了介质还需要协议

osi协议
7层 应表会传网数物
应用层 表示层 会话层
传输层
网络层
数据链路层
物理层连接层

1.物理连接层
基于电信号传输0101010二进制数据
2.数据链路层
规定的电信号分组
规定了任何一台电脑接入互联网的计算机都必须要网卡
每一块网卡都有独一无二的编号
12位16进制数
前6位是厂商号
后6位是流水线编号
我们管这12位数叫mac地址

交换机
基于以太网协议通讯
不能跨局域网通讯

互联网是有n多个局域网彼此之间连接而成

3.网络层
ip协议
点分十进制
ip地址最小为:0.0.0.0
ip地址最大为: 255.255.255.255
ip地址目前有两个版本:ipv4 ipv6

4.传输层
tcp/udp 基于端口工作
端口(port):唯一表示一台计算机上的某个应用程序
端口号的范围:0-65535
注意:0-1024 这些都是操作系统默认使用的端口号
建议:使用8000之后的端口
MySOL默认端口:3306
redis默认端口:6379
django默认端口:8000
flask默认端口:5000

端口号是动态分配的
第一次起qq分配到8989
将qq关闭再次启动端口号可能变了

5.总结
ip地址:标识唯一计算机
port端口:标识唯一程序
ip+port:标识 接入互联网上的一台计算机的某个程序

6.应用层
http协议
ftp协议


tcp协议
流式协议,可靠协议
基于tcp协议通信 必须先建立双向通道

tcp协议传输数据之所以可靠的原因就在于有双向通道?
这种说法是错误的

三次握手四次挥手

三次握手建连接
四次挥手断连接



'''