/auther:Zynu11/
网络层:数据平面
- 网络层分为几个平面
数据平面:转发,数据平面功能是网络中每台路由器的共能,该数据平面的功能决定到达路由器输入链路之一的数据包如何转发到该路由器的输出链路之一
控制平面:路由,控制平面功能控制数据报沿着源主机到目的主机的端到端路径中路由器之间的路由方式 - 网络层的功能
提供主机到主机的通信 - 阐述一下转发和路由的区别
转发:数据包进入端口后从哪个端口出
路由:分组从发送方流向接收方时,决定这些分组所采用的路由或者路径 - 转发是如何做到的
通过转发表,路由器检查到达分组首部的一个或者多个字段值,进而使用这些首部值在其转发表中索引,通过这种方法来转发分组 - 控制平面:传统的方法
路由同时负责转发和路由选择两个功能 - 控制平面:SDN方法,软件定义网络
控制平面路由选择功能和物理的路由器是分离的,路由选择设备仅仅执行转发,而远程控制器计算并分发转发表,路由器和远程控制器通过交换包含转发表和其他路由选择信息的报文来通信 - 什么是网络服务模型
定义了分组在发送与接收端系统之间的端到端传输特性- 确保交付
- 具有时延上限的确保交付
- 有序分组交付
- 确保最小带宽
- 安全性
- 等等
- 网络层提供的服务是
尽力而为的服务 - 链路层交换机和路由器的区别
链路层交换机:基于链路层帧中的字段值做出转发决定
路由器:基于网络层数据报中的首部字段值做出转发决定 - 通用路由器体系结构
输入端口:
交换结构:
输出端口:
路由选择处理器:
在传统的路由器中,它执行路由选择协议,维护路由选择表与关联链路状态信息,并未该路由器计算转发表。
在SDN’路由器中,路由选择处理器负责与远程控制器通信,目的是接收由远程控制器计算的转发表项,并在路由器的输入端口安装这些表项。
路由选择处理器还执行网络管理功能。 - 基于目标的转发和通用转发
基于目标的转发:仅仅依赖于IP数据报的目标IP地址(传统方法)
通用转发:基于头部字段的任意集合进行转发 - 基于目标的转发和最长前缀匹配
基于目标的转发:针对每个目的地都有一个表项,但是因为有超过40亿个可能的地址,这个方法总体上不可行
最长前缀匹配:在转发表中寻找最长的匹配项,并向与最长前缀匹配相关联的链路接口转发分组,实践中使用三态内容可寻址存储器 - 输入端口处理
线路端接->数据链路处理(协议,拆封)->查找,转发,排队 - 交换结构
- 经内存的转发:数据包通过BUS两边,总的吞吐量小于内存宽带的一半,一次只能转发一个分组
- 经总线交换:一次只有一个分组可以跨越总线,路由器的交换带宽受总线速率的限制
- 经互联网络交换:同时并发转发多个分组,客服总线带宽限制,高级设计:数据报分片
- 何时出现排队
- 输入排队:交换结构交换速度不能使所有到达分组无时延的通过他传送,会导致丢包
- 输出排队:当数据报从交换机构的到达速度比传输速率快 就需要输出端口缓存
- 调度机制
- 先进先出
- 优先队列
- 循环排队:分组像使用优先权排队那样被分类,类与类之间不存在服务优先权,循环调度器在这些类之间轮流提供服务
- 保持工作队列:不允许链路有空闲
- 加权公平排队WFQ:和循环排队的不同之处在于,每个类在任何时间间隔内可能收到不同数量的服务
- 什么是IP协议
IP协议是网际协议 - IPv4报文格式
- 分片和重组
一个链路层帧能承担的最大数据量叫做最大传输单元,MTU,IP数据包需要封装在链路层帧中间,所以针对不同的链路层协议有着不同大小的MTU,也就需要不同的分片
- IP分片和重组是在端系统上完成的
TCP和UDP都希望从网络层收到完整的未分片的报文。但是在路由器上对IP报文进行分片和重组会使协议变得很复杂,并且会加大路由器的负担 - IP数据报如何分片
标识+标志+片偏移字段
标识:每一个IP分片的标识都是相同的,可以确定他们属于同一个IP报文
标志:最后一个片设置为0,前面的片设置为1
片偏移字段:指定每一片在初始IP数据报的哪个位置,少一片整个IP报文都会被丢弃 - 什么是端口
主机与物理链路之间的边界叫做接口(interface),IP协议要求每台主机和路由器接口拥有自己的IP地址 - 点分十进制记法
IPv4地址为32位,地址中的每个字节用它的十进制形式书写 - 什么是子网
IP地址由网络号和主机号组成,一个子网内部的节点,他们的ip地址的网络号是相同的,这些节点构成的网络叫做子网 - 区分子网的方法
无路由介入,将每一个从接口或者路由器上分开,构成了一个个网络的孤岛,每一个孤岛都是都是一个子网 - IP地址分类
A类地址,B类地址,C类地址,D类地址,E类地址
- 特殊的IP地址
- 专用IP地址
- CIDR(无类别域间路由选择)
子网部分可以在任意的位置
地址格式:a.b.c.d/x,x为地址中子网号的长度 - 子网掩码
- IP广播地址
255.255.255.255 - 转发表和转发算法
- 如何获得一个IP地址
向ISP申请,ISP会从它所拥有的地址块中分配一小块 - 主机如何获得一个IP地址
- 什么是DHCP
动态主机配置协议
- DHCP工作过程
- NAT(网络地址转换)动机
- NAT工作的特点
NAT使得某个小网络对于外部世界来说像是一台主机,被外界网络认为是具有一个单一IP地址的单一设备 - NAT工作原理
NAT是设备有一个NAT表
- NAT穿越问题
- IPv6的动机
IPv4即将耗尽,IPv4还有值得改进的地方
- IPv6相对IPv4的变化
- IPv4如何向IPv6过渡
网络层:控制平面
- 路由的概念
- 为什么是子网到子网
主机到主机代价太大 - 链路网络层的数据平面和控制平面的首要元素
- 转发表(基于目的地的转发)
- 流表(通用转发)
- 转发表和流表是如何计算,维护,安装的
- 每路由控制:每台路由器中运行一种路由选择算法,每台路由器中都包含转发和路由选择功能,每台路由器都有一个路由选择组件,用于与其他路由器中的路由选择组件通信
- 逻辑集中式控制:逻辑集中式控制器计算并分发转发表以供每台路由器使用,匹配加动作可以实现一些以前在中间盒上面才能实现的功能,比如负载共享,防火墙,NAT
- 路由选择算法的原则
- 正确性
- 简单型
- 健壮性
- 公平性
- 最优性(往往是次优)
- 路由选择算法有哪些
- 分类一
- 集中式路由选择算法,LS,链路状态路由选择算法,所有的路由器拥有完整的拓扑排序和边的代价的信息
- 分散式路由选择算法,DV,距离向量算法,路由器只知道与它有物理连接的邻居路由器的之间的代价
- 分类二
- 静态路由选择算法,路由随时间变化缓慢
- 动态路由选择算法,路由变化很快
- 分类三
- 负载敏感算法,链路开销会动态的变化以反应底层链路的当前拥塞水平
- 负载迟钝,某条链路的开销不明确的反应当前的拥塞水平
- 分类一
- 最优化原则
汇集树:- 此节点到所有其他节点的最优路径形成的树
- 路由选择算法就是为所有(控制平面)的路由器找到并使用(数据平面)汇集树
- 链路状态路由选择算法(迪杰斯特拉算法)
- LS路由的具体工作流程
- LS存在哪些问题
链路状态啊分组可能引发广播风暴
- LS路由有哪些应用
- LS的泛红是可靠的泛洪
- 迪杰斯特拉算法的讨论
- 距离矢量路由选择算法
- Bellman-ford算法(动态规划)
- DV核心思想
- DV路由的特性
1.无穷计算问题(局部环路)使用TTL
2.异步,迭代,分布式
- DV无穷计算问题(局部环路)的解决方法
水平分裂算法/毒性逆转
在有环状网络中不好用,只能缓解不能解决 - LS和DV算法的比较
- RIP
- OSPF
- 层次化的OSPF
- AS的必要性(层次路由的必要性)
- BGP
- 什么是热土豆路由
- 为什么内部网关协议和外部网关协议如此不同
- IP任播
BGP还被实现IP任播,该服务通常用于DNS中
动机:
替换不同服务器上面的相同内容
让每个用户可以从最近的服务器访问内容
常被DNS用于将DNS请求指向最近的根DNS服务器 - ICMP
- SNMP