计算机网络通过连接电缆、电话线和无线通信包括计算机连接起来。
计算机网络硬件一般为主计算机、网络工作站、网络终端、通信处理器、通信线路和信息变换设备6部分组成
计算机网络软件一般由网络操作系统、网络协议软件、网络管理软件、网络通信软件和网络应用软件5部分组成
网络组成部分
主机:客户端和服务端
路由器
网络协议
网络的结构(网络的网络)
区域网络 城域网 广域网
电路交换和分组交换
协议的存在依赖于连接,协议定义在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和或接受一条报文或其他事件所采取的动作。
网络基础
标头和载荷
HTTP协议示例
链路层-本地帧头部
链路层-IP协议头部
应用层-HTTP协议头部
网络分层
分清职责,物理层、链路层、网络层、运输层和 应用层
TCP协议格式
Web中的网络
HTTP、HTTP连接模型、(队头堵塞)
HTTP1.1: 无法多路重用
HTTP2:帧
前三个字节,载荷长度
第四个字节类型
第五个字节:类型对应的Flags
第六到九第一位:保留位
第2-32位:流ID
随后8192字节:载荷
HTTP2:帧带来的额外好处
调整响应传输的优先级
头部压缩
Server Push
HTTP2:队头堵塞,但是在TCP上
04Web 应用
HTTP 2:队头堵塞,但是在TCP上
OTCP包0:包含了(包含了style.css的第1行内容)的HTTP2的帧
TCP包1:包含了(包含了main.js的全部内容)的HTTP2的帧
TCP包2:包含了(包含了style.css的第2行内容)的HTTP2的帧
TCP包3:包含了(包含了style.css的第3行内容)的HTTP2的帧TCP包1丢包了!
HTTP2:3RTT启动
HTTP3:QUIC
HTTP4:QUIC-1RTT
HTTP:QUIC-0RTT
CDN:DNS 劫持
域名解析一般由网站自己处理
要加速的域名则重定向到CDN厂商的域名解析服务处理CDN厂商根据来源确定最近的CDN服务器的IP
用户直接访问最近的CDN服务器
WebSocket
有状态的持久连接
服务端可以主动推送信息
用WebSocket发送信息延迟比HTTP低网络安全
网络安全:三要素
机密性:攻击者无法获知通信内容
完整性:攻击者对内容进行篡改时能被发现
身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信