[네트워크] OSI 7계층

3 분 소요



1990년대 이전까지 데이터 통신과 네트워크에 대한 계층 모델은 개방 시스템 상호연결(OSI :Open System Interconnection) 모델이었다. OSI 모델은 최종적인 표준이 되지 못했다. TCP/IP 프로토콜은 인터넷에서 광범위하게 시험을 거쳐서 사용되어 왔기 때문에 지배적인 상업적 구조가 되었으나 OSI 모델은 완전히 구현되지 않았다.



프로토콜 계층 구조

두 개의 개체가 서로 통신을 하려면 반드시 프로토콜이 필요하다.

통신이 복잡하다면 복잡한 임무를 여러 개의 계층 구조로 나눌 수 있다. 이 경우에 각 계층별로 여러 개의 프로토콜이 필요하다.



OSI 기본 참조 모델

1947년에 설립된 국제표준화기구(ISO)는 세계적으로 인정받는 국제 표준을 제정하는 다국적 기관이다. 네트워크 통신을 전체적으로 다루고 있는 ISO 표준은 OSI 기본 참조 모델이다. OSI 모델은 1970년 후반에 처음 소개 되었다.

개방 시스템은 기반 구조와 관계없이 서로 다른 시스템 간의 통신을 제공하는 프로토콜의 집합이다. OSI 모델은 하드웨어나 소프트웨어 기반의 논리적인 변화에 대한 요구 없이 서로 다른 시스템 간의 통신을 원활하게 하는데 그 목적이 있다.

OSI 모델은 프로토콜이 아니라 유연하고, 안전하며, 상호 연동이 가능한 네트워크 구조를 이해하고 설계하기 위한 모델이다. 즉 OSI 모델이 서로 다른 시스템 간의 완벽한 상호 운용성을 제공한다는 것이다.

OSI 모델은 모든 종류의 컴퓨터 시스템 간 통신을 가능하게 하는 네트워크 시스템 설계를 위한 계층구조이다. 이 모델은 서로 연관된 7개 계층으로 되있고, 각 계층에는 네트워크를 통해 정보를 전송하는 일련의 과정이 규정되어 있다.

계층화된 구조

OSI 모델은 물리층(1), 데이터 링크층(2), 네트워크층(3), 전송층(4), 세션층(5), 표현층(6), 응용층(7)으로 구성되어 있다.

메시지가 A에서 B로 전송될 때 중간 노드를 거치는데, 중간 노드는 항상 OSI 모델의 처음 3계층만 이용한다.

장치 간에 X계층은 다른 장치의 X계층과 통신한다. 이러한 통신은 프로토콜이라는 협의된 규칙과 규약에 의해 제어된다.

계층 간 인터페이스

데이터와 네트워크 정보가 송신 장치의 각 계층을 따라 전달되고, 다시 수신 장치의 각 계층을 따라 올라가는 것은 인접한 계층 간의 인터페이스를 통해 이루어진다. 각 인터페이스는 한 계층이 바로 위의 계층에게 제공해야 하는 정보와 서비스를 정의한다. 네트워크는 각 계층의 기능과 계층 간의 인터페이스를 잘 정의함으로써 모듈성을 가진다.

계층의 구성

7개의 계층은 3개의 그룹으로 나눌 수 있다.

제1,2,3층은 한 장치에서 다른 장치로 데이터를 전송할 때 필요한 물리적인면을 처리한다.

제5,6,7계층은 사용자 지원 계층으로 서로 관련이 없는 소프트웨어 시스템 간의 상호 연동을 가능하게 한다.

제 4계층인 전송층은 이 두 그룹을 연결하고, 하위 계층에서 전송한 내용을 상위 계층이 사용할 수 있는 형태가 되도록 보장한다.

OSI 모델의 상위 계층은 거의 대부분 소프트웨어로 구현되었고, 하위 계층은 대부분 하드웨어로 구성되는 물리층만을 제외하고 하드웨어와 소프트웨어의 조합으로 이루어진다.

캡슐화

OSI 모델에서 제7계층의 패킷은 제 6계층의 패킷으로 캡슐화(encapsulation)되고, 6계층의 모든 패킷은 5계층의 패킷으로 캡슐화되고 이후도 마찬가지이다.

즉 N계층의 전체 패킷(데이터와 오버헤드)은 N-1계층 패킷의 데이터 부분으로 전송된다. N-1계층은 캡슐화된 패킷이 데이터인지 헤더 또는 트레일러인지 모르기 때문에 캡슐화라고 한다. N-1계층은 N계층에서 오는 패킷을 하나의 완전한 단위로 취급한다.



