2.4 네트워크 인터페이스
java.net.NetworkInterface
- 네트워크 통신의 인터페이스를 표현하는 OS 레벨의 객체에 대한 접근 기능을 제공
- NIC 정보를 제공
- InetAddress 주소를 제공
- NetworkInterface목록 구하기
- NetworkInterface.getNetworkInterface()
- NetworkInterface 구하기
- getByInetAddress() : InetAddress 주소를 사용
- getByName() : 인터페이스 이름로 (lo, eth0)
- getByIndex() : 인터페이스 Index로
- InetAddress 주소 리스트 구하기
- networkInterface.getInetAddresses()
- 대부분 단일 주소를 가지고 있음
디폴트 인터페이스
- 일반적으로 IP 통신에 위한 사용하는 인터페이스
- netstat -rn 명령어 결과에서 네트워크 0.0.0.0 , NetMask 0.0.0.0 에 해당한다.
- 서버 소켓에서는 포트만 주어주는 경우에 해당한다. 특정 인터페이스 참고 없이 동작할 수 있다는 의미
- 0.0.0.0 와 localhost(127.0.0.1) 분명한 차이가 있다.
- 0.0.0.0은 디폴트 인터페이스 이다.
- localhost : loop back 주소임
특정 주소에 대해서 Listen 하기
- 디폴트 주소에 대해 리스닝하기
- 포트만 주어 지는 경우
- 디폴트 주소 (0.0.0.0) 이며, 실제 주소가 아님 이 주소를 통하여 리스닝 하면 모든 주소에 리스닝 하는 것 이다
- 간혹 특정 네트워크 API 에서 직접 주소를 지정하는 경우가 있는데. localhost 대신 반드시 0.0.0.0을 사용해야 한다.
출처 : 인포북 JDK 1.4 Tutorial