网络编程的课程回顾
架构:
c/s架构:充分发挥PC机的性能
B/S架构:统一了应用接口,隶属于c/s架构
物理地址:mac,全球唯一,类似于一个身份证
ip地址:四位点分十进制
(要求:二进制,十六进制,十进制)
arp协议: 通过目标ip地址,获取目标mac地址
OSI五层模型:
应用层 http协议,ftp协议,https协议,py文件
传输层 tcp/udp协议
网络层 ip协议
数据链路层 arp协议
物理层 传输电信号
交换机的通信方式:
单播:点对点
组播:点对多(一组,不是指所有)
广播:向多个PC端发送数据包(吼一嗓子)
交换机的功能:
组成局域网:,经过内部处理解析数据,将数据以点对点,点对多的方式发送给目标
路由器的功能:
跨网段的数据传输,路由出网络传输的最佳路径
TCP协议:面向连接的,面向字节流传输,可靠
UDP协议:无连接,面向数据包,不可靠,快
TCP协议和UDP协议的区别:
TCP有三次握手,四次挥手
三次握手: 第一次的请求一定是客户端先发起
客户端向服务器发送一个连接请求
服务器会回复一个确认接收到请求,并要求连接客户端
客户端回复服务器一个确认连接的信息
四次挥手:谁先发起的都行
客户端先发送一个断开连接的请求
服务器回复一个确认收到
服务器回复一个确认断开连接的请求
客户端回复一个确认收到
TCP可能会出现粘包情况
粘包:在数据传输过程中,接收端接收数据是,不知道应该如何接受数据,造成数据混乱的现象
粘包的原因:
一个是拆包机制
一个是合包机制(Nagle算法)
两个机制都是发生在发送端
TCP本质上就是只允许在同一时间,一个服务器和一个客户端保持连接
UDP允许一个服务器和多个客户端同时通信
新模块:
socket模块: 套接字,网络传输数据,处于应用层和传输层之间的一个抽象层
subprocess模块: Popen方法:执行操作系统命令的
struct模块: pack和unpack方法