sysServices 转换

• sysServices - 一个值,它可指出这个实体可能会提供的服务程序集。 此值是一个总和。这个总和值一开始会采用 0 这个值。然后它会根据在此节点执行异动各个阶层 L (在 1 至 7 的范围内), 将「2^(L - 1)」新增至总和值。例如,只执行路由功能的节点,它的值为 4 (2^(3-1))。 相对地,若节点是提供应用程序服务的主计算机,它的值就是 72 (2^(4-1) + 2^(7-1))。 注意,在通讯协议的 Internet 套件环境定义中,这些值的计算如下:
阶层 功能性
1 实体 (像是 repeater)
2 数据链路/子网 (像是网桥)
3 Internet (像是 IP 的支援)
4 端点至端点 (像是 TCP 的支援)
7 应用程序 (像是 SMTP 的支持)
注: 若是有包含 OSI 通讯协议的系统,则可能也要计算阶层 5 与 6。


public static NamedOID sysServices = new NamedOID("1.3.6.1.2.1.1.7.0","sysServices", false,OIDType.Special);

private void decodeServices(String s, L2Node node)
{
int i;
try {
i = Integer.parseInt(s);
} catch (Exception e) {
// TODO: handle exception
logger.error("decodeServices(String, L2Node)", e);
return;
}
String tmp = "";
if((i & 1) != 0)
{
tmp = tmp + "L2,";
}
if((i & 2) != 0)
{
tmp = tmp + "L2,";
}
if((i & 4) != 0)
{
tmp = tmp + "L3,";
node.setAttribute("Router","True");
}
if((i & 8) != 0)
{
tmp = tmp + "L4,";
}
if((i & 16) != 0)
{
tmp = tmp + "L5,";
}
if((i & 32) != 0)
{
tmp = tmp + "L6,";
}
if((i & 64) != 0)
{
tmp = tmp + "L7";
}

node.setAttribute("Layer",tmp);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值