CS/Network

3-1. OSI 참조모델과 인터넷 프로토콜 구조 : OSI 참조모델

pizzz 2022. 12. 15. 14:51

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 = 상대방과의 통신을 위해서 사용되는 데이터 단위