创建一个 SDP 配置文件
SDP 配置文件是一个文本文件,您可以确定该文件在文件系统上的驻留位置。配置文件中的每一行都是 注解 或规则。该行开头的井号(#)表示 注解,井号后面的所有内容都将被忽略。
有两种类型的规则,如下所示:
-
“绑定”规则表示当 TCP 套接字绑定到与该规则匹配的地址和端口时,应使用 SDP 协议传输。
-
“连接”规则表示当未绑定的 TCP 套接字try连接到与该规则匹配的地址和端口时,应使用 SDP 协议传输。
规则具有以下形式:
("bind"|"connect")1*LWSP-char(hostname|ipaddress)["/"prefix])1*LWSP-char("*"|port)["-"("*"|port)]
Decoding the notation:
- 1 * LWSP-char 表示任意数量的线性空格字符(制表符或空格)都可以分隔标记。方括号表示可选文本。表示法( xxx * | * yyy )表示令牌将包含 xxx 或 yyy *,但不能同时包含两者。带引号的字符表示 Literals。
第一个关键字指示该规则是“绑定”规则还是“连接”规则。下一个标记指定主机名或原义 IP 地址。指定 LiteralsIP 地址时,还可以指定前缀,以指示 IP 地址范围。第三个也是最后一个令牌是端口号或端口号范围。
请在此 samples 配置文件中考虑以下符号:
# Use SDP when binding to 192.0.2.1
bind 192.0.2.1 *
# Use SDP when connecting to all application services on 192.0.2.*
connect 192.0.2.0/24 1024-*
# Use SDP when connecting to the http server or a database on examplecluster
connect examplecluster.example.com 80
connect examplecluster.example.com 3306
示例文件中的第一条规则指定 SDP 用于本地 IP 地址192.0.2.1
上的任何端口()。您将为分配给 InfiniBand 适配器的每个本地地址添加一个绑定规则。 ( InfiniBand 适配器*相当于 InfiniBand 的网络interface卡(NIC)。)如果您有多个 IB 适配器,则将对分配给这些适配器的每个地址使用绑定规则。
示例文件中的第二条规则指定,只要连接到192.0.2.*
并且目标端口为 1024 或更大,就使用 SDP。 IP 地址/24
上的前缀表示 32 位 IP 地址的前 24 位应与指定地址匹配。 IP 地址的每个部分使用 8 位,因此 24 位表示 IP 地址应与192.0.2
匹配,并且最后一个字节可以是任何值。端口令牌上的-*
表示法是“及以上”。一定范围的端口(例如 1024-2056)也将是有效的,并且将包括指定范围的端点。
示例文件中的final规则指定主机名(examplecluster
),首先将端口分配给 http 服务器(80),然后将端口分配给数据库(3306)。与 LiteralsIP 地址不同,主机名可以转换为多个地址。指定主机名时,它与名称服务中注册该主机名的所有地址匹配。