计算机网络知识总结-自顶向下-中科大讲授
课程目标
-
基本概念
-
工作原理
-
常用技术
课程内容--目录
- 第1章 什么是因特网
- 什么是internet
- 网络边缘
- 网络核心
- 接入网和物理媒介
- Internet结构和ISP
- 分组延时、丢失和吞吐量
- 协议层次和服务模型
- 网络安全
- 第2章 应用层 Application Layer
- 应用层概述
- 应用层原理
- Web and HTTP
- WebCache
- FTP
- DNS
- P2P
- 视频流化服务和CDN
- TCP Socket
- UDP Socket
- 第3章 运输层 数据平面
- 概述
- 多路复用和解复用
- 无连接传输UDP
- RDT可靠传输原理
- 原先连接的运输TCP
- 拥塞控制原理
- TCP拥塞机制
- 第4章 网络层 数据平面
- 导论
- 路由器组成
- IP
- 统一转发和SDN
- 第5章 网络层 控制平面
- 传统路由算法
- 内网网关协议
- ISP之间路由选择
- SDN控制平面
- 第6章 链路层和局域网
- 引论和服务
- 差错检测和纠正
- 多点访问协议MAC
- LANs
- MPLS
- 数据中心网络
- 生活场景http
- 第8章 计算机网络中的安全
- 概述
- 什么是网络安全
- 加密原理
- 认证
- 报文完整性
- 密钥分发和证书
- 各个层次的安全性
- 访问控制:防火墙
- 攻击和对策
第1章 什么是因特网
1.1 什么是Internet
网络:节点和边组成的
节点:主机节点和数据交换结点
边:接入链路和主干链路 + 协议。
协议:
TCP/IP来支撑的
分布式的应用以及为分布式应用提供服务的基础设施
网络的网络
1.2 网络边缘
主机和应用程序(客户端和服务器)
1.3 网络核心
作用:数据交换
互连着的路由器
网络的网络
关键功能:
- 路由:决定分组采用的源到目标的路径
- 转发:将分组从路由器的输入链路转移到输出链路
分组交换packet:
1. 不再拆分为pieces
- 存储--转发
- 因为需要存储所以存储耗时比较长 但是共享了网络
1.4 接入网和物理媒介
有线或者无线通信链路
住宅接入:modem 调制解调器
带宽、共享还是专用
1.5 Internet结构和ISP
端系统通过接入ISP进行接入到核心
ICP: Internet Content Provider,谷歌百度等
1.6 分组延时、丢失和吞吐量
分组丢失和延时的原因:分组到达链路的速率超过了链路输出的能力。
延时:存在分组队列。
丢失:路由器缓冲区有限,当溢出的时候再到来的分组就会被丢弃
-
上一条可靠链路重传
-
源宿主机重传
-
源宿主机不重传
四种分组延时:
-
节点处理延迟 检查是否出错
-
排队延时 取决于网络使用情况
I = La / R
-
传输延时 : L / R
L:分组长度bits.
R:链路带宽(bps bit per second)
当分组完全发送到链路上的时间 = L / R
存储转发时延
-
传播延时 D / S
d = 物理链路的长度
s = 在媒体上的传播速率
20w km (~2 * 10 ^ 8)
ICMP:
Round Trip Time:往返时间
Traceroute:设置递增的ICMP的TTL
traceroute:gaia.cs.umass.edu to www.eurecom.fr
TTL:TIme to Live
吞吐量
瓶颈链路
1.7 协议层次和服务模型
通过分层来解决 laying model
协议protocol Elements:
-
Syntax语义
Semantics语法
-
Timing 时序关系
-
Actions 处理动作
1.8 网络安全
第2章 应用层
2.1 应用层概述
2.2 应用层原理
2.3 Web and HTTP
HTTP无状态
不维护客户端的状态。
优点:比较简单
HTTP连接
-
非持久HTTP
1.0 采用
连接关闭
-
持久HTTP
1.1采用
连接不关闭
- 连接请求
- 连接确认
- http请求
- http响应
- 关闭连接(非持久)
非流水线方式:
一个工厂一个时间只做一辆汽车
流水线方式:
一个工厂一个时间做多辆汽车(连续发送)
响应时间模型
请求报文
ASCII可读:
- 请求行 request line
- 首部行Header
- 换行回车符
- Entity Body
sp:空格
cr lf:换行回车符
请求方式解析
HTTP响应报文
- 状态行
- 首部行
- 数据
Last——modified:类似于版本号
Conten-Length:多少字节是报文内容
Content-Type:
Cookies
可以支持HTTP协议维护客户端状态,继而完成相应的操作
应用:
- 用户验证
- 购物车
- 推荐
- 用户状态
2.4 WebCache(web缓存--代理服务器)
28分布:80的人访问20的内容
条件GET方法
2.5 FTP 文件传输协议
通过客户端上传或者下载文件到服务器。
知名端口:21(控制连接端口),20(数据连接端口--由服务器向客户端建立连接)
RFC:959
有状态的、两个连接上进行
2.6 EMail
- 用户代理
- 邮件服务器
- 简单邮件传输协议SMTP
port:25
POP3
存取协议。拉取邮件服务器
邮件报文格式
报文格式:多媒体扩展
base64:将若干个不在ascii码范围内的字节转为更长的在ascii字符的范围的字节。
经过扩展就可以传输:图片/可执行文件等。
邮件访问协议
2.7 DNS
域名到IP地址的转换关系
人类访问机器的“字符串”名称,DNS负责将该字符串转换为二进制的网络地址
分层命名,分布式的解
UDP:不需要握手
知名端口:53
互联网核心功能大多数在应用层实现
其它功能:别名 -> 正规名字 -> IP地址
DNS 名字空间(name space)
.com (商业公司)
好处:可靠。
主机域名:树叶往上走直到顶级域
域的域名:树枝往上走直到顶级域
TTL作用:
缓存是为了性能
删除是为了一致性
type:
报文格式
2.8 P2P应用
文件分发时间对比
随N的增加线性的增加
非线性增加
请求服务的节点同时也是提供服务的结点,具备可扩展性。
P2P分类
-
非结构化P2P:
peer节点是无序的,任意的,对等的
-
集中化目录:
-
完全分布式
Flooding:洪水式查询。
-
混合体
-
-
DHT(结构化)P2P
可以构成树或者环的复杂关系
对IP地址做Hash得到一个ID
根据ID范围来各自维护
Overlay:覆盖网
客户机先向死党节点发出ping,死党节点转发ping并返回给死党节点pong,
BitTorrent
稀缺优先策略,一报还一报
集体利益和个人利益合为一体
种子:拥有整个文件的全部。
BT搜索引擎:根据描述查找,然后该文件的获得Hash值然后再去文件服务器找文件
Traking Server:负责让用户加入洪流
2.9 视频流化服务和CDN
上下文:
空间冗余:相同的像素点
时间冗余:只发送有差别的地方
AVS
流化服务
DASH:动态自适应
CDN
角色:CDN运营商
运行在应用层over the top
让内容靠近用户
内容加速服务
深入群众
卡住关键位置
边放边改
2.10 TCP 套接字
数据结构sockaddr_in
- sin_family: 地址簇(TCP或者UDP)
- sin_port:port
- sin_addr:IP地址
- sin_zero[8]:对齐
数据结构hostent
2.11 UDP 套接字编程
2.12 第2章小结
第3章 运输层
3.1 概述和运输层服务
3.2 多路复用和解复用
借助端口实现
3.3 无连接传输UDP
用户数据报协议
应用层实现可靠性
SDU:服务数据单元
校验和Check Sum:EDC,校验判断数据报是否出错,表现为丢失
头部8字节,TCP20个字节
反码
3.4 RDT可靠数据传输原理
接收方:接受,解封装,传递
超时重传来处理死锁:大于RTT
Wr = 1 - > Go back N协议
3.5 面向连接的运输TCP
TCP报文段结构
可靠数据传输
累计确认:发送端发送ACKn 说明这之前的已经确认被收到
单个重传定时器:为多个段设置一个定时器,超时时只发最老的
流量控制
捎带技术。
连接管理
本质:
- 建立连接
- 准备资源
- 变量置位
关闭连接:
- 两个方向单独拆除(对称释放)
- 不完美的拆除(两军问题)
3.6 拥塞控制原理
3.0效率不高
拥塞控制方法
信元:53字节
3.7 TCP拥塞:机制
采用端对端的控制方法。
拥塞感知
SS:Slow Start
CA:congestion Avoidance
FR:fast recovery
TCP吞吐量
TCP公平性
大致公平
第三章总结
第4章 网络层:数据平面
4.1 导论
数据平面
控制平面
4.2 路由器组成
输入端口
queu用于解决:发送和接受的速度不一样,匹配速度
交换结构fabric
第一代路由器:采用软件的方式基于memory实现(思科cisco)
第二代路由器:
第三代路由器
输出端口
当缓冲区没有空闲空间的时候则会丢弃数据报。
输出端口调度机制
RR
加权公平队列
4.3 IP:Internet Protocol
ICMP:信令协议 -> ping 一台设备是否连通
数据报格式
分片
目标主机收到到来的第一片的时候就启动一个Timer,当Timer结束还没到齐就全部弃用。
IPv4
子网subnet
特点:子网前缀一样,分组转发一跳可达,无需借助路由器
6个子网
IP地址分类:
- A 126(2 ^ 7 - 2)个networks 全0和全1的约定不使用, 2 ^24 - 2个hosts
- B [10] 2^14 -2 = , 2^16 - 2= 65534
- C [110] 2^21 - 2 , 2^8 - 2 = 254
- D 广播地址
- E 预留的地址
A,B,C类地址为单播地址
D,E
IP路由按照子网来计算
子网掩码:掩码为1则代表该位的下标为子网号的长度(/23 表示前23位子网号)
作&运算即可以得到子网号,继而查询路由表,不需要主机号
- 目标子网号
- 子网掩码
- 下一跳
- 端口
默认端口为:默认网关
上网必须配置的四个信息:
- ip
- 掩码musk
- local name server
- default gateway
如何获得一个IP
DHCP
路由聚集 route aggregation
采用最长前缀匹配
NAT:网络地址转换
内网的IP和端口,转换为外网的IP的空闲的端口,记录在NAT转换表中
内网穿透
内网穿透:在内网运行web项目,外部可以访问
IPv6
IPv5废弃掉了。
不允许分片:如果过大,就启用并发送ICMP(v6), 让主机主动分小
ver:版本号
pri:优先级
hop limit = ttl
flow label : QoS做准备
payload len: 载荷长度
源地址:128位
目标地址:128位
v4完全转为v6比较困难。给房子刷一遍油漆(隧道)要比拆了房子再盖简单。
4.4 通用转发和SDN
SDN
网络操作系统
IBM捆绑式销售。
匹配
行动
OpenFlow
第5章 网络层:控制平面
5.1 传统路由算法
路径:路由器的序列
指标:价钱、跳数、延迟
sink tree
为什么不是图:因为如果有环就不能确定选择的路径
Link State(LS) 链路状态算法(迪杰斯特拉算法)
类似ttl的字段解决广播风暴,再加上序号
可靠的泛洪
最后得到的路径为汇集树
distance vector(DV)距离矢量算法
好消息传的快,坏消息传的慢,经过无限次迭代收敛得到一个真实状态状态,可能存在环路
5.2 因特网中自治系统内部的路由选择-内部网关协议
RIP
ad:通告
RIP进程实现了网路功能,借助了传输层。
OSPF:开放最大路径优先
5.3 ISP之间的路由选择:BGP
基于距离矢量算法实现的。
TCP路由,内部网关协议
采用路径根据策略来打分评估。
热土豆策略:传递给最近的。
5.4 SDN控制平面
SDN控制器
逻辑上集中,物理上分布
软件实现网络设备的功能 NAT等
总结
第6章 链路层和局域网
6.1 引论和服务
链路层服务
本身比较可靠,差错风险较小,实现可靠花费较大的代价没有必要(以太网。
无线链路差错率较高,需要实现可靠传输(可靠的)。
网卡、适配器
6.2 差错检测和纠正
可能同时出错,残存错误。
对偶错误
-
模2运算:异或, 加减一样
-
两种位串的表示
-
将D生成G多项式
-
D + EDC(r位CRC)使得整体刚好被生成多项式G整除。
6.3 多点访问协议MAC
media Acess、Multiple Acess
时隙
纯ALOHA(非时隙
效率17.5%
CSMA
说之前听一听
CSMA/CD
事前先听,边说边听(以太网采用)
无线局域网CSMA/CA
无法做CD,做了CD没有用。CD不好用。暴露终端
线缆接入网络
6.4 LANs
addressing,ARP
IP地址分层, MAC地址是平面的。
每一跳都是IP转换为MAC地址。
查询:发送广播报,查询对应主机的MAC地址,并缓存到ARP表,20min后就会删除(为了适应IP/MAC地址的变化)
Ethernet 以太网
终结器:吸收电磁波信号。热量
交换机解决高负载问题。
规模效应。
互联网企业-赢者通吃,越好越好。
低负载/高负载都比较好,因为引入了交换机可以解决高负载。
双绞线:解决串扰,截面小,电磁波穿过形成的电势小。
4b5b编码:为了解决全0或者全1的数据。跳变来同步时钟
switches交换机
碰撞域:网段
自学习:获得交换表
泛洪:不知道目标MAC绑定的端口在哪
过滤:进来的端口和出去的端口一样,不需要做动作
转发
VLANS
6.5 链路虚拟化:MPLS
多协议标签交换。
6.6 数据中心网络
6.7 A day in the life of web request一个web请求的日常场景
LAN:不碰撞 = 成功
条件:帧>= 2 tao , 2 tao = rtt
总结
第8章 计算机网络中的安全
8.1 概述
8.2 什么是网络安全
加密:信道中传输的是密文。
认证:认证对方的身份。
报文完整性:报文没有被改变。
保证服务的可用性。
私密的,可认证的,报文完整,服务可用的
8.3 加密原理
plaintext : 明文
ciphertext: 密文
公开密钥加密:非对称加密
对称密钥加密
字频,词频可用做启发式破解。
存在密钥分发问题。
3重DES。
分组成串:当前要加密的明文,与前一个加密过的密文做一个异或再做加密,加密的结果不仅依赖密钥还依赖前一个。
公开密钥加密
证书中包含。不需要密钥分发。
通常是DES的一千倍。
数字签名。
二战英国截取德国加密机。
8.4 认证
通信之前先认证身份。
8.5 报文完整性
报文摘要算法
多到一。
固定长度。
反向计算困难。
私钥签署,公钥解密。
8.6 密钥分发和证书
借助可信赖第三方。
KDC 密钥分发中心
CA 认证中心
证书
8.7 各个层次的安全性
安全电子邮件
对作者走私军火,影响了美国的情报机构。
安全套接字
安全套接字层
Elon Musk做电子商务。PayPal。
IPsec
802.11中的安全性
8.8 访问控制:防火墙
按照网络管理员配置的规则进行飞放行。
DOS攻击。
DDOS:分布式DOS。
all是默认规则。
内网向外网连接建立起才能放行。
8.9 攻击和对策
ARP协议。