[Network] OSI 7 Layer 의 전체적인 이해

Geon·2023년 1월 10일
0

CS

목록 보기
3/9
post-thumbnail

OSI 7 계층은 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것으로, 이렇게 하면 통신 과정을 단계별로 파악이 용이해지고 통신 과정 중 이상이나 오류가 발생 시 파악이 용이하고, 해당 단계 내에서 해결할 수 있다는 등의 장점을 가진다.

OSI 7 Layer

전체적인 흐름

위는 OSI 7 Layer의 전체적인 구조와 데이터의 흐름을 그려본 것이다. 송신(좌측) 호스트에서 보내진 데이터는 민트색 화살표의 방향대로 전송이 되어진다. 상위 계층일수록 사용자와 가까운 쪽의 계층인데, 송신측 호스트의 입장에서 데이터를 보내게 되면 자신의 네트워크 내에서 응용 계층부터 출발하여 아래 계층으로 데이터가 내려가게 되고, 이 과정에서 각 계층을 타고 내려갈 때마다 각 계층에서 정의한 데이터의 정보나 규칙 등을 담은 헤더가 추가되면서 내려간다.(참고 : 물리 계층에서는 추가되는 헤더가 없다)
보내려는 데이터가 물리 계층까지 내려가면 물리적인 전송 매체를 통해 수신 호스트(우측)의 네트워크로 전달이 된다. 앞서 말했듯 상위 계층으로 갈수록 사용자와 가깝다고 했다. 즉, 수신측의 사용자가 데이터를 받으려면 수신 호스트의 응용 계층까지 올라가야 할 것이다. 그래서 송신 호스트로부터 전달받은 데이터는 수신 호스트의 네트워크에서 역순으로 응용 계층까지 올라가게 된다. 각 계층을 타고 올라갈때 마다 송신 호스트에서 보낼때 쌓였던 헤더들이 벗겨지게 되고, 결국 최종적으로 수신 호스트가 받는 데이터는 송신 호스트의 사용자가 보냈던 원본 데이터의 형태로 받을 수 있게 되는 것이다.

Protocol & Interface

위에서 설명했듯 송신호스트 → 수신 호스트로 데이터가 전송되는 과정에서 자기 자신의 네트워크 내부에서 각 계층을 내려가거나 올라가는 등의 과정을 통해 데이터가 전달된다고 했는데, 이 때 데이터는 논리적인 규칙을 따르면서 상/하의 계층으로 전달되어야 한다. 이 규칙이 바로 인터페이스(Interface)이다. (이 중 하위 계층이 상위 계층에 제공하는 인터페이스를 서비스(Service)라고 한다.)
최종 사용자가 데이터를 주고받기 위해선 자신의 네트워크에서 상/하의 계층끼리 데이터를 주고받기 위한 인터페이스도 필요하지만, 송/수신 호스트의 같은 계층끼리도 유기적으로 연동되어서 개별적으로 논리적 통신을 할 수 있어야 한다. 이 때 상대방 호스트 측의 같은 계층과 통신하기 위한 규칙을 프로토콜(Protocol)이라 한다.


다음으로 각 계층별로 어떤 역할을 맡고 있는지 간단히 알아보자.

1. 물리 계층(Physical layer)

네트워크에서 호스트들이 데이터를 전송하려면 반드시 물리적인 전송 매체로 연결되어 있어야 하고, 그 전송 매체는 유선 매체와 무선 매체로 구분된다. 물리계층은 이러한 호스트들간의 물리적인 연결을 담당하는 계층이다. 또한 물리적 전송 오류를 감지하여 데이터링크 계층에 전달해주는 역할을 한다.

  • 대표적 장치 :
    리피터 - 물리적 신호는 전송 거리가 멀수록 약해지기 때문에 리피터는 신호를 증폭해주는 역할
    허브 - 컴퓨터와 컴퓨터 사이 등 네트워크 장비끼리 연결해주는 역할

2.데이터링크 계층

