[네트워크] OSI 7계층이란? TCP/IP 5계층이란?

계층화(Layering)란?

  • 계층화란 모듈들이 계층(Layer)을 이루도록 역할과 책임을 세분화 하는 것을 말한다.
  • 시스템을 구성하는 모듈들의 상관 관계를 의존성을 이용해 구분한다.
  • 상위 계층의 모듈은 하위 계층에서 제공하는 인터페이스를 이용해 구현되어야 한다.

계층화의 예로 비행기 서비스의 예를 들어보자.

Layering of airline functionality

어떤 사람이 출발 항공에서 도착 항공 까지 비행 서비스를 이용하는 것을 계층화(Layering) 한 것을 나타냈다.

매표소 계층, 수화물 계층, 게이트 계층, 활주로 계층, 비행기 계층으로 나누어 각각 계층이 역할과 책임을 세분화하여 맡는다. 이렇게 계층화를 하는 이유가 무엇일까?

 

계층화의 장점

  • 복잡한 시스템을 파악하기 쉽게 단순화 시킬 수 있다.
  • 시스템의 업데이트와 유지보수를 쉽게 할 수 있다. 
  • 한 계층의 변화가 다른 계층에 영향을 주지 않는다. ( ex : 수화물 규정이 바뀌어도 게이트의 탑승 수속이 바뀌진 않는다 )

OSI 7계층 (OSI 참조 모델)

  • OSI 참조 모델은 데이터 통신을 7개의 계층으로 나눈다.
  • 개방형 시스템 상호 연결 모델의 표준이다.

데이터 통신 역사 초기에는 여러 정보통신 업체들의 장비가 서로 호환되지 않는 호환성 문제가 있었다. 이러한 문제를 해결하기 위해 ISO(국제표준화기구)가 데이터 통신의 규격과 프로토콜을 통일하려고 했는데 이 와중에 만들어진 것이 OSI 참조 모델이다.   

Application Layer(응용 계층)

  • 사용자와 가장 밀접한 계층으로 인터페이스 역할을 담당한다.
  • 응용 프로세스 간의 정보 교환을 담당한다.
  • 사용자에게 보이는 유일한 계층이다.
  • 메일 전송, 인터넷 접속 등의 작업 수행 가능

Presentaion Layer(표현 계층)

  • 데이터를 어떻게 표현할지 결정하는 역할을 한다. (데이터의 형식 결정)
  • 송신자에게서 온 데이터를 해석하기 위한 데이터 부호화, 변화 담당
  • 데이터의 인코딩, 디코딩 담당
  • 데이터의 암호화, 복호화 담당

Session Layer(세션 계층)

  • 통신 장치 간 상호작용 및 동기화 제공
  • 연결 세션에서 데이터 교환과 에러 발생시 복구를 관리한다.
  • OS가 세션 계층에 속한다.

Transport Layer(전송 계층)

  • 종단 간 신뢰성 있고 정확한 데이터 전송 담당
  • 데이터 전송을 위해 Port 번호 사용
  • 주로 TCP, UDP 프로토콜을 사용한다.
  • 송신자와 수신자 간의 신뢰성있고 효율적인 데이터 전송을 위해 오류 검출 및 복구, 흐름제어와 중복검사등 수행

Network Layer(네트워크 계층)

  • 라우팅(Routing)기능을 담당한다. 즉, 목적지까지 가장 빠르고 안전하게 데이터를 보낼 최적의 경로를 설정한다. 
  • 주소(IP)를 정하고 경로(Route)를 선택해 패킷(packet)을 전달한다.

Data Link Layer(데이터 링크 계층)

  • 물리적인 연결을 통해 인접한 두 장치간의 신뢰성 있는 정보 전송 담당
  • MAC 주소를 통해서 통신
  • 데이터 전송 오류를 감지할 수 있으며 오류를 감지하면 재전송한다.

Physical Layer(물리 계층)

  • 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 단지 데이터 전달의 역할을 할 뿐, 알고리즘이나 오류제어 기능이 없다.

TCP/IP 5계층 (TCP/IP 모델)

위에서 ISO(국제표준화기구)가 데이터 통신의 규격과 프로토콜을 통일하려고 OSI 참조 모델을 만들었다고 했다. 사실 이 시도는 실패하였고, 현재 세계에서 표준으로 받아들여지는 것은 TCP/IP 모델이다. 

OSI 참조 모델과 TCP/IP 모델 비교

TCP/IP 모델과 OSI 참조모델은 비슷하지만 다른 모델이다. 각 계층이 하는 역할도 비슷하지만 다르다.

TCP/IP 모델은 5계층으로 나누기도 하지만 Link Layer와 Physical Layer를 합쳐 Interface Layer(인터페이스 계층)으로 나타내 4계층으로 나누기도 한다. 

 

 

Application Layer(어플리케이션 계층)

  • 통신서비스를 실현하는 계층이다.
  • 서버와 클라이언트의 개념을 갖는다. 서버는 데이터를 제공해주고, 클라이어트는 제공받는다.
  • 서버와 클라이언트의 주고받기를 결정하는 어플리케이션 프로토콜이 있다.
  • 서버는 데이터를 저장하고 제공하며 클라이언트는 우리가 쓰는 대부분의 프로그램을 뜻한다.
  • 다양한 어플리케이션마다 프로토콜이 존재한다. (ex : SMTP, POP)

Transport Layer(트랜스포트 계층)

  • 데이터를 상대에게 전달하는 역할을 한다.
  • 대표적인 프로토콜로 TCP와 UDP 가 있다.
  • TCP는 데이터를 안전하고 확실하게 전달하는 것을 목적으로 정확성이 요구되는 서비스에 사용된다.
  • UDP는 데이터를 빠르게 전송하는 것이 목적으로 TCP보다 절차가 단순하고 속도가 빠르다.
  • UDP는 데이터의 전송속도가 중요한 서비스에 사용된다.

Network Layer(네트워크 계층)

  • 여러개의 네트워크를 지나서 수신측에 데이터를 전달하는 역할을 한다.
  • 주로 IP(Internet Protocol)을 사용하고 이를 보조해주는 ICMP가 있다.
  • 네트워크 계층은 Internet Layer(인터넷 계층) 이라고도 부른다.

Link Layer(링크 계층)

  • 같은 규칙을 바탕으로 연결된 한 덩어리의 기기를 데이터 링크라 하고, 데이터 링크 내의 로컬 규칙을 처리하기 위해 존재하는 것이 링크층의 프로토콜이다.
  • 링크 계층은 데이터 링크간의 차이를 흡수한다. 
  • 링크 계층의 프로토콜은 데이터 링크 안에서 데이터 주소를 어떻게 받을지 결정한다.
  • 데이터 링크 내에서 기기를 식별 할 때 LAN 카드의 MAC(Media Access Control Address) 주소를 이용한다.

Physical Layer(물리 계층)

  • 비트열과 신호의 변환이 일어나는 계층
  • 특별한 프로토콜 없이 기기의 자체적 성질에 의존한다.

 

 

 


반응형

댓글

Designed by JB FACTORY