CS/Network

[Network] OSI 7계층

창문닦이 2020. 2. 23. 15:32

OSI 7 Layer 출현 배경

전세계의 모든 컴퓨터가 하나의 마으로 연결되어 동일한 방법으로 통신을 하기 위해서는 프로토콜의 표준화가 필요하다. 복잡한 프로토콜들이 상호운용되어 동작하기 위해 기준 모델이 필요했다. OSI 참조 모델(OSI Reference Model, ISO/IEC 7498-1:1994)는 ISO에서 개발된 일종의 프로토콜 모델이다.

OSI(Open System Interconnection) : 개방형 시스템 간의 연결을 의미한다. 개방형은 시스템의 종류나 구현 방법, 시스템 규모 등의 조건에 제약되지 않고 서로 다른 시스템끼리도 연결하여 통신이 가능하도록 한 것을 말한다.

 

OSI 참조 모델의 의의

두 개의 네트워크가 동일한 통신 기능의 구현, 동일한 계층은 동등한 기능 제공, 동일한 계층은 동등한 프로토콜을 공유한다는 조건만 만족하면 통신을 가능하게 해준다. 네트워크 프로토콜을 설계하거나 개발할 때 유용한 참조 모델로서 사용되고 있다.

 

OSI 참조 모델의 계층적 구분

각 계층은 하위 계층의 기능을 받아들여 사용한다. 다른 계층의 변화에 영향 받지 않는다. 각 계층별로 바로 위와 아래의 계층은 각각 클라이언트와 서버의 역할을 담당한다.

 

1. 물리계층(Physical Layer) - 전기적인 접속

  • 최하위 계층으로 전기적인 신호를 전송해주는 전송 매체
  • 구조화되지 않은 비트 스트림을 물리적인 매체를 통하여 전송하는 것에 관계된다.
  • 데이터 링크 상에서 실체 간의 비트 전송을 위한 물리적 접속을 유지함을 목적으로 한다. 장치와 장치 간의 물리적 접속을 위하여 필요한 전송 매체, 신호 전달 방식 등 물리적 연결에 관한 사항을 규정한다.
  • 관련 표준 
    • EIA(Electrical Industries Association)에서는 DTE와 DCE를 접속하기 위한 물리 인터페이스인 RS-232C를 정의했다. 이후 고속 응용으로 RS-449를 정의했다.  
    • CCITT X.21은 공중 데이터 통신망용으로 만들어진 동기식 전송 방식의 DTE에 대한 표준 인터페이스를 규정한 것이다
    • ISO 802.3(CSMA/CD)표준에는 물리 계층의 표준을 포함하고 있다.
  • 데이터 교환을 위한 물리적 장치 (케이블, 커넥터 등)

2. 데이터링크 계층(Data Link Layer) - 직접 접속되어 있는 기기간 처리

  • 물리 계층의 비트들을 프레임으로 구성한다.
  • 인접한 두 장치간(node to node)의 시스템 전송로상에서 발생하는 오류를 검출하고 회복시킨다. 이를 통해 데이터의 흐름을 제어하고 데이터의 집합을 확실하게 전송하는 것을 보장하기 위한 계층이다.
  • 정해진 시간 안에 정상 응답 메세지가 오지 않으면 해당 프레임을 재전송한다.
  • Framing : 프레임의 시작 과 끝을 부가해서 프레임을 구성한다.
  • 관련 표준 
    • ISO의 HDLC(High Level Data Link Control)
    • CCITT의 X.25 LAPB(Link Access Procedure Balanced) : 패킷 교환망의 데이터 링크 프로토콜 
  • 데이터 패킷 형성 - MAC, 전송 - CSMA/CD, 에러 체크 - CRC

3. 네트워크 계층(Network Layer) - 네트워크 통신 경로 선택

  • 네트워크를 구성하는 컴퓨터나 통신 장비 등의 노드들의 주소 체계를 설정하여 각 노드를 지정할 수 있도록 하며, 데이터가 목적지까지 올바르게 도달할 수 있도록 경로 선택 및 라우팅 기능을 수행한다.
  • 연결형 서비스
    • 데이터를 송수신 가지 전에 연결 후 데이터를 전송하는 서비스.
    • 연결 설정을 수행하는 작업을 dialing, signaling 이라 한다.
    • 대표적 예 : 전화망
  • 비연결형 서비스
    • 연결 설정 작업 없이 바로 데이터를 전송할 수 있도록 하는 서비스.
    • 네트워크의 각 노드들은 자신이 갖고있는 데이터에 포함된 목적지주소를 통해 라우팅하는데 이 때문에 다른 목적지로 도착할 수도 있다.
    • 대표적 예 : 인터넷
  • 네트워크 계층에서 전달하는 데이터는 패킷데이터그램이라 부른다. 이 둘은 데이터를 송신하기 전에 네트워크에서 처리하기에 적당한 크기로 자른 것을 의미한다.
    • 패킷 : 연결형 서비스를 제공하는 네트워크에서 사용. 헤더에는 연결 설정시 결정된 연결 식별 정보가 들어있다.
    • 데이터그램 : 비연결형 서비스를 제공하는 네트워크에서 사용되는 데이터. 헤더에는 송신지와 목적지 주소 정보가 들어있다.
  • IP가 여기에 속한다.