물리계층으로 데이터를 전송하는 과정은 여러가지 오류가 발생하게되는데, 데이터링크 계층은 물리계층에서 발생한 오류에 관해 오류 제어를 수행한다. (데이터 링크 계층은 기능에 따라 MAC계층과 LLC계층으로 세분화시켜 나누기도 한다.) 오류의 종류에는 크게 분실과 변형 오류가 있다. 주로 이러한 오류들은 데이터 재전송 방식으로 해결을 한다. 또한 이 계층에서 양방향의 호스트들은 점대점(Point-to-Point) 방식의 통신을 사용한다.

  • 주소 : MAC Adress
  • 데이터 단위 : 프레임
  • 대표적 프로토콜 : 이더넷, HDLC
  • 대표적 장치 :
    브리지 - 리피터에 데이터링크 계층의 기능이 추가되어 오류 해결하는 기능이 있다.
    스위치(L2 Switch) - 허브와 비슷하지만 허브는 연결된 모든 기기에 Broadcasting 되는 반면, 스위치는 목적지로 지정한 호스트에게만 데이터가 전달되도록 Multicasting 방식을 사용한다는 특징이 있다.

3. 네트워크 계층

라우터를 통해 송수신 호스트 사이의 패킷 전달 경로를 선택하는 라우팅이 이 계층에서 가장 대표적인 기능이며, 이밖에 네트워크 패킷 수가 과도하게 증가하는 혼잡을 제어하는 역할, 전송계층에서 내려온 큰 데이터를 여러 패킷으로 나누는 패킷 분할, 목적지(반대측)에서는 쪼개어진 패킷을 모으는 패킷 병합 등을 하는 계층이다.

  • 주소 : IP Adress
  • 데이터 단위 : 패킷
  • 대표적 프로토콜 : IP , ICMP, IGMP
  • 대표적 장치 :
    라우터 - 데이터(패킷)의 전송 경로를 설정하는 라우팅 기능을 하는 장치

4. 전송 계층

데이터링크 계층과 비슷한 점이 많지만, 물리적인 선로를 통해 데이터를 주고받는 데이터링크계층과 달리, 논리적인 선로를 통해 데이터를 주고 받는다. 전송 계층의 기능은 송수신 호스트 사이의 전송 지원을 넘어 송수신 호스트에서 실행되는 프로세스 사이의 전송을 지원한다.

  • 주소 : Port Number
  • 데이터 단위 : 세그먼트, 데이터그램
  • 대표적 프로토콜 : TCP, UDP
  • 대표적 장치 :
    게이트웨이 - 네트워크에 입구를 담당하는 역할. 서로 다른 네트워크간에 통신이 가능하도록 해주는 역할을 한다.


(5 Layer 부터는 상위 Layer로 분류하며, 여기서부터는 사용자와 가까운 부분이라고 할 수 있다. 전공 수업에서는 4 Layer까지만 상세하게 다루고 상위 Layer는 개념적인 부분만 가볍게 체크했기에 간단히 짚고 넘어가겠다.
)

5. 세션 계층 (Session Layer)

전송 계층과 비슷하지만, 세션 계층에선 응용 환경에서 사용자 간 대화(Dialog) 개념의 연결이 이루어진다는 특징이 있다. 예를 들어 네트워크에서 파일 송/수신 중에 연결이 끊기면 전송 계층의 연결이 종료되고, 이후에 전송 계층의 연결을 다시 설정하여 이전에 데이터 송수신이 멈췄던 지점부터 이어서 전송하는 기능은 세션 계층의 영역이라고 할 수 있다.


6. 표현 계층 (Presentation Layer)

정보를 교환하는 호스트들이 표준화된 방법으로 데이터를 인식할 수 있도록 데이터의 의미와 표현에 집중하는 계층이다. 뿐만 아니라, 데이터의 압축 암호화도 이 계층에서 중요하게 다룬다.

  • 대표적 프로토콜 : SSL, ASCII

7. 응용 계층 (Application Layer)

일반 사용자를 위해 다양한 네트워크 응용 서비스를 지원하는 계층이다. 이 계층에선 하위 계층들(1~6 Layer)을 이용하여 사용자에게 편리한 응용 환경을 제공하는 역할을 한다.

  • 대표적 프로토콜 : HTTP, SMTP, FTP, TELNET
profile
별에 별 지식 저장해놓고 꺼내먹기📚

0개의 댓글