네트워크(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();
이것이 자바다 책