计算机网络概论
前言和课程介绍
课程目标和收益
建立对计算机网络的整体认知,对计算机网络的概念:
- 网络分层
- 网络协议
- 网络应用
课程介绍
基本学会:
- 通过一个实例建立对计算机网络的整体认知
- 建立对网络协议分层的认知
- 分析HTTP1.1、2、3
- 介绍CDN运行的基本原理
- 了解网络安全的最基本原则
通过蟹堡王帝国例子进行深入
蟹老板有一个小目标,然后有一个三步走战略:在比奇堡开通外卖,在北京和上海开分店,在全国开分店并开通外卖
比奇堡外卖、北京上海分店和全国分店和通信网络示意图如下所示:
网络基础
网络组成部分:
- 主机:客户端和服务器
- 路由器、交换机
- 网络协议
网络结构:网络的网络
- 本地网络:比奇堡和小区网络(区域网络)
- 北京上海分店加上比奇堡:三个本地网络节点的网络(城域网)
- 全国通信网络:本地的网络的网络(广域网)
协议:标头和载荷
- 协议的存在依赖于连接
- 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和接受一条报文或其它事件所采取的动作。
HTTP协议示例
HTTP协议分为了以下几类:
- 链路层-本地帧头部
- 链路层-IP协议头部
- 运输层-TCP协议头部
- 应用层-HTTP协议头部
TCP协议格式
信息交换方式:电路交换和分组交换
网络分层:分清职责、物理层、链路层、网络层、运输层和应用层
Web中的网络
HTTP连接模型:队头堵塞
HTTP1.1:无法多路复用
HTTP2:帧带来的额外好处:
- 调整响应传输的优先级
- 头部压缩
- Server Push
HTTP2:队头堵塞,但是在TCP上
HTTP2:3RRT启动
HTTP3:QUIC
- 现代网络设备对TCP和UDP支持已经僵化
- UDP不靠谱但是QUIC靠谱
- QUIC可以为除HTTP协议以外的应用层协议提供支持
CDN:DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器IP
- 用户直接访问最近的CDN服务器
WebSocket
- 有状态的持久连接
- 服务端可以主动推送消息
- 用WebSocket发送消息延迟比HTTP低
网络安全
三要素
- 机密性:攻击者对内容进行攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信