OpenDaylight开发学习笔记基础篇.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenDaylight开发学习笔记基础篇

OpenDaylight开发学习笔记基础篇 一 、 摘要 本文主要针对 Openflowjava 部分进行实例简述,初学者需要对 java 了 一些,总结一些我自己的学习收获,不足之处请指正。 Openflowjava 工程作为 Opendaylight 南向接口的协议栈存在,与 openflowplugin 工程及外部的 netty.io 网络库紧密联系。其主要作用是接受南向 接口上报的消息、解码、将其交给 Openflowplugin 以便进一步上报以及接收 Openflowplugin传达的发送消息的指令并将其编码为字节流从南向接口中发出。 Openflow-protocol-api Openflow-protocol-impl 结构上与功能相关的是 及 两个文件 夹下的代码。 前者中用一系列yang文件定义了控制器支持的Openflow消息结 构及对应的收、发行为,后者包含了消息的解码、编码及上报、下发的功能逻辑。 netty.io 网络库在Opendaylight 中负责处理控制器与switch间的TCP连接。 控制器接收上报的Openflow 消息时,消息的二进制字节流会被装入netty 的 Bytebuf类对象中传递给Openflowjava来提供解码,发送消息时,消息相关的数 据在编码序列化后被封装进Bytebuf类中交给netty完成发送。Openflowplugin 作为opendaylight处理openflow消息的外挂组件进一步负责解码后消息的分类、 处理、上传以及发送消息时控制器指令数据的分发、消息体数据的组织与打包。 Openflowplugin控制着openflow消息收发的流程和逻辑,openflowjava作为其末 端动作的执行者存在。 二 、Openflow-protocol-api部分开发 openflow-protocol-api 文 件 夹 下 的 代 码 主 要 是 openflow-protocol-api/src/main/yang 路径下的一系列 yang 文件,yang 是一种表 RFC RFC6020 Opendaylight 示结构与属性的语言,同时也是一个 标准 ( ) 。 使 用这种语言来定义其所支持的 openflow 消息结构以及消息的收发动作。在项目 编译阶段,maven 会调用 opendaylight 的 yangtools 工具根据 yang 文件生成 一系列 java 文件,包括各openflow 消息的容器类、 容器类的构造器以及侦听 并接收这些容器类的接口。 通过 yang 文件,我们可以简单清晰地定义我们需 要的消息类型以及其上传下发管道。/ openflow-protocol.yang openflow-types.yang 在上述路径下最为重要的是 及 两个文件,前者定义了 openflow 消息和动作,后者包含了自定义、非 yang 语 言内置的特殊数据类型。此目录下我们主要进行 yang 文件的改写,将一些协议 的字段写成 yang 的形式,主要进行 openflow-protocol.yang 与 openflow-types.yang 两个 model 中的协议添加。 在 openflow-protocol.yang 文件中,grouping 语句用于定义一个数据结构 块,uses 语句可将其他 grouping 结构块复用进当前结构块。通过这种方法可定 义对应于所有 openflow 消息的数据结构块。但这些结构快并非对 openflow 消 息中所有字段的映射。如果这是一个从南向接口接受的消息,则结构快中只需要 包含希望从消息获取并进一步上报的字段。如果是发送的消息,其结构快中只需 length padding 要包含那些来自于控制器指令的数据。而

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档