计算机网络概述
前言 & 课程介绍
课程目标和收益
建立对计算机网络的整体认知,对计算机网络中的各种概念(网络分层、网络协议、网络应用等)有初步的理解。 进而可以在后续的实际工作中能高效解决网络问题。
课程内容
- 通过一个示例建立对计算机网络的整体认识
- 建立对网络协议分层的认知
- 分析HTTP1、2、3的关系
- 介绍CDN运行的基本原理
- 了解网络安全的最基本原则
分析方法
-
自底向上
- 从简单开始,逐渐变复杂
- 将模块逐步拼凑成一个系统
-
自顶向下
- 从复杂开始,逐渐变简单
- 从复杂的系统问题入手,拆分为模块问题
蟹煲王帝国
通过蟹煲王帝国的例子讲述ISP路由器可以连接企业路由器或者其余的ISP路由器,其余的ISP路由器接下来外连家庭路由器或者服务器。
计算机基础
网络组成部分
- 主机:客户端、服务端
- 路由器
- 网络协议
网络结构(以蟹煲王帝国为例子)
- 比奇堡网络和本地网络:本地网络
- 北京和上海分店+比奇堡:三个本地网络的节点的网络
- 全国通信网络:本地网络的网络
- 区域网、城域网和广域网
网络基础
- 信息交换方式:电路交换和分组交换
网络分层
- 分清职责,物理层、链路层、网络层、运输层和应用层
网络协议
- 标头和载荷
web中的网络
- HTTP 1 2 3的演进历史
- CDN解决了HTTP 协议之外的问题
- WebSocket 从HTTP协议升级而来
网络安全
网络安全三要素
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另方通信
网络安全对称加密和非对称加密
- 对称加密:加密、解密用同样的密钥
- 非对称加密:加密、解密使用不同的密钥(公钥和私钥), 而且公钥加密只能用私钥解密、私钥加密只能用公钥解密
网络安全:密码散列函数(哈希函数)
输入:任意长度的内容
输出:固定长度的哈希值
性质:找到两个不同的输人使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
网络安全:机密性
加密需要加密算法和密钥等信息(统称为秘密信息)
网络是明文的,不安全
怎么在不安全的信道交换秘密信息?
网络安全:完整性和身份验证
如何实现完整性
- 密码散列函数性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
- 有明文m,密码散列函数H
- 计算H(m)获得哈希值h
- 将m和h组合成新信息m+h
- 接收方拆分m+h,重新计算H(m)得h',对比h'和h
如何实现身份认证
网络安全:如何实现身份验证
-
数字签名: 对明文内容的哈希值使用私钥加密,验证者使用公钥验证
-
数字签名(指纹) =私钥加密(密码散列函数 (原文) )消息=原文+数字签名
-
般用于对公开内容(如包含公钥的证书)进行数字签名,防止篡改