3-1. OSI 참조모델과 인터넷 프로토콜 구조 : OSI 참조모델
OSI 참조모델과 인터넷 프로토콜 구조
OSI 참조모델 개요
- 종전가지 타사의 제품끼리는 네트워크 또는 구조가 서로 호환이 되지 않아 통신이 되지 않은 결과를 초래
- 1970년대 후반 국제 표준화기구(ISO)는 네트워크 설계의 호환성을 증진시키기 위해 개방시스템 상호접속 참조모델(OSI:Open System Interconnection) 구조를 제안
- OSI란 말은 타사의 시스템 간이라도 데이터를 교환하기 위한 표준을 가질수 있다는 것을 의미
OSI참조모델의 7계층
- OSI모델은 분산응용처리를 위한 개방형 시스템 (Open System)을 연결하는 데 있어서 기본모델을 제공
- 7계층으로 구성
7.응용 -> app제공 , 이메일/파일 전송과 같은 서비스 제공 -> "최상위 계층"
6.표현 -> 압축과 암호기능, 형식과 코드변환 서비스, 데이터 표현의 차이를 해결
5.세션 -> 로그인 과정, 세션 연결,관리, 해제
4.트랜스포트 -> 호스트끼리의 신뢰적인 데이터 전송보장 process to process
3.네트워크 -> 라우팅 기능 제공, 경로 선택
2.데이터 링크 -> 데이링링크 간의 오류제거, 프레임 정의
1.물리 -> 하드웨어, 전송매체를 통해 비트 전송 -> "최하위 계층"
7계층을 통하여 원격의 컴퓨터와 통신하는 구조
*라우터 - 라우팅 기능
계층구조의 장점
- 크고 복잡한 시스텝을 기능별로 나누어 개발 과정을 단순화 하는데 매우 유용하게 사용
- 각 계층이 제공하는 서비스를 변경하기 쉬움
- 유지보수 용이
OSI 참조모델
- OSI 참조모델은 7계층으로 구성된 통신구조
- N계층의 프로토콜모듈은 상대방의 동일 계층 프로토콜 모듈과 통신을 하며 동일 계층에 있는 N계층 끼리의 통신규약을 N계층 프로토콜이라 함
- N 계층 프로토콜이 상대방의 동일 계층에 데이터를 직접 전달하는 것이 아니라 하위 계층인 N-1 계층의 서비스를 이용
- 즉, 송신측 N+1 계층 프로토콜이 상대방 N+1 프로토콜로 데이터를 송신하고자 할 때 송신측 N계층에게 서비스를 요청하고 N계층은 N-1계층에게 서비스를 요청하는 과정으로 진행
OSI 계층구조
- OSI 7계층 모델에서 살펴보면 응용계층의 데이터는 표현계층으로 전달되고, 표현계층은 자신의 헤더정보를 추가한 후 세션계층으로 전달
- 데이터 전달 과정은 마지막 계층인 물리 계층 까지 반복되어 물리계층을 통해 실제로 데이터가 전송
- 수신측에서는 물리계층에서 데이터를 수신하여 상위계층에 전달하는 과정을 반복
- 최종적으로 해당 계층에 도달하면서 해당 계층의 프로토콜 동장이 수행
- 결과적으로 OSI 7계층 모델에서 상위계층(예 : N+1계층)은 하위계층(예 : N계층)의 서비스 사용자(Service User)가 되며하위계층은 상위계층의 서비스 제공자(Service Provider)가 됨
서비스 프리미티브(Service Primitive)
- 동일 호스트 상의 서비스 사용자(상위계층)와 서비스 제공자(하위계층) 간에 주고 받는 데이터를 서비스 프리미티브라고 함
- N계층의 서비스는 N 서비스 프리미티브와 이 프리미티브에 관련된 파라미터로 규정
- N서비스 프리미티브는 요청(request), 통지(indication), 응답(response), 확인(confirm)으로 구분
* PDU = Protocol Data Unit
* SPDU = Session PDU 송신측으로 바로 전달X, 전송(Transport) 계층 통하여 전달
* TPDU = Transport PDU (H+SPDU포함) 송신측으로 바로 전달 X , 네트워크 계층 통하여 전송
- 서비스 프리미티브를 사용하여 N+1 계층의 송신데이터(PDU)는 N 계층의 서비스 데이터 단위(SDU:Service Data Unit)로 N계층에 넘겨짐
- N계층에서는 여기에 프로토콜 제어정보(PCI:Protocol Control Information)를 헤더로 붙여 N계층 PDU를 만듦
- N계층 PDU도 N-1계층의 서비스 데이터가 되어 N-1계층에 전달
- 이러한 계층 간 데이터의 전달 과정을 캡슐화 (Encapsulation)라고 부름
* session - SPDU
* transport - SPDU = Transport서비스데이터 유닛(TSDU) --> H+SPDU = TPDU
* network - TPDU = Network서비스 데이터 유닛(NSDU) --> H+TPDU = NPDU
* 상하위 계층간에 계속적으로 이루어지고 최종적으로 physical계층의 H/W통해 상대방으로 전송됨
OSI 7계층
7.물리계층(Physical Layer)
- OSI 7계층 중 계층1에 해당하며 전송매체에 대한 전기적, 기계적인 인터페이스를 다룸
- 전송하고자 하는 데이터를 전송매체에 적합한 전기적 신호로 바꾸는 기능
- 물리계층은 하드웨어로 구현되며 계층 2이상은 대부분 소프트웨어로 구현
- 물리계층에 해당하는 관련 장치들
- 리피터(Repeater), 허브(Hub), 케이블, 이더넷(Ethernet) 등과 같은 하드웨어 장치
- LAN에서 사용하는 UTP(Unshielded Twisted Pair), STP(Shielded Twisted Pair)와 같은 테이블
- LAN의 UTP케이블에 연결하는 RJ-45 커넥터
6.데이터링크(Datalink Layer)
- 물리계층을 통해 전송되는 데이터의 오류문제를 해결하여 신뢰성있는 데이터 전송기능
- 이를 통해 상위계층인 네트워크 계층에게 오류 문제에 대한 부담을 줄임
- 데이터 링크 계층에서 전송하는 데이터 단위를 프레임(Frame)이라고 함
- 데이터 링크 계층의 주요기능
- 순서 제어 : 데이터의 순차적 전송을 위해 프레임 번호 부여
- 오류 제어 : 오류 검출과 교정
- 흐름 제어 : 연속적인 프레임을 전송할 때 수신측이 수신이 가능한지 여부를 제어
- 프레임 동기화 : 데이터 전송시 프레임 단위로 전송
5.네트워크 계층(Network Layer)
- 네트워크 상에 존재하는 라우터와 같은 노드(Node)를 거칠 때마다 목적지로의 경로를 찾아주는 라우팅(Routing)역할을 하는 계층
- 네트워크 계층의 데이터 전송단위를 패킷 (Packet)이라 부르며 패킷 내에는 송신호스트의 주소와 목적지 호스트의 주소를 포함
- 라우터에 패킷이 도착하면 패킷의 목적지 주소에 따라 적합한 라우터로 중개하며 이러한 과정을 통해 최종 목적지에 도착
- 라우터가 패킷을 중개할 때 자신이 관리하고 있는 라우팅 테이블을 사용
- 네트워크 계층의 예
- 인터넷의 IP(IP주소가 이 계층에서 사용하는 주소)
- OSI의 X.25
4.트랜스포트 계층(Transport Layer)
- 라우터와 같은 노드와는 상관없이 단대단(end-to-end) 신뢰성 있는 데이터 전송 기능을 제공
- 이를 위해 단대단 오류 복구, 흐름제어기능 등을 포함
- 트랜스포트 계층은 호스트 내에서 동작하는 프로세스(Process)에서 프로세스로의 데이터 전송
- 네트워크 계층은 호스트에서 호스트로의 데이터 전송에 관계
- 단대단 전송이라는 용어는 프로세스와 프로세스 간의 전송을 의미함
- 트랜스포트 계층의 데이터 전송단위(PDU)에는 송신측 포트번호와 수신측 포트번호를 포함
- 포트번호는 특정 프로세스를 나타내기 위해 트랜스포트 계층에서 사용하는 주소
- 인터넷 통신구조에서 TCP와 UDP가 트랜스포트 계층에 해당
3.세션 계층(Session Layer)
- 양끝단에 있는 응용 프로세스 간의 통신을 제어하는 기능을 제공
- 즉, 응용프로세스 간 대화를 위해 세션을 설정하여 사용하는 기능을 제공
- 제공기능
- 대화(Dialogue) 형태 : 단방향(Simplex), 반이중(Half Duplex), 전이중(Full Duplex)
- 복구(Recovery) 기능 : 체크포인트(Checkpoint) 기능을 제공하여 체크 포인트 사이에 오류가 있을 때 마지막 체크포인트 이후의 모든 데이터를 세션곛으이 재전송하는 기능
2.표현 계층(Presentation Layer)
- 호스트 간에 교환되는 데이터의 표현 방법(Syntax)와 의미 (Semantic)를 다루는 계층
- 즉, 송신 호스트는 데이터를 양쪽 호스트가 이해할 수 있는 표준화 된 형식으로 인코딩(Encoding)하고, 수신 호스트는 표준화된 형식을 수신측에 적합한 형식으로 디코딩(Decoding)하는 기능
- 이외에도 데이터의 안전하고 효율적인 전송을 위해 암호화하거나 압축하는 기능 제공
1.응용 계층(Application Layer)
- OSI 7계층 중에서 최상위 계층에 있으며 사용자에게 필요한 응용 서비스를 제공하는 계층
- 응용 계층에 해당하는 프로토콜
- FTAM(File Transfer Access and Management) : 파일 전송 프로토콜이며 인터넷의 FTP와 유사한 서비스
- VT(Virtual Terminal) : 가상 단말 서비스 프로토콜이며 인터넷의 Telnet과 유사
예제) SDU와 PDU의 차이는 무엇인가?
풀이) SESSION(N+1계층) SPDU -> TSDU
TRANSPORT(N계층) H+SDU = TPDU -> NSDU
NETWORK (N-1계층) H+TSDU = NPDU
답) SDU = 상하위 계층간에 데이터를 전송할 때 사용하는 단위
PDU = 상대방과의 통신을 위해서 사용되는 데이터 단위