网络编程 之 初识 网络通信编程 (一)
网络编程:
理论知识:
架构: 程序员开发的一种模式.
最老的架构: C/S 架构. 客户端/ 服务器 模式的架构
B/S 架构: Browser浏览器/服务器 模式的架构. 此架构解决了 C/S 冗(rong)余的现象
优势: 统一了 应用的接口
网络通信编程: ipconfig -all
1, 同一台电脑上两个py文件通信 --- 利用文件.
2, 两台电脑上通信 --- 利用一根网线
网卡: mac地址 物理地址(真实存在的才叫物理): 一般是由网卡的生产厂商给的, 不能随便给, 要遵循一定的规则, 因为, mac地址要求全球唯一, 此地址是 12位的十六进制数
mac地址的查看命令:ipconfig -all
ip地址 :
ipv4协议: 四位点分十进制.
3, 多台电脑通信 --- 利用交换机
交换机: 接受到请求帧后, 对所有的除了发送请求的服务器进行广播, 另外被请求的服务器处理过后再次返回给交换机, 然后交换器在单播给 发送请求的服务器.
服务器1找寻服务器2的mac地址的过程:
1, 发送请求帧给交换机;
2, 交换机以 广播方式找寻服务器2
3, 服务器2接受到请求后返回给交换机;
4, 交换机以单播方式返回给服务器1
这个整个过程就是服务器1, 通过服务器2 的ip地址, 借助交换机的功能,找到了服务器2的mac地址. 这个过程叫做: arp协议.(通过目标的ip地址找到目标的mac地址.)
4, 更多台电脑通信 --- 利用交换机 - 路由器
路由器: 有一个路由表, 记录了归它管理的所有的网段.
5, 如果确定一个Ip地址是否在当前局域网内:
用网段来确定一个ip地址是否在一个局域网中: 网段 = ip地址 & 子网掩码.
6, 协议: 由多人制定的一种规则.
通过socket模块可以去操作TCP协议和UDP协议
TCP协议: 代表安全可靠的通信方式. 在代码中 面向连接.
默认是 SOCK_STREAM
三次握手: 必须是客户端先发起请求.
1, 客户端发送给服务器端 我想连接你, 可以么
2, server发送给client 可以, 我也想连接你
3, client回复server, 可以
四次挥手: 谁先发起请求都可以. 中间有一端 连续发送了两条.
1,
2,
3,
4,
UDP协议: 代表追求通信速度: 快. 因为快,所以容易丢包,不太安全.
回环地址: 127.0.0.1 无聊什么时候都代表本机 ip地址 只限制本机使用.
7, 端口: 端口是 操作系统为每一个应用程序分配的一个端口号
ip地址+端口号确定唯一地址.
8. socket模块
sk.bind() 端口号: 0-1023 不能用.
sk.listen() 监听是否有连接.
9, OSI 五层模型:
应用层 py文件
传输层 TCP/UDP 协议
网络层 ip 协议
数据链路层 arp协议, 网卡
物理层 网线, 光纤等等.
1, arp协议
arp协议 : 通过目标ip地址获取目标mac地址.
(mac的地址是全球唯一的,12位16进制)
(id地址是四位点分十进制 (ipv4))
2, tcp 和 udp 的区别:
1,tcp协议: 代表安全可靠通信方式 面向连接
2,udp协议: 不安全,不可靠的通信方式,但是它快
3, tcp三次握手 和 四次挥手
三次握手:
1,client发送给server, 我想连接你,可以吗?
2,server收到后回复client,可以,我也想连接你,可以吗?
3,client回复server,可以
四次挥手:
1,client发送请求: 我准备断开连接了,我没有数据需要发送了,如果你有数据可以继续发给我
2,server回复: 确认接收到你的请求,我开始着手准备断开事宜
3,server回复: 我准备好了,可以随时断开连接
4,client回复: 断开连接吧
4, 什么是协议: 由多人制定的一种规则
5, tcp编码流程.
1: arp协议 : 通过目标ip地址获取目标mac地址.
(mac的地址是全球唯一的,12位16进制)
(id地址是四位点分十进制 (ipv4))
2: tcp协议和udp协议的区别?
1,tcp协议: 代表安全可靠通信方式 面向连接
2,udp协议: 不安全,不可靠的通信方式,但是它快
3.tcp三次握手和四次挥手:
三次握手: 注意必须是client先发起请求
1,client发送给server, 我想连接你,可以吗?
2,server收到后回复client,可以,我也想连接你,可以吗?
3,client回复server,可以
四次挥手: 谁先发起请求都可以
1,client发送请求: 我准备断开连接了,我没有数据需要发送了,
如果你有数据可以继续发给我
2,server回复: 确认接收到你的请求,我开始着手准备断开事宜
3,server回复: 我准备好了,可以随时断开连接
4,client回复: 断开连接吧
4.什么是协议?
由多人制定的一种规则