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

]$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.10.10  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: 0000::0000:0000:0000:0000/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          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은 192.168.10.10 이고
Mask는 255.255.255.0 이다
Bcast는 192.168.10.255 이다.

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

inet | (Mask ^ 0xFFFFFFFF)

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

ip address 10.75.20.201/16 is 10.75.255.255

[링크 : http://www.experts-exchange.com/Networking/Linux_Networking/Q_10255126.html]

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.

[링크 : http://tldp.org/LDP/nag2/x-087-2-iface.ifconfig.html]

Posted by 구차니

댓글을 달아 주세요