文書更新:2020年04月23日(木) 午前6時31分14秒

Home > 備忘録(Fedora) > ネットワーク構築 > CIDRと開始及び終了アドレス( 133 )

CIDRと開始及び終了アドレス

CIDR とは Classless InterDomain Routing の略

メモ

  1. rowspan が設定されている table で偶数行を色分けする
  2. 上記の様に rowspan が設定された table の偶数行の色分けを下記の css を用いてやってみました
    table tbody tr:nth-child(6n+4),
    table tbody tr:nth-child(6n+5),
    table tbody tr:nth-child(6n){
    	background-color:#DCDCDC;
    }
  3. 自作の javascript code
  4. ここで使用した自作のソースコードです
    /*
    	Ipv4アドレスのチェック
    */
    function isIpv4(ip){
    	var hh=0,ret;
    	if(ret=ip.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)){
    		for(var i=1;i<1+4;i++){
    			if(ret[i].match(/^0\d+/))	return false;	/* ゼロ埋め時の処理 */
    			if(ret[i]<256)	hh++;
    		}
    		if(hh==4)	return true;
    	}
    	return false;
    }
    /*
    	ipアドレスをlong型に変換する
    */
    function ip2long(ip){
    	var ret=0;
    	ip.split('.').forEach(function(n){
    		ret<<=8;
    		ret+=+n;	/* +n は文字列を数値に変換 */
    	});
    	return ret>>>0;
    }
    /*
    	long型数値をip アドレスに変換する
    */
    function long2ip(lng){
    	var ip=[];
    	for(var i=0;i<4;i++){
    		ip.unshift(lng&255);
    		lng>>=8;
    	}
    	return ip.join('.');
    }
    /*
    	ipアドレスを16進数に変換
    */
    function ip2hex(ip){
    	var ret=[];
    	ip.split('.').forEach(function(n){
    		var nn=+n;	/* +n は文字列を数値に変換 */
    		if(nn<16){
    			ret.push("0"+nn.toString(16).toUpperCase());	/* 16進数1桁の処理 */
    		}else{
    			ret.push(nn.toString(16).toUpperCase());
    		}
    	});
    	return ret.join('.');
    }
    /*
    	ipアドレスを2進数に変換
    */
    function ip2bit(ip){
    	var bit=[];
    	ip.split('.').forEach(function(n){
    		var res=[];
    		for(var i=0;i<8;i++){
    			res.unshift(n&1);
    			n>>=1;
    		}
    		bit.push(res.join(''));
    	});
    	return bit.join('.');
    }