✔️ Networking
- 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것
1. Client/Server
- Client : 서비스를 사용하는 컴퓨터
- Server : 서비스를 제공하는 컴퓨터
- 네트워크 구성 시 전용 서버를 두는 것을
서버기반 모델
이라 하고, 각 클라이언트가 서버 역할 동시에 수행하는 것은 P2P 모델
이라고 함
서버기반 모델(Server-based Model) | P2P 모델(Peer-To-Peer Model) |
---|
안정적인 서비스의 제공이 가능함 | 서버구축 및 운용비용 절감 가능 |
공유 데이터의 관리와 보안이 용이함 | 자원의 활용을 극대화할 수 있음 |
서버구축 비용과 관리 비용이 듬 | 자원의 관리가 어려움 |
- | 보안이 취약함 |
2. IP 주소
- 컴퓨터를 네트워크 상에서 구별하는데 사용되는 고유한 값
- IP 주소는 네트워크 주소와 호스트 주소로 나눌 수 있으며 네트워크 주소가 같다는 것은 두 호스트가 같은 네트워크에 포함되어 있다는 것을 의미함
- IP 주소에 Subnet Mask를 '&'연산 해주면 네트워크 주소를 알 수 있음
3. InetAddress
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
public class Network {
public static void main(String[] args) {
InetAddress ip = null;
InetAddress[] ipArr = null;
try {
ip = InetAddress.getByName("www.daum.net");
System.out.println("getHostName() = " + ip.getHostName());
System.out.println("getHostAddress() = " + ip.getHostAddress());
System.out.println("toString() = " + ip.toString());
byte[] ipAddr = ip.getAddress();
System.out.println("getAddress() = " + Arrays.toString(ipAddr));
String result = "";
for(int i = 0; i < ipAddr.length; i++) {
result += (ipAddr[i] < 0) ? ipAddr[i] + 256 :ipAddr[i];
result += ".";
}
System.out.println("getAddress() + 256 = " + result);
System.out.println();
} catch (UnknownHostException e) {
e.printStackTrace();
}
try {
ip = InetAddress.getLocalHost();
System.out.println("getHostName() = " + ip.getHostName());
System.out.println("getHostAddress() = " + ip.getHostAddress());
System.out.println();
} catch (UnknownHostException e) {
e.printStackTrace();
}
try {
ipArr = InetAddress.getAllByName("www.daum.net");
for(int i = 0; i < ipArr.length; i++) {
System.out.println("ipArr["+i+"] = " + ipArr[i]);
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}