OSI 모델의 계층 구조

물리층(physical layer)

물리층은 물리 매체를 통해 비트 스트림을 전달하는데 필요한 기능들을 조정한다. 물리층은 개별 비트들을 한 노드에서 다음 노드로 전달하는 책임을 갖는다. 여기서는 전송 매체와 인터페이스의 기계적이고 전자적인 규격을 따른다. 이는 또 물리 장치와 인터페이스가 전송을 위해 수행해야 하는 절차들과 기능들을 규정한다.

  • 인터페이스와 매체의 물리적인 특성
  • 비트의 표현
  • 데이터 전송률
  • 비트 동기화
  • 회선 구성
  • 물리적 접속 형태
  • 전송 모드

데이터링크층은 물리층에 있는 전송 설비를 신뢰할 수 있는 링크로 변환한다. 이는 상위 계층인 네트워크층에게 오류 없는 물리층으로 보이도록 한다.

  • 프레임 구성 : 데이터 링크층은 네트워크층으로부터 받은 비트 스트림을 프레임이라는 데이터 단위로 나눈다.
  • 물리 주소지정 : 프레임이 네트워크 상의 서로 다른 시스템에 전달되면 데이터 링크층은 프레임의 송신자/수신자를 지정하기 위해 프레임에 헤더를 더한다.
  • 흐름제어 : 수신자에 의해 처리되는 데이터 전송률이 송신자가 보낸 데이터 전송률보다 낮으면 데이터 링크층은 수신자가 흐름 제어 메커니즘이 수행된다.
  • 오류제어 : 손상되고 손실된 프레임을 탐지하고 재전송하는 메커니즘을 추가함으로써 물리층의 신뢰성을 더한다. 또 중복된 프레임을 인식하기 위한 메커니즘도 이용.
  • 접근 제어 : 둘 또는 그 이상의 장치가 같은 링크에 연결되어 잇을 때 데이터 링크 프로토콜은 어떤 주어진 시간에 어느 장치가 제어권을 갖는지를 결정하는 것이 필요하다.

네트워크층(network layer)

네트워크층은 다중 네트워크(링크)를 통하여 전달되는 발신지-대-목적지 전달을 책임진다. 데이터 링크층이 같은 네트워크 상에서 두 시스템 간에 패킷의 전달을 책임지지만 네트워크층은 각 패킷이 발신 지점에서 최종 목적지까지 갈 수 있도록 보장한다.

만약 두 시스템이 같은 링크에 연결되어 있다면, 네트워크층이 필요 없다. 그렇지만 두 시스템이 네트워크간에 연결 장치를 통해 서로 다른 네트워크에 연결되어 있다면 발신지-대-목적지 전달을 위해 네트워크층이 필요하다.

  • 논리 주소지정
  • 경로지정

전송층(transport layer)

전송층은 전체 메시지의 프로세스-대-프로세스 전달을 책임진다. 프로세스는 호스트에서 실행 중인 응용 프로그램이다. 네트워크층이 개별 패킷의 발신지-대-목적지 전달을 책임지지만 이들 패킷 간의 관계는 인식하지 않는다. 이는 각 패킷을 각 단편이 분리된 메시지에 속하는지 여부에 따라 독립적으로 처리한다. 전송층은 발신지-대-목적지 레벨에서 오류 제어와 흐름 제어를 통하여 순서대로 도착하는 것을 보장한다.

  • 서비스 지점 주소지정
  • 분할과 재조립
  • 연결 제어
  • 흐름 제어
  • 오류 제어

세션층(session layer)

세션층은 네트워크 대화 제어기이다. 이는 통신 시스템 간에 상호 대화를 설정, 유지, 동기화 한다.

  • 대화 제어
  • 동기화

표현층(presentation layer)

표현층은 두 시스템 간에 교환되는 정보의 구문과 의미와 관련이 있다.

  • 변환
  • 암호화
  • 압축

응용 계층(application layer)

응용층은 사용자(사람 또는 소프트웨어)가 네트워크에 접속하는 것을 가능하게 한다. 전자우편, 원격파일 접속과 전송, 공유된 데이터베이스 관리, 분산된 정보 서비스의 또 다른 유형과 같은 서비스를 지원하고 사용자 인터페이스를 제공한다.

  • 네트워크 가상 터미널
  • 파일전송, 접근, 관리
  • 전자우편 서비스
  • 디렉토리 서비스