이롭게 현명하게
[JAVA]네트워크 프로그래밍 개념 본문
목차
네트워크(Network)란?
IP주소
호스트 이름
URL
호스트이름 IP주소 변환 프로그램
[네트워크(Network)란?]
네트워크란 지리적으로 떨어져있는 장치간에 정보를 교환할 수 있도록 이들 장치를 상호 접속하기 위해 사용되는 통신기기와 장치를 의미한다.
네트워크는 크게 서버와 클라이언트가 존재한다.
- 서버(Server)
: 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터로 여러 사용자에게 서비스를 제공한다.
- 클라이언트(Client)
: 서비스를 요청하여 사용하는 컴퓨터로 집, 회사에서 인터넷에 접속하는 것을 말한다.
클라이언트와 서버는 미리 정의된 프로토콜을 이용하여 서로 통신한다.
[IP 주소]
A가 B에게 전화를 할려고 한다. B에게 전화를 걸기 위해서 A는 B의 연락처를 알아야한다.
학생 A가 학생 B에게 메일을 전송하려고한다. B에게 메일을 전송하기 위해서는 A는 B의 이메일 주소를 알아야한다.
거래자 A가 거래자 B에게 택배를 배송려고 한다. B에게 택배를 배송하기 위해서는 A는 B의 집 주소를 알아야한다.
컴퓨터 A와 컴퓨터 B가 통신을 하려고한다. B와 통신을 하기 위해서는 A는 B의 IP주소를 알아야한다.
전화번호는 010-****-****으로, 이메일은 사용자ID@도메인주소 로, 집 주소는 시,구,동 으로 식별한다.
이처럼 IP주소는 숫자 중간에 점을 찍어 표시한다. ex)192.168.11.1
[호스트 이름]
개발자 A가 개발자 B에게 전화를 하기위해 연락처를 보고 있다. 하지만 전화번호 목록에는 숫자로만 저장이 되어있다.
숫자로만 저장이 되어있어 어떤 번호가 개발자 B의 번호인지 알기 어렵다.
어떤 번호가 개발자 B의 연락처인지 명시해 두었다면 쉽게 찾아 전화를 할 것이다.
컴퓨터도 마찬가지이다. 클라이언트에서 수많은 IP주소에서 원하는 주소인 125.209.222.142를 직접 입력해서 접속하기 보다는 www.naver.com으로 접속하는것이 이 쉽다. 이것이 네트워크상의 컴퓨터 이름이다.IP주소를 사람이 알기쉽게 변환해 주는것을 DNS(Domain Name System)라고 한다.
1. 클라이언트가 www.naver.com 으로 접속하면
2. DNS(Domain Name System)서버가 대응되는 IP주소로 변환하여준다.
모든 컴퓨터는 본인의 특별한 호스트이름과 IP주소를 가지고있다. 호스트 이름으로는 local이며, IP주소는 127.0.0.1이다.
이것은 별도의 컴퓨터를 두지 않아도 네트워크 프로그램을 테스트 할 수 있다.
[URL (Uniform Resource Locator)]
DNS와 연관되어 있는것이 URL이다.
URL은 인터넷 상의 파일이나 데이터베이스 같은 자원(=파일)에 대한 주소를 지정하는 방법이자 규약이다.
쉽게 말하면 인터넷에서 웹 페이지를 볼 때 웹 브라우저의 주소칸에 적어주는 값이다.
웹 브라우저의 주소창에 적어주는 값으로 URL은 호스트 이름에 파일의 경로를 붙여 표시한다.
이중 호스트 이름과 파일 이름은 반드시 필요하다.
[호스트이름 IP주소 변환 프로그램]
HostToIP.java
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class HostToIP {
public static void main(String[] args) throws IOException {
String hostname = "www.google.com";
try {
InetAddress address = InetAddress.getByName(hostname);
System.out.println("IP주소 : "+address.getHostAddress());
} catch (UnknownHostException e) {
System.out.println(hostname+"의 IP 주소를 찾을 수 없습니다.");
}
}
}
FindLocalAddress.java
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class FindLocalAddress {
public static void main(String[] args)throws IOException {
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println("로컬 장비 IP주소: "+address.getHostAddress());
System.out.println("로컬 장비 호스트 이름 : "+address.getHostName());
} catch (UnknownHostException e) {
System.out.println("로컬 장비의 주소를 찾을 수 없습니다.");
}
}
}
[ 참고자료 ]
잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊
댓글과 좋아요는 큰 힘이 됩니다!
'JAVA' 카테고리의 다른 글
[JAVA] 웹에서 파일 다운로드하기 (URLConnection,HttpURLConnection) (0) | 2023.01.16 |
---|---|
[JAVA] TCP,UDP,포트,소켓 (2) | 2023.01.13 |
[JAVA] Study Project / UDP통신을 사용한 채팅 (0) | 2023.01.09 |
[JAVA] Study Project / Tic-Tac-Toc 네트워크 게임 만들기 (0) | 2023.01.07 |
[JAVA] 자바 설치 및 환경 변수 설정 / 이클립스 설치 (0) | 2022.11.09 |