06
11

 

OSI 7계층이란

 

OSI 7계층 모형을 통해 특정 네트워킹 과정에서 일어나는 일을 시각적으로, 단계별로 파악할 수 있다. 흐름을 한눈에 알아보기 쉽기 때문에 통신 과정에서 발생한 문제의 원인 파악이 용이하다. 특정한 곳에 이상이 생겼을 때 다른 단계를 건들지 않고 이상이 생긴 단계만 고칠 수 있다.

 

PC방에서 오버워치를 하는데 연결이 끊겼다. 어디에 문제가 있는지 확인해보자. (인용 출처)

모든 PC에 문제가 있다면…
- 라우터의 문제 (3계층 네트워크 계층)
- 광랜을 제공하는 회사의 회선 문제 (1계층 물리 계층)

한 PC만 문제가 있다면…
- 오버워치 소프트웨어에 문제가 있다면 (7계층 어플리케이션 계층)
- 오버워치 소프트웨어에 문제가 없고, 스위치에 문제가 있으면 (2계층 데이터링크 계층)

 

 

 

 

 

동작 원리

 

캡슐화란 데이터 전송을 위해 각 계층에서 자신의 계층 특성을 담은 제어 정보(주소, 에러 제어 등)를 헤더화 시켜 붙이는 것을 말한다. 캡슐화 과정을 통해 동일 계층간 호환성을 유지하고, 오류를 최소화할 수 있다.

 

데이터를 보낼 때는 송신 측에서는 데이터 캡슐화를 하여 보내고, 수신 측에서는 역캡슐화하여 데이터를 확인할 수 있다. 데이터를 전송하기 위해 라우터를 통할 때 네트워크 계층까지 역캡슐화하여 자신(라우터)에게 온 정보가 맞는지 확인한다. 자신에게 온 데이터가 맞으면 마저 역캡슐화하여 데이터를 확인하고, 아니라면 다시 캡슐화하여 다음 라우터에게 전한다.

 

 

 

 

 

계층 설명

요즘에는 OSI 7계층보다 TCP/IP 5계층(TCP/IP Updated Model)을 많이 쓴다고하여 이를 기준으로 설명한다.

 

 

1. 물리 계층

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송한다. 하드웨어적으로 구현되어 있다.
  • 데이터는 0과 1의 형태로 전달되며, 단순히 데이터의 전달 만을 한다.
  • 단순히 데이터의 전달 역할을 할 뿐, 주고 받는 데이터가 무엇인지, 어떤 에러가 있는지 신경쓰지 않는다.
  • 케이블, 리피터, 네트워크 허브, 모뎀 등이 있다.
    • 동축 케이블의 아날로그 신호를 디지털 데이터로 변환하는 모뎀(Modem)
    • 다수의 컴퓨터를 연결하여 하나의 네트워크로 보내는 허브(Hub)
    • 디지털 신호를 증폭해주는 리피터(Repeater)

 

 

 

2. 데이터 링크 계층

  • 네트워크 상의 주변 장치들 간의 데이터를 전송한다. 데이터의 오류와 흐름을 관리하여 안전하게 데이터를 전달할 수 있도록 한다.
    • 주소 할당: 물리 계층으로부터 받은 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.
    • 오류 감지: 신호가 전달되는 동안 오류가 포함되는 지를 감지한다. 오류가 감지되면 데이터 링크 계층은 해당 데이터를 폐기한다.
    • 오류제어, 흐름제어, 동기화 등을 수행한다.
  • 맥 주소를 가지고 통신하며, 전송되는 단위는 프레임이다.
  • 브릿지, L2 스위치가 있다.
    • 2개의 랜을 연결하는 브릿지(Bridge)
    • 데이터를 MAC주소를 기반으로 빠르게 전달하는 스위치(Switch)
      1. L2 스위치는 전송 받은 프레임(frame)을 어디로 보내야 하는지 알아야 한다.
      2. 그를 위해 switch table 또는 mac address table을 확인한다.
      3. 전송 해야하는 도착지(destination)이 테이블에 있으면 보내고, 없으면 mac 주소를 알아내기 위해 ARP 통신한다.

 

 

 

3. 네트워크 계층

  • 주소를 정하고 경로를 따라 패킷을 전달해주는(라우팅) 역할 및 흐름 제어, 오류 제어 등을 수행한다. 수많은 네트워크들의 연결로 이루어지는 인터넷 네트워크 속에서, 데이터가 전송될 수 있는 많은 경우의 수 중 가장 효율적인 라우팅 방법을 찾는다.
    • 데이터링크 계층에서는 바로 연결된 이웃 컴퓨터와의 통신만을 생각한다.
    • 네트워크 계층에서는 출발지에서 목적지까지의, End-To-End만을 생각한다.
  • 네트워크 레이어의 기술은 운영체제 커널에 소프트웨어적으로 구현되어 있다.
  • 주요 프로토콜은 IP, ICMP, 라우팅 프로토콜이고, 데이터 전송의 단위는 패킷이다.
    • TCP/IP 에서 IP 프로토콜은 신뢰성 및 흐름제어 기능이 없으며, 이것은 TCP에서 보장한다.
  • 라우터, L3 스위치가 있다.
    • L3 스위치는 2계층의 스위치에 라우팅 기능을 장착한 것
    • 랜을 연결하는 라우터(Router)

 

 

4. 전송 계층

  • 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다.
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화 등의 역할을 한다.
  • 포트 번호를 이용하여 도착지 컴퓨터의 최종 도착지인 프로세스에 데이터가 도달하게 한다.
    • 포트 번호는 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야하는 정수 값이다.
  • 주요 프로토콜은 UDP, TCP이다.
    • 전송 단위는 UDP 일 경우 user datagram, TCP 일 경우 segment를 사용한다.

 

 

5. 응용 계층

  • Session Layer
    • 실제 네트워크 연결이 이루어지는 계층
    • 두 대의 기기가 통신하기 위해서는 하나의 세션이 열려야만 한다. 세션 계층에서 프로세스간 통신을 제어하고, 통신 과정에서 동기화를 유지한다.
  • Presentation Layer
    • 응용프로그램 형식을 네트워크 형식으로 변환하거나 그 반대의 경우가 일어나는 계층
    • 대표적인 예로, 데이터를 안전하게 주고 받기 위해 암호화하고 복호화 하는 과정
    • 파일의 확장자(txt, jpeg, mp4, html 등)이 이 계층과 관련된 프로토콜
  • Application Layer
    • 사용자가 네트워크에 접근할 수 있도록 인터페이스를 제공하는 계층
    • 사용자에게 가장 직접적으로 보이는 부분

 

 

 

 

 

 

 

참고 자료

 

 

 

 

'CS > 네트워크' 카테고리의 다른 글

TLS 핸드셰이크  (0) 2022.07.20
동기/비동기와 블로킹/논블로킹  (0) 2022.05.22
웹소켓(Websocket)이란?  (0) 2022.01.19
COMMENT