网编回顾
内容回顾
day28
# 概念
# 架构 : B/S C/S
# 硬件 :
# 网卡 :在计算机中 帮助我们完成网络通信
# 交换机 :在局域网内多台机器之间通信
# 路由器 :多个局域网之间的机器之间的通信
# 局域网 :一个区域内的多台机器组成的一个内部网络
# 域名 : 和ip地址有一个对应关系,我们访问的域名经过解析也能得到一个ip地址
# 协议类 :
# arp协议 : 通过ip地址获取mac地址
# ip协议 : ip地址的规范
# ipv4\ipv6
# 地址类:
# ip地址 :四位的点分十进制
# mac地址 :12位十六进制
# 子网掩码 : ip地址,255.255.255.0,255.255.0.0,255.0.0.0
# 网关ip : ip地址,你所在的网段和网关所在的网段是一样的192.168.16.254
# 保留字段 :
# 10.0.0.1-10.255.255.255
# 172.16.0.0-172.31.255.255
# 192.168.0.0 - 192.168.255.255
# 本地回环地址 127.0.0.1
# 全网段地址 0.0.0.0
# 概念
# 架构 : B/S C/S
# 硬件 :
# 网卡 :在计算机中 帮助我们完成网络通信
# 交换机 :在局域网内多台机器之间通信
# 路由器 :多个局域网之间的机器之间的通信
# 局域网 :一个区域内的多台机器组成的一个内部网络
# 域名 : 和ip地址有一个对应关系,我们访问的域名经过解析也能得到一个ip地址
# 协议类 :
# arp协议 : 通过ip地址获取mac地址
# ip协议 : ip地址的规范
# ipv4\ipv6
# 地址类:
# ip地址 :四位的点分十进制
# mac地址 :12位十六进制
# 子网掩码 : ip地址,255.255.255.0,255.255.0.0,255.0.0.0
# 网关ip : ip地址,你所在的网段和网关所在的网段是一样的192.168.16.254
# 保留字段 :
# 10.0.0.1-10.255.255.255
# 172.16.0.0-172.31.255.255
# 192.168.0.0 - 192.168.255.255
# 本地回环地址 127.0.0.1
# 全网段地址 0.0.0.0
day29
# osi五层协议
# 不是真实存在的,只是抽象出来的模型
# 应用层
# 传输层 TCP/UDP
# TCP :全双工,可靠的,面向连接的,速度慢,对数据大小没有限制
# 建立连接 :三次握手 SYN ACK
# 断开连接 :四次挥手 FIN ACK
# UDP :不可靠,无连接的,速度快,对数据大小有限制
# 网络层 ip
# 数据链路层 arp(ip-->mac) rarp(mac-->ip)
# 物理层
# TCP/IP 也是抽象出来的模型
# 网络层 arp(ip-->mac) rarp(mac-->ip)
# tcp协议的代码
# udp协议的代码
总结
# 1. 黏包现象 发送的两条数据粘在一起了
# 2. 成因 :
# 发送端粘 : 合包机制
# 接收端粘 : 接收不及时
# 数据与数据之间是无边界的流式传输
# 3.解决黏包现象
# 自定义协议
# struct模块
# 把任意长度的数字变成固定的4个字节
# 低级
# 先发送数据的长度
# 再发送数据
# 高级
# 先把所有想发送的数据信息放在字典里
# 发送字典的长度
# 发送字典
# 发送涉及的数据
# 作业:
# 1\ 默写 黏包协议
# 2\ 上传大文件(文件\视频\图片)
# 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上
# 4\ 进阶 : 带上登录
day30
回顾
# 黏包
# tcp协议为了保证数据的可靠传输和传输效率
# 合包机制 : 连续多条短数据会合并成一条
# 拆包机制 : 一个过大的数据会在发出之前被拆成几个小包
# tcp的黏包发生在两端:
# 发送端 : 合包机制导致
# 接收端 : 接收不及时
# 发生黏包的本质:由于tcp协议流式传输的特点导致数据与数据之间边界不清晰
# 自定义协议
# struct:能够把一个任意的数字变成固定的四个字节
# 基础版本 :先发送数据的长度(固定4字节),再发送数据本身
# 进阶版本 :先发送字典的长度(固定4字节),再发送字典,再发送数据本身
总结
# 很多概念
# osi五层协议
# tcp协议和udp协议
# tcp协议 三次握手 四次挥手
# 代码
# 区别
# tcp 面向连接,流式传输,慢,可靠,全双工
# udp 面向数据包,快,不可靠,无连接
# tcp协议 黏包
# 自定义协议来解决问题 struct
# 为什么会发生黏包
# tcp协议能够处理多个client的请求 - socketserver
# 验证客户端合法性 hmac/hashilib