ip地址到NSAP ID

ip address to NSAP ID

谁能帮我想出一个 perl 脚本或 javascript 来将 IP 地址转换为 NSAP ID?我有一个供用户填写的表格和 IP 地址,我想自动填充 NSAP 部分。

这些是一些要求

示例: 192.168.1.1

将每个八位字节填充为 3 个字符 192.168.001.001

更改为 4 人一组 1921.6800.1001

在末尾添加.00 1921.6800.1001.00

谢谢

NSAP ID 或终端系统 ID 是一个 6 字节字段,通常用 dot-decimal 表示法表示为 xxxx.xxxx.xxxx。您在末尾添加的两个零是 NSAP 选择器 (NSEL),它标识网络服务用户,在您的情况下是网络实体标题 (NET) 或系统本身的网络层。所以你在技术上做的不是 NSAP ID,而是 NSAP 地址的最后一部分。

下面是一个 perl 脚本,它获取 IP 地址 ($ip) 并执行您在问题中解释的内容并打印出来。

my $tmp = "";
foreach my $part (split('\.', $ip)){
  $tmp = $tmp . sprintf("%03s", $part);
}
$tmp =~ s/(.{4})/./g;
print $tmp . "00";

如果您打算在网站上以某种形式使用它,将其写成 javascript 可能更容易,这样您就可以立即向用户显示它。