4. 전송 계층(Transport Layer) - 네트워크 통신 관리

  • 종단 시스템 간(End-to-End)의 신뢰성있는 데이터의 전송을 담당한다. 
  • 송신측이 보낸 데이터를 원래의 내용 그대로 수신측이 수신하는 것을 보장한다. 
  • 송신 시 네트워크 계층의 서비스를 이용하기 위해 원래 메세지를 작은 단위의 패킷으로 나누어 전송한다. 
  • 수신 시 나누어서 전달된 패킷을 합쳐 원래의 메세지로 복원한다. 각 패킷의 순서 번호를 이용해 복원하며 원래의 메세지와 일치하는지 엄격한 오류 제어를 수행한다.
  • 전송 프로토콜의 등급
    • CLASS 0 : 최소 기능의 간단한 프로토콜
    • CLASS 1 :  장애에 대한 재설정, 통신망 연결의 절단이 생겨도 자동으로 재설정하여 통신 유지
    • CLASS 2 :  한 통신망 연결을 공유하기 위해서 다수의 전송 연결을 허용하는 것. (CLASS 0 + 다중화 기능)
    • CLASS 3 : CLASS 1에 다중화 기능을 추가한 등급
    • CLASS 4 : 데이터 분실, 분실된 비트 오류, 장해 등을 검출해서 회복 가능하고 다중화 기능도 있는 등급
  • 흐름 제어 : 송신측과 수신측의 처리 속도가 다를 때에는 데이터의 유실 등이 발생한다.  비다중화 등급들은 동신망 흐름 제어에 의지하고 다중화 등급에서는 신용 매커니즘(슬라이딩 윈도우 제어의 변화형)이 사용된다.
  • TCP, UDP

5. 세션 계층(Session Layer) - 통신 시작과 종료 순서

  •  다양한 응용 프로그램 간의 세션을 관리하는 기능을 수행한다. 
  • 두 응용 프로세스 간의 통신에 대한 제어 구조를 제공한다. 서로 협력하는 응용들에 대하여 연결을 생성, 관리, 종료하기 위해 토큰을 사용한다.
  • TFTP

6. 표현 계층(Presentation Layer) - 데이터의 표현 방법

  • 통신 장치에서의 데이터 표현 방식, 상이한 부호 체계 간의 변화에 대해 규정한다.
  • 컴퓨터들은 서로 다른 언어, 문자 코드, 숫자 표현, 단어들 내에서 바이트들의 다른 순서 때문에 데이터 표현을 위해서 표현 계층이 필요하다.
  • ASN. 1(Abstract Syntax Notation Number 1) : 추상 구문의 정의를 위한 형식적인 개념. 시스템 간 데이터의 비트형 표현을 위한 부호화 기법이다. 데이터 암호, 데이터 압축을 수행하기 위한 장소를 제공한다.
  • SMTP 

7. 응용 계층(Application Layer) - 애플리케이션 처리 

  • 사용자가 OSI 환경에 접속할 수 있도록 하며, 분산 정보 서비스를 제공한다.
  • 사용자는 응용 계층에 대해서는 아무런 지식이 없어도 서비스를 사용할 수 있다.
  • Telnet, FTP 전자 우편용 프로토콜 등이 해당한다.

OSI 7 계층. 출처 : http://terms.co.kr/OSIfig.htm

OSI 참조 모델의 기본 구성 요소

  • 계층 : OSI 참조 모델은 7개의 계층으로 구성되어 있다.
  • 실체(Entity) : 실체는 개방 시스템 간의 통신을 가능하게 하는 각 계층에서의 능동적 요소이자 논리적 모듈이다. 자신에게 부여된 역할을 수행하는 기능요소.
  • 서비스 접속점(SAP, Service Access Point) : 하나의 실체가 하나의 하위의 층에서 하위 층의 서비스를 제공 받기 위한 접속점이다. 상하위 계층의 실체들의 통신 경계(식별자)이자 연결 통로이다. 하나의 SAP에 여러개의 연결 경로 설정이 가능하다.
  • 프로토콜 : 망 안에서 데이터 흐름을 통제하는 규칙들의 집합을 의미한다. 서로간에 데이터를 신속하고 정확하게 전송하기 위해 존재한다. 
  • 서비스 프리미티브(Service Primitive)
    1. 요청(Request) : 상위의 실체가 하위의 실체에게 서비스를 요구. 리모트의 동등한 실체에게 데이터를 전송하거나 연결 설정을 요구할 때 사용된다.
    2. 지시(Indication) : 하위의 실체가 상위의 실체에게 특정 사건을 알린다. 리모트의 실체로부터 데이터가 도착하거나 연결 요청이 있음을 알려준다.
    3. 응답(Response) : 지시에 따른 응답을 요청한다. 상위의 실체가 하위의 실체에게 요구한다.
    4. 확인(Confirm) : 기존에 요구했던 요청 프리미티브에 대한 리모트 실체로부터의 응답이 왔음을 하위의 실체가 상위의 실체에게 알려준다.

 

이 내용은 리눅스 마스터 1급, 그림으로 배우는 IT 인프라구조, 알기사 정보보안기사 문제집을 보고 정리하였습니다.

'CS > Network' 카테고리의 다른 글

[Network] HTTP Method  (0) 2020.03.30
[Network] web socket 통신과 http 통신  (0) 2019.09.20
[Network] 스위치의 종류, 포트, 패킷  (0) 2019.09.20