发明名称 一种灵活可扩展且安全的域间拓扑发现方法
摘要 本发明公开了一种灵活可扩展且安全的域间拓扑发现方法,该方法基于现有软件定义网络域间拓扑发现方法,通过改进链路层发现协议数据包,实现分布式软件定义网络中一个软件定义网络域发现与其相邻的软件定义网络域的拓扑连接。本发明采用简单的、安全的方法成功地解决了分布式软件定义网络中多个域之间的域间拓扑发现问题。
申请公布号 CN103825825A 申请公布日期 2014.05.28
申请号 CN201410023762.3 申请日期 2014.01.18
申请人 浙江大学 发明人 吴春明;赵珊珊;周伯阳
分类号 H04L12/751(2013.01)I 主分类号 H04L12/751(2013.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种灵活可扩展且安全的域间拓扑发现方法,其特征在于,包括如下步骤:步骤1:初始网络中,每个OpenFlow交换机都和一个软件定义网络控制器相连,由同一个软件定义网络控制器管理的所有OpenFlow交换机组成一个域,每个OpenFlow交换机有全网唯一的标识符DataPathId,每个域有全网唯一的域编号Domain ID,每个控制器拥有一对公钥/私钥对,私钥保密,每个软件定义网络控制器维护一个密钥库,密钥库中包含本域的公钥/私钥对和其他域的公钥,公钥通过域的唯一域编号查找密钥库获得;步骤2:软件定义网络控制器在收到OpenFlow交换机发来的连接信息后,生成扩充的LLDP数据包,扩充的LLDP数据包除包括LLDP要求的基本信息(包括Chassis ID、Port ID、TTL及End TLV)之外,还包括域编号Domain ID、发送序号TimeStamp和签名Signature,其中Domain ID为每个域的唯一标识,TimeStamp是为了验证收到的LLDP包是否为最新的一个,Signature为用本控制器的私钥校验LLDP数据包的其他所有字段;步骤3:软件定义网络控制器将步骤2生成的扩充LLDP数据包,每隔一定时间间隔从OpenFlow交换机所有端口发送出去;步骤4:软件定义网络控制器收到本域OpenFlow交换机发送来的扩充LLDP数据包,根据数据包中携带的DataPathId,软件定义网络控制器在本域的OpenFlow交换机信息库中查找该DataPathId;若查找到相应的DataPathId,说明是本域的扩充LLDP数据包,则忽略;若没有查找到相应的DataPathId,则说明是本域收到其他域的扩充LLDP数据包,软件定义网络控制器从扩充LLDP数据包中获取Signature、TimeStamp和Domain ID;步骤5:根据步骤4获得的Domain ID查找密钥库获取到发送该扩充LLDP数据包域的公钥;步骤6:根据步骤5获得的公钥使用RSA加密算法来验证步骤4获得的Signature;步骤7:若步骤6验证Signature不通过,则丢弃该数据包;若验证Signature通过,软件定义网络控制器获得本域内发送该扩充LLDP数据包的OpenFlow交换机的交换机端口元组SwitchPortTuple,在本软件定义网络控制器维护的交换机端口元组与TimeStamp映射表中查找该SwitchPortTuple;步骤8:若步骤7查找到该SwitchPortTuple,则根据映射表返回的TimeStamp,与步骤4获得的TimeStamp值进行比较,若比较的结果是TimeStamp小,说明之前已收到过更大的TimeStamp,则丢弃;若步骤7没有查找到该SwitchPortTuple,则说明这是建立连接后收到的第一个扩充LLDP数据包,将该SwitchPortTuple和序号TimeStamp更新至映射表中,同时更新域间网络视图Network View。
地址 310058 浙江省杭州市西湖区余杭塘路866号