上QQ阅读APP看书,第一时间看更新
2.8 服务器架构:数据存储
在典型的基于YANG的解决方案中,客户端和服务器由YANG模块的内容驱动。服务器将模块定义为NETCONF/RESTCONF引擎可用的元数据。引擎处理传入的请求;使用元数据来解析和验证请求;执行请求的操作;并将结果返回给客户端,如图2-5所示。
图2-5 服务器架构(RFC6244)
对特定问题域建模的YANG模块被加载、编译或编码到服务器中。
典型的NETCONF客户端/服务器事件交互的流程如下:
1. 客户端应用打开与服务器(设备)的NETCONF会话。
2. 客户端和服务器交换<hello>消息,其中包含双方支持的功能列表。hello交换消息包括服务器支持的YANG1.0模块列表。
3. 客户端在NETCONF的<rpc>元素中构建并发送以XML编码的YANG模块中定义的操作。
4. 服务器接收并解析<rpc>元素。
5. 服务器根据YANG模块中定义的数据模型验证请求的内容。
6. 服务器执行请求的操作,可能更改配置数据存储。
7. 服务器构建响应消息,包含响应本身、任何请求的数据以及任何错误的返回码。
8. 服务器在NETCONF的<rpc-reply>元素中发送以XML编码的响应。
9. 客户端接收并解析<rpc-reply>元素。
10. 客户端检查响应,并根据需要进行处理。