네트워크 개념
1 계층구조의 개념
1. 계층적 모듈구조
1) 모듈화 : 복잡한 시스템을 기능별로 모듈화 하면 시스템 구조가 단순해짐
* 프로그래밍 언어에서는 함수 개념을 사용해 전체 프로그램을 모듈화 함
2) 계층 구조 : 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조
- 네트워크에서도 독립적인 고유기능을 수행하는 모듈들이 상하위의 계층 구조로 연결되어 동작함
- 계층 구조의 장점
전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이
모듈간의 표준 인터페이스가 단순해지면 모듈의 독립성을 향상, 시스템 구조를 단순화함
대칭 구조에서는 프로토콜을 단순화 시킬 수 있음
내부기능의 변화가 전체 시스템의 동작에 영향을 미치지 않음
2. 프로토콜 설계 시 주의사항
1) 주소 표현
- 주소의 역할 : 서로를 구분해줌
- 주소의 활용도를 높이기 위해 구조적(계층적) 정보를 포함함
ex) 전화번호 : 국가코드-지역코드-번호
- 1 : 다 통신을 지원함
브로드캐스팅 : 모든 호스트에게 데이터 전달 (1:all)
멀티캐스팅 : 특정 호스트에게 데이터 전달(1:n)
유니캐스트 : 1대 1
2) 오류 제어
데이터 변형 오류 : 데이터가 깨져서 도착
데이터 분실 오류 : 데이터가 도착하지 못함
오류제어기능은 통신 프로토콜의 가장 기본적인 기능이다.
3) 흐름제어
- 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 데이터를 전송하는 속도가 빠르면 데이터 분실 오류가 발생가능
=> 송신 호스트의 전송 속도를 조절하는 흐름 제어기능 필요
4) 데이터 전달 방식
단방향 : 데이터를 한쪽 방향으로만 전송
전이중 : 데이터를 양쪽에서 동시에 전송
반이중 : 양방향으로 전송할 수 있지만, 특정 시점에서는 한쪽 방향으로만 전송
3. 서비스 프리미티브
1) 의미 : 계층 구조 프로토콜에서 하위 계층이 상위 계층에 제공하는 서비스 종류
2) 종류
ⓐ 연결형 서비스 : 3단계로 구성
ⓑ 비연결형 서비스 : 전송할 데이터가 있으면 각 데이터를 독립적으로 목적지 호스트로 전송
3) 기능
- Request : 연결 설정 요청(CONNECT.Request), 데이터 전송 요청(DATA.Request), 연결 해제 요청(DISCONNECT.Request)
- Indication : 연결 설정, 데이터 전송, 연결 해제에 대해 CONNECT.Indication, DATA.Indication, DISCONNECT.Indication 순으로 사용
- Response : 연결 설정 요청은 CONNECT.Response, 데이터는 DATA.Response, 연결 해제는 DISCONNECT.Response로 전달
- Confirm : 연결 설정은 CONNECT.Confirm, 데이터는 DATA.Confirm, 연결 해제는 DISCONNECT.Confirm로 전달
2 OSI 참조 모델
1. OSI 7계층 모델
1) 헤더 정보
- 송신 호스트 : 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가
- 수신 호스트 : 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거
2) 계층별 기능
① 물리 계층(Physical Layer)
• 전송 매체의 물리적 인터페이스에 관한 사항을 기술
• 데이터 전송 속도, 송수신 호스트 사이의 클록동기화 방법, 물리적 연결 형태 등
② 데이터 링크 계층(Data Link Layer)
• 데이터의 물리적 전송 오류를 해결
• 프레임 : 전송 데이터의 명칭
③ 네트워크 계층(Network Layer)
• 송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 처리
• 호스트 구분을 위한 주소 개념 필요 (예: IP 주소)
• 패킷 : 전송 데이터의 명칭
• 혼잡 제어 : 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침
④ 전송 계층(Transport Layer)
• 송신 프로세스와 수신 프로세스를 직접 연결하는 단대단 통신 기능 제공
⑤ 세션 계층(Session Layer)
• 송수신 호스트 사이의 대화 제어를 비롯 상호 배타적인 동작을 제어하기 위한 토큰 제어, 일시적인 전송 장애를 해결하기 위한 동기기능 등 제공
⑥ 표현 계층(Presentation Layer)
• 데이터의 의미와 표현 방법을 처리, 데이터를 코딩하는 문제를 다룸
⑦ 응용 계층(Application Layer)
• 최상위, 다양하게 존재하는 응용 환경에서 공통으로 필요한 기능을 다룸
• 대표적인 인터넷 서비스: FTP, Telnet, 전자 메일
3 TCP/IP 모델
1. 구현 환경
1) 시스템 공간 (계층 1~4)
- TCP(연결형 서비스 제공)와 UDP(비연결형 서비스 제공)는 시스템 운영체제인 커널 내부에 구현됨
- 네트워크 계층은 IP로 구현, 전송 패킷의 올바른 경로 선택 기능을 제공
2) 사용자 공간 (계층 5~7)
- 사용자 프로그램으로 구현
- 전송 계층의 기능을 제공하는 소켓 시스템 콜을 호출해 TCP와 UDP 기능을 사용
2. 프로토콜
1) TCP/IP 계층 구조
- TCP/UDP : 사용자 데이터를 전송하는 전송 계층 프로토콜
- IP : 사용제 데이터를 전송하는 네트워크 계층 프로토콜
- ARP : IP 주소를 MAC주소로 변환 / RARP : MAC주소를 IP 주소로 변환
- ICMP : 오류 메시지를 전송하는 프로토콜, IP 프로토콜에 캡슐화 되어 전송된다.
Last updated