第四章 网络层:数据层面
网络层的关键功能:转发(局部),路由(全局)。
-
数据层面:转发(传统方式--仅IP;SDN方式--各个字段)
-
控制层面:选路
路由器组成
-
路由:路由选择算法生成路由表
-
转发:从输入到输出根据路由表进行分组转发
- 基于头部字段的任意组合进行转发
- 基于目标的转发--仅仅依赖IP地址
-
交换结构(将分组从输入缓冲区传输到合适的输出端口)
- 内存交换
- 总线交换
- 通过互联网络交换
排队延迟,当输入或输出缓存溢出都会造成分组丢失
- 调度策略
- 先进先出
- 丢弃策略:丢弃刚到达的分组,按优先权丢弃,随机丢弃
IP
网络链路有MTU(最大传输单元),大的IP数据报在网络上被分片在最终给的目标住进处进行重组。
若目标主机只收到其中一片,则全部抛弃。
- IP地址:高位--子网;低位--主机
同一子网内的节点,IP地址高位相同,子网内个主机可以在物理上相互直接到达,无需路由器接入。
- 约定
- 子网部分全为0---本网络
- 主机部分全为0---本主机
- 主机部分权威1---广播地址
127.0.0.1 为自身(回路地址)
主机获得IP地址:手动配置、DHCP
-
DHCP
- 接入网络的主机广播DHCP报文(使用32为位全0位IP)
- DHCP服务器响应报文
- 主机请求IP
- DHCP服务器发送地址
-
NAT(网络地址转换)
一个IP用于局域网中所有设备(通过NAT转换表保存局域网设备)
-
外出数据包替换源地址和端口号
-
进入数据包替换目标地址和端口号
-
NAT穿越问题
- 静态配置NAT
- UPnP IGD协议 自动化静态NAT端口映射
- 中继
-
IPv6
头部改变加速处理和转发,帮助QOS
通用转发和SDN
逻辑上集中的控制层面;控制层在数据交换设备之外实现,SDN控制器通过南向API访问基于流的交换机
第五章 控制层面
路由:找到一条源节点套目标节点的较好路径。以网络位单位进行路由。子网间路由相较于主句代价较少。
路由选择算法
全局路由信息--link state
分布式(路由器只知道与他相邻的路由器及代价值)—— distance vector
LS:通过泛洪传播的方法使每个路由器获得拓扑和边代价,之后通过dijkstra算法周到最短路径。
深度优先
将相邻节点的代价重新计算,更新并选择代价最小的进行下一步
-
distance vector
各路由器定旗与相邻路由器交换路由表
定期测量路由器到相邻节点的代价
好消息传的快,坏消息传的慢 -
ls与dv算法的比较
- 复杂度dv更低
- 收敛时间:ls有可能震荡,dv收敛较慢
- ls路由较健壮,dv错误会扩散至全网
自治系统内的路由选择
在一个自治区域内的算法
-
RIP
dv算法
-
OSPF
仅在一个区域内泛洪
使用ls算法
ISP之间的路由选择
- 平面路由存在的问题
- dv距离矢量大,且不能够收敛
- ls上百万个节点泛洪传输,存储及路径计算
- 管理希望对外隐藏网络细节,便于管理
层次路由:将互联网分为一个个AS(路由器区域)
同一个AS内运行着相同的路由协议(不同的AS内部协议可能不同),不同AS间运行AS间路由协议。
优点:扩展性强,内部规模可控
- BGP(边界网关协议)
- eBGP(外部):从相邻的ASes哪里获得子网可达信息
- iBGP(内部):将获得的信息传输的AS 内部所有路由器
BGP会话在一个半永久的TCP连接上交换报文
- 两个重要属性
- AS-PATH:检测环路(多路径选择);向其他AS转发时,需要将自己的AS号加在路径上
- NEXT-HOP:从当前到下一跳AS由多少个链路
基于策略的路由:对于接收到到通告根据规则过滤,并决定是否向邻居通告路由信息。
- BGP路径选择
- 本地偏好值属性
- 最短的跳数
- 热土豆路由
- 附加:根据BGP标识
ICMP
ICMP(因特网报文控制协议)是一个差错报告机制,属于网络层协议。
当数据包处理过程出现差错时,ICMP向数据包的源端设备报告这个差错,它既不会纠正这个差错,也不会通知中间的网络设备。
应用:ping,tracert
第六章 链路层与局域网
网络层解决了一个子网到另一个子网的问题,链路层负责从一个节点通过链路将(帧中的)数据包发送到相邻的物理节点。
子网中若干节点的连接:点到点连接,多点连接
- WAN:点到点,带宽大,距离远;海底电缆。
- LAN:街道共享型介质上(多为交换机)
数据报在不同的链路上以不同的链路协议传送
成帧:帧头部使用MAC地址表示源和目的地
一个网络内相邻两个节点可以完成可靠数据传递
在一些出错率低的链路上(光纤等)可以放弃本层的可靠控制工作,但在高差错的链路上需要加入差错控制。
- 链路层服务
- 流量控制
- 错误检测
- 差错纠正
- 半双工和全双工
差错检测和纠正
错误检测并不是完全可靠的
- 单比特奇偶校验:检测单个比特级错误(二进制数中1的个数)
- 2维奇偶校验:检测和纠正单个比特错误
- 检验和:CRC循环冗余校验
多点访问协议
一个子网内部链路的连接形式
- 点对点
- 广播
多路访问协议(介质控制访问协议MAC)
-
信道划分:时分TDMA,频分FDMA,码分CDMA(采用编码原理加一区分,各个点的数据正交)
-
随机访问
1.时隙aloha(时钟同步,时隙开始时发送,检测冲突)信道利用率为37%
2.纯aloha(无时间上同步,冲突概率增加)信道利用率17.5%
3.载波侦听多路访问CSMA(传输前先侦听信道,传播延迟造成的通途)
4.CAMA/CD:加入冲突检测;先听+边说边听;指数退避 -
无线局域网中的MAC
CSMA/CA(802.11):无线状态下无法进行冲突检测;帧确认 -
轮流MAC协议
令牌传递
LAN
ARP:ip对应MAC地址的转换(一方广播包含对方IP的查询包,收到包的回复自己的MAC地址)
Ip是分层的而MAC是平面的
-
以太网
帧结构:前导码(同步时钟)、地址、类型(支出高层协议的类型)、CRC
无连接,不可靠的服务
使用CSMA/CD
4b5b编码:使用5个比特代替4个比特
802.11 WLAN:使用CDMA/CA
主机必须在通信前与主机建立联系,主动扫描(主机发送探测,接受AP的响应)和被动扫描。之后进行认证并执行DHCP。
HUB集线器在逻辑上仍然是总线型,从一个端口向所有端口转发
交换机:根据目标MAC地址进行选择性的转发;当帧需要向某个网段进行转发,需要CSMA/CD接入控制
- 多路同时传输
- 自学习:通过学习得到哪些主机(mac地址)可以通过哪些端口到达
VLANS:一个物理LAN基础设施,虚拟成多个LANs。
基于端口的VLAN:交换机端口承租,将单个的交换机分成若干虚拟LANs;流量隔离,动态成员。
第八章 网络安全
机密性,认证(身份确认),报文完整性,访问控制和服务的可用性
对称密钥,公开密钥密码学(公钥机密,私钥解密)
公开密钥密码学:发送发与接受发无需共享密钥,一个实体将公钥(证书形式)公开
认证
重放攻击:中间人即记录双方分组,事后重放
认证:A向B发送一个只用一次的整数nonce,B返回整数加密后的值(事先约定好key)【对称式密钥】
ap5.0:使用nonce,公开密钥加密技术
报文完整性
数字签名:签署者对报文使用私钥签署(长报文则计算散列获得固定长度的保温摘要,加密报文摘要);
他人使用公钥进行验证。
密钥分发与整数
对称式密钥--KDC作为可信中介
KDC:服务器和注册用户分享一个对称式的密钥
公共密钥--可信赖的认证权威(CA)
CA:将每个注册实体与其公钥捆绑
各个层次的安全性
安全电子邮件--PGP
SSL(安全套接字层)—— 为使用SLL服务的基于TCP的应用提供传输层次的安全性
网络层次的安全性
- 认证头部(AH)协议:提供源端的可认证性和数据完整性
- 封装安全在和(ESP)协议:提供机密性,主机的可认证性和数据的完整性
防火墙
允许某些分组进出而阻塞某些分组(根据协议、源IP、目标IP等)