네트워크(network)는 여러 대의 컴퓨터를 통신 회선으로 연결한 것을 말한다.
지역 네트워크
는 회사, 건물, 특정 영역에 존재하는 컴퓨터를 통신 회선으로 연결한 것을 말한다.인터넷(internet)
은 지역 네트워크를 통신 회선으로 연결한 것을 말한다.서버(server)
라고 부르고, 클라이언트(client)
라고 부른다. 연결을 요청하는 역할
과 연결을 수락하는 역할
이 필요하다. 클라이언트/서버(C/S: client/server) 모델
은 한 개의 서버와 다수의 클라이언트로 구성되는 것이 보통이나,P2P(peer to peer) 모델
도 있다. IP 주소
는 네트워크 어댑터(랜(LAN) 카드)마다 할당되는데, 한 개의 컴퓨터에 두 개의 네트워크 어댑터가 장착되어 있다면, 두 개의 IP 주소를 할당할 수 있다. xxx.xxx.xxx.xxx
와 같은 형식으로 표현된다. xxx
는 부호 없는 0~255 사이의 정수이다.DNS(Domain Naming System)
를 이용해서 연결할 컴퓨터의 IP 주소를 찾는다. [DNS]
도메인 이름 : 등록된 IP 주소
www.naver.com : 222.122.195.5
포트 바인딩(binding)
이라고 한다.구분명 | 범위 | 설명 |
---|---|---|
Well Konw Port Numbers | 0~1023 | 국제인터넷주소관리기구(ICANN)가 특정 애플리케이션용으로 미리 예약한 포트 |
Registered Port Numbers | 1024~49151 | 회사에서 등록해서 사용할 수 있는 포트 |
Dynamic Or Private Port Numbers | 49152~65535 | 운영체제가 부여하는 동적 포트 또는 개인적인 목적으로 사용할 수 있는 포트 |
자바는 IP 주소를
java.net.InetAddress
객체로 표현한다.
InetAddress
는 로컬 컴퓨터의 IP 주소 뿐만 아니라 도메인 이름을 DNS에서 검색한 후 IP 주소를 가져오는 기능을 제공한다.InetAddress
를 얻고 싶다면 InetAddress.getLocalHost()
메소드를 다음과 같이 호출하면 된다.InetAddress ia = InetAddress.getLocalHost();
InetAddress
객체를 얻으면 된다.InetAddress ia = InetAddress.getByName(String host);
InetAddress[] iaArr = InetAddress.getAllByName(String host);
getByName()
메소드는 매개값으로 준 도메인 이름으로 DNS에서 단 하나의 IP 주소를 얻어와 InetAddress
를 생성하고 리턴한다. getAllByName()
메소드를 호출하면 된다. InetAddress[]
배열이다. InetAddress
객체에서 IP 주소를 얻기 위해서는 getHostAddress()
메소드를 호출하면 된다. String ip = InetAddress.getHostAddress();
이것이 자바다 책