网络层功能:
转发: 将分组从路由器的输入接口转发到合适的输出接口
路由: 使用路由算法来决定分组从发送主机到目标接收主机的路径
路由选择算法
路由选择协议
旅行的类比:
转发: 通过单个路口的过程
路由: 从源到目的的路由路径规划过程
网络服务模型
Q: 从发送方主机到接收方主机传输数据报的“通道”,网络提供什么样的服务模型?
对于单个数据报的服务:
可靠传送
延迟保证,如:少于40ms的延迟
对于数据报流的服务:
保序数据报传送
保证流的最小带宽
分组之间的延迟差
连接建立
在某些网络架构中是第三个重要的功能
ATM, frame relay, X.25
在分组传输之前,在两个主机之间,在通过一些路由器所构成的路径上建立一个网络层连接
涉及到路由器
网络层和传输层连接服务区别:
网络层: 在2个主机之间,涉及到路径上的一些路由器
传输层: 在2个进程之间,很可能只体现在端系统上(TCP连接)
子网
IP 地址分类
子网掩码(subnet mask)
如何获得一个IP地址
Q: 主机如何获得一个IP地址?
系统管理员将地址配置在一个文件中
Wintel: control-panel->network->configuration->tcp/ip->properties
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: 从服务器中动态获得一个IP地址
“plug-and-play”
DHCP: Dynamic Host Configuration Protocol
目标: 允许主机在加入网络的时候,动态地从服务器那里获得IP地址:
可以更新对主机在用IP地址的租用期-租期快到了
重新启动时,允许重新使用以前用过的IP地址
支持移动用户加入到该网络(短期在网)
DHCP工作概况:
主机广播“DHCP discover” 报文[可选]
DHCP 服务器用 “DHCP offer”提供报文响应[可选]
主机请求IP地址:发送 “DHCP request” 报文
DHCP服务器发送地址:“DHCP ack” 报文
实现: NAT 路由器必须:
外出数据包:替换源地址和端口号为NAT IP地址和新的端口号,目标IP和端口不变
…远端的C/S将会用NAP IP地址,新端口号作为目标地址
记住每个转换替换对(在NAT转换表中) … 源IP,端口 vs NAP IP ,新端口
进入数据包:替换目标IP地址和端口号,采用存储在NAT表中的mapping表项,用(源IP,端口)
IPv6:动机
SDN的主要思路
网络设备数据平面和控制平面分离
数据平面-分组交换机
将路由器、交换机和目前大多数网络设备的功能进一步抽 象成:按照流表(由控制平面设置的控制逻辑)进行PDU
(帧、分组)的动作(包括转发、丢弃、拷贝、泛洪、阻塞)
统一化设备功能:SDN交换机(分组交换机),执行控制逻辑
控制平面-控制器+网络应用
分离、集中
计算和下发控制逻辑:流表
SDN控制平面和数据平面分离的优势
水平集成控制平面的开放实现(而非私有实现),创造出好的产业生态,促进发展
分组交换机、控制器和各种控制逻辑网络应用app可由不同厂商生产,专业化,引入竞争形成良好生态
集中式控制器了解网络状况,编程简单,传统方式困难
避免路由器的误配置
基于流表的匹配+行动的工作方式允许“可编程的”分组交换机
实现流量工程等高级特性
在此框架下实现各种新型(未来)的网络设备