OVS的of连接中使用了linux socket的能力,分析linux socket的实现有助于理解of连接实现。
socket是一个文件句柄,具有open/send/receive/close等功能,提供socket功能有由于简化网络编程,开发者可以不必关注网络协议细节。
1、TCP类型socket
server端必须指定IP+协议+PORT,而client端口可以指定也可以自动生成(在connect阶段生成),OVS实现中采用了第二种方式。
2、TCP通信流程分析
基于linux socket的分析,可以知道stream是封装了TCP的客户端,而pstream是封装了TCP的服务器端。 vconn是对TCP数据传输阶段的封装,感知协议版本号。而vconn_stream作为vconn的具体实现类,增加接收和发送缓冲区。 rconn代表的 可靠的连接。 ofconn代表的是openflow连接。