- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
要包含那些来自于控制器指令的数据。而
您可能关注的文档
- Injury Prevention 《伤害预防》作者指南(稿约).pdf
- Intel Visual Fortran 2010编译器的使用教程.pdf
- intel_fortran安装图文教程.pdf
- IOS人机交互.pdf
- ISD1700系列+CN.pdf
- ITIL v3 04变更管理.pdf
- iTownSDK-Spr文件的制作及使用.pdf
- j2012年一建市政真题答案及分析(方证出品).pdf
- Jason Schuller -我的WordPress主题创业史.pdf
- Javac (J2SE) 编译器的词法分析介绍.pdf
- 火力发电厂锅炉运行优化策略的相关研究.pptx
- learning-data mining with python使用Python学习数据挖掘.pdf
- PLC在长距离带式输送机中的应用.pptx
- 英菲尼迪infinity j30维修手册.pdf
- 管道次声波泄漏监测系统优化设计.pptx
- 浅谈基层供电企业合规管理存在的问题及对策.pptx
- 9讲认识正方形长方形.pdf
- 基于深度学习的单阶段目标检测算法研究综述.pptx
- class 3 hr planning work and job design abridged version3课人力资源工作职位设计精简版.pdf
- 基于trace特征的ISAR像空间目标识别.pptx
最近下载
- 2007年考研英语(二)真题(解析卷).pdf
- 甬台温高速复线连接线工程 (海西至鳌江公路-新园路至胜利东路段)跨海桥梁工程海域使用论证海域使用论证报告书.docx VIP
- 2023东北三省三校四模(哈师大附中高三四模)英语试题含答案.docx VIP
- 古树名木养护和抢救复壮及管理技术规程.pptx
- 党支部书记“讲规矩、有纪律,做知敬畏守底线的党员”党课讲稿与党支部书记七一致辞合集.doc VIP
- 基于51单片机的波形信号发生器设计与制作.pdf
- (最新)分户验收细则土建.doc
- 体育史 第六讲 当代中国体育的曲折发展(1949-1976).ppt
- 四川大学华西医院工会职工代表大会工作规程.doc
- 康大鑫都汇安全文明施工组织设计_secret.doc
文档评论(0)