Linux2009. 8. 7. 18:39
사소하지만 ifconfig로 설정할때 필요 하다보니.. 흐음..

]$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:  Bcast:  Mask:
          inet6 addr: 0000::0000:0000:0000:0000/64 Scope:Link
          RX packets:5359086 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5852086 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1210879185 (1.1 GiB)  TX bytes:3916944358 (3.6 GiB)
          Interrupt:20 Base address:0x6000

inet은 이고
Mask는 이다
Bcast는 이다.

일단 inet과 Bcast는 가장 끝자리 차이인데
Mask에서 가려진 부분만 255로 변경되었다.
다르게 말하자면, inet 과 Mask를 and 연산으로 한것에서 0 부분이 255로 바뀐 셈인데
이걸 계산으로 간단하게 풀자면

inet | (Mask ^ 0xFFFFFFFF)

로 계산이 된다.
마스크를 XOR 연산으로 전부 뒤집어 주면 은 가 되며
이것을 IP와 or 연산을 하게 되면가 나오게 된다.

ip address is

[링크 :]

broadcast address

    The broadcast address is usually made up from the network number by setting all bits of the host part. Some IP implementations (systems derived from BSD 4.2, for instance) use a different scheme in which all host part bits are cleared instead. The broadcast option adapts to these strange environments. If a broadcast address has been set, ifconfig displays the BROADCAST flag.

[링크 :]

Posted by 구차니