网络编程
1 网络基础相关的知识 unix系统的中心思想是 : 一切皆文件
(1) 架构
a. C / S架构 : client客户端 和 server服务器端 优势 : 能充分发挥PC机的性能
b. B / S架构 : browser浏览器 和 server服务器 隶属于C/S架构 B / S架构 统一了应用的接口.
(2) 通信的事:
a. 同一台电脑上两个py程序通信 : 打开一个文件
b. 两个电脑如何通信 : 连一个网线
c. 多个电脑通信 :
ex : 电脑1(源)要找电脑2(目标)
电脑1首先发送一个请求帧,期中包含(我的ip是xxx,我的mac地址是xxxx,我要找ip地址为xxxxx的主机),将此请求发送给交换机.交换机要广播这条消息给其他所有的主机
目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(我的ip地址是xxxxx,我的mac地址是yyyy,请回复给ip地址为xxx mac地址为xxxx的主机) 交换机单播形式返回给源主机
知识点 :
1 mac地址 : 是一个物理地址,全球唯一, 类似于身份证
2 ip地址: 是一个四位点分十进制,它标识了计算机在网络中的位置.类似于 学号
3 交换机的通信方式:
广播 : 吼一嗓子
单播 : 一对一
组播 : 一对多
4 arp协议 : 通过目标ip地址获取目标mac地址的一个协议.
5 端口 : 操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序 ip地址 + 端口 能唯一找到某台电脑上的某一个服务程序
6 路由器 : 连接不同网段 , 路由
7 网关 : 类似于一个局域网的出口和入口
8 网段 : 一个局域网内的ip地址范围
9 子网掩码 : 子网掩码 & ip地址 得到网段
10 osi 五层模型:
应用层 : http,https,ftp
传输层 : tcp / udp 四层交换机 四层路由器
网络层 : ip协议 路由器 三层交换机
数据链路层 : arp协议 以太网交换机 网卡 网桥
物理层 : 传输电信号 集线器 网线 光纤
三次握手 :
A:你瞅啥 1
B:瞅你咋地 2
A:再瞅一个试试 3
B:试试就试试(已经连接了,没有这一步)
四次挥手 :
A:我要走了
B:你真的要走吗
B:你真的真的要走了吗
A:是的我真的走了
TCP:就像打电话一样 他连接稳定, 可靠的,面向连接的,面向字节流形式的传输方式
UDP:就像是发短信传输完成就会断开连接释放资源效率低, 不可靠的,不面向连接的,面向数据报的传输方式,但是它快
URL: 由五部分组成 协议://ip地址:端口/项目名/资源(可以少的但是不能多)