네트워크
net + work 의 합성어 : net(그물) + work(일)
단일로 쓰여진 매체를 통신이라는 매개체를 통하여 서로 연결되어 있는 환경
자바에서는 java.net 패키지에서 서버/클라이언트 방식의 네트워크 프로그래밍 기술을 제공함
- 서버(Server) : 서비스 제공용 컴퓨터
- 클라이언트(Client) : 서비스 사용 컴퓨터
서버용 프로그램과 클라이언트용 프로그램을 각각 작성해야 함
네트워크 모델 개요
- 서버 기반 모델 (Server-Based Model) : 전용서버가 존재하는 모델. ex) 웹 하드 업체
- 장점
- 안정적인 서비스의 제공이 가능함
- 공유 데이터의 관리와 보안이 용이함
- 단점
- P2P 모델 (Peer-To-Peer Model) : 각 클라이언트끼리 연결되는 모델 ex) 토렌트
-
장점
- 서버 구축 및 운용비용을 절감할 수 있음
- 자원의 활용을 극대화 할 수 있음
-
단점
관련 용어
- ip 주소 : 컴퓨터에 부여된 네트워크 상에서의 컴퓨터 식별번호
-
.
으로 구분되며, 4개의 값으로 구성
-
각 값은 0~255 사이의 값으로 표현됨 (32비트 주소체계임) 예> 123.45.6.225
-
관련 클래스 : InetAddress
- Inet4Address (IP v.4 에 대한 주소처리용) //32bit
- 약 42억개의 주소를 가짐
- A,B,C,D 등급으로 나뉨
- Inet6Address (IP v.6 에 대한 주소처리용) //128bit
-
URI(Uniform Resource Identifier) : 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.
-
프로토콜 (HTTP 혹은 FTP) + : + // + 호스트이름 + 주소
예: http://ko.wikipedia.org
- 위의 프로토콜 형태는 URI의 한 종류인 URL 형식의 표현 방법입니다.
- URI의 하위개념으로 URL, URN 이 있다.
- URL(Uniform Resource Location) : 네트워크 상에서의 제공되는 서비스 위치 또는 웹 문서의 각종 서비스를 제공하는 서버들에 있는 파일의 위치를 표시하는 표준을 말한다.
- URN(Uniform Resource Name): 리소스(자원)의 이름
프로토콜(protocol) : 컴퓨터간에 정보를 주고받을 때의 통신방법에 대한 규칙과 약속.
통신규약은 상호간의 접속이나 전달방식, 통신방식, 주고받을 자료의 형식, 오류검출방식, 코드변환방식, 전송속도 등에 대하여 정하는 것을 말한다.
일반적으로 기종(機種)이 다른 컴퓨터는 통신규약도 다르기 때문에, 기종이 다른 컴퓨터간에 정보통신을 하려면 표준 프로토콜을 설정하여 각각 이를 채택하여 통신망을 구축해야 한다.
대표적인 표준 프로토콜의 예를 든다면 인터넷에서 사용하고 있는 TCP/IP가 이에 해당된다.
- HTTP [ hypertext transfer protocol ] : 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다
- FTP [ file transfer protocol ] : 인터넷을 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있도록 하는 방법과, 그런 프로그램을 모두 일컫는 말이다
- 텔넷 [ telecommunication network ]: 인터넷을 통하여 원격지의 호스트 컴퓨터에 접속할 때 지원되는 인터넷 표준 프로토콜
1. TCP(Transmission Control Protocol)
인터넷 네트워크의 핵심 프로토콜이다.
인터넷에서 전송되는 정보나 파일들이 일정한 크기의 패킷들로 나뉘어 네트워크상 수많은 노드들의 조합으로 생성되는 경로들을 거쳐 분산적으로 전송되고, 수신지에 도착한 패킷들이 원래의 정보나 파일로 재조립되도록 하는 게 바로 TCP/IP의 기능이다
IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다.
TCP에서 제공하는 주요 기능은 다음과 같다.
- 연결형 서비스를 제공한다.
- 데이터를 전달할 논리적인 연결을 먼저 구성 (3way-Handshake)
- 세션 연결 설정 => 데이터 전송 => 세션 연결 해제
- 신뢰성 있는 데이터 전송을 보장한다
- 순차적으로 데이터를 전송함
- 확인 응답 및 오류시 재전송
- 전이중(Full Duplex) 방식의 양방향 가상 회선을 제공한다.
2. UDP (User Datagram Protocol)
인터넷에서 정보를 주고받을 때, 서로 주고받는 형 식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜이다.
UDP는 인터넷상에서 서로 정보를 주고받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않고, 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜이다.
보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없고,
또 확인할 필요도 없도록 만들어진 프로토콜을 말한다.
TCP, UDP는 각 각 0~65535 번의 Port 번호를 가지며 Port 번호를 가지고 서비스를 구분함
대표적인 Service Port
- HTTP : TCP 80
- FTP : TCP 21, 20
- TFTP : UDP 69 (빠르게 데이터를 전송하기 위한 FTP)
Network Model
데이터를 만들때 최상의 효율성과 안정성을 보장하기 위해 만들어 놓은 구조
통신이 일어나는 절차를 각 기능별로 모듈화시켜 만들어 놓은 계층적인 구조
- OSI 7 Layer 와 TCP/IP 모델이 있음

1.OSI 7 Layer
- 국제 표준화 기구(ISO)에서 표준화를 위해 개발된 모델
- 현재 참조용으로 사용되고 있음
- 각 계층의 역할에 맞는 개발에 참조
- 문제 발생시 참조
- 학습 목적으로 사용
7개의 계층으로 이루어져 있음
- 7계층(Application) : 사용자 인터페이스 계층으로 사용자의 명령을 받아주는 계층
- 6계층(Presentation) : 상위 계층에서 만들어진 데이터의 형태 표현 계층 (인코딩, 압축, 암호화 등)
- 5계층(Session) : 하위 계층과 상위 계층의 세션 연결 및 동기화를 하기 위한 계층
- 4계층(Transport) : 데이터 전송 방식 결정 계층 (TCP,UDP)
- 3계층(Network) : 종단 간 연결 보장 계층 (출발지와 목적지 주소 부여 계층, IP Address)
- 2계층(Data Link) : Node 간 연결 보장 계층 (인접 장비에 접근하기 위한 정보 부여 계층 , MAC Address)
- 1계층(Physical) : 비트 형태의 신호를 패턴을 부여하여 전기적 신호로 변경하여 전송하는 계층
- 1~4 계층을 하위 계층 : 하드웨어 계층
- 데이터 전달 계층으로 주로 네트워크 분야에서 참조
- 5~7 계층을 상위 계층 : 소프트웨어 계층
- 데이터 생성 계층으로 주로 소프트웨어 개발 분야에서 참조
2.TCP/IP Model
- 실제 통신에 사용되는 모델 (실제로 먼저 만들어짐)
- 4개의 계층으로 이루어져 있음
- 4계층(Application) : OSI 7 Layer에서 5~7 계층에 속함
- 3계층(Transport) : OSI 7 Layer에서 4계층에 속함
- 2계층(Internet) : OSI 7 Layer에서 3계층에 속함
- 1계층(Network Interface) : OSI 7 Layer에서 1,2 계층에 속함
- 1~3 계층을 하위 계층 : 하드웨어 계층
- 데이터 전달 계층으로 주로 네트워크 분야에서 참조
- 4 계층을 상위 계층 : 소프트웨어 계층
- 데이터 생성 계층으로 주로 소프트웨어 개발 분야에서 참조