[네트워크] 네트워크 기초(4) - 네트워크 참조 모델(OSI 7 계층), TCP/IP 4계층, 캡슐화,역캡슐화, 단위

OSI 7 계층 모델 (Open Systems Interconnection)이란? 

OSI 7 계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다. 

1계층(물리 계층) ~ 7계층(응용 계층)으로 구성되어 있다.

 

 

이렇게 7계층으로 계층을 나누면 통신이 일어나는 과정을 단계별로 파악하여 특정한 곳에 이상이 생겼을 때, 이상이 생긴 단계만 고칠 수 있다. PDU는 각 계층의 통신/전송 단위를 뜻한다

 

예를 들어 PC방에서 게임을 하는데  연결이 끊겼다. 어디가 문제고 어디를 고쳐야 할까?

만약 PC방 내에 모든 PC가 연결이 끊겼다면 라우터의 문제(3계층 네트워크 계층)이나 광랜을 제공하는 회사의 회선(케이블,광섬유) 문제(1계층 물리계층)일 수 있다. 

그런데 내 PC만 문제가 있고 게임 소프트웨어에 문제(버그, 설정 문제 등)가 있다면 7계층 어플리케이션 계층의 문제,

게임 소프트웨어에 문제가 없고, 스위치에 문제가 있다면 2계층 데이터링크 계층의 문제라고 판단해 문제 현상만 고칠 수 있다. 

OSI 7 계층 구조

1계층 - 물리 계층 (Physical Layer)

  • 101010111 ----(통신 매체에 따라)----> 전기, 빛, 전파 등의 신호로 변환하는 계층
  • 통신 매체에 맞는 신호로 운반되도록 비트 데이터의 변환이 이루어지고 통신 매체를 통한 송수신이 이루어지는 계층
  • 통신 단위 : 비트(010100011111) 
  • 장비 : 통신 이블, 리피터, 허브, 광섬유 등

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

  • 네트워크 내의 주변 장치 간의 통신
  • 물리 계층에서 전송된 데이터를 안정적으로 전달하는 역할을 하는 계층 + 주고받는 정보에 오류가 없는지 확인
  • MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정 + 때때로 전송 과정에서 발생하는 충돌 문제 해결
  • 이더넷 등 LAN 기술이 데이터 링크 계층에 녹아 있음
  • 전송 단위 : 프레임
  • 장비 : 브리지, 스위치, 이더넷 등 -> 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달

3계층 - 네트워크 계층 (Network Layer):

  • 네트워크간의 통신
  • 네트워크 간의 통신이 이루어짐. 인터넷을 가능하게 하는 계층이라고 할 수 있음
  • IP주소라는 주소 체계를 통해 수신지 호스트와 네트워크를 식별하고(->IP헤더 붙음), 원하는 수신지에 도달하기 위한 최적의 경로를 결정함
  • 전송 단위 : 패킷
  • 장비 : 라우터

4계층 - 전송 계층 (Transport Layer):

  • 신뢰성 있고 안정성 있는 전송을 해야 할 떄 필요한 계층
  • 포트 라는 정보를 통해 실행 중인 응용프로그램의 식별이 이루어지기도 함
  • Port 번호, 전송방식(TCP/UDP) 결정 (-> TCP/UDP 헤더 붙음)
    • TCP : 신뢰성 보장 위해 헤더에 여러 정보 들어있음, 연결지향형, 느림, 파일 전송에 적합(단위 : 세그먼트)
    • UDP : 비신뢰성 보장되지X->헤더 구조 단순, 비연결형, 빠름, 실시간 스트리밍에 적합(단위 : 데이터그램)
  • 전송단위 : TCP - 세그먼트, UDP - 데이터그램

5계층 - 세션 계층 (Session Layer):

  • 세션을 관리학하기 위해 존재하는 계층
  • 여기서 세션은 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태를 의미
  • 연결 상태를 생성하거나 유지하고, 종료되었을 때는 끊어주는 역할을 담당

6계층 - 표현 계층 (Presentation Layer):

  • 번역기 ( 데이터를 어떻게 표현할지 정하는 계층) 
  • 사람의 언어 -> 컴퓨터 코드 변환, 압축, 암호화
  • 예시 : EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등

7계층 - 응용 계층 (Application Layer):

  • 실질적인 네트워크 서비스가 제공됨
  • 응용 프로그램에 다양한 서비스가 제공될 수 있기에 사용하는 프로토콜이 다양함( HTTP, FTP, SMTP, POP3, IMAP, Telnet 등
  • 응용 프로세스 간의 정보 교환 담당
  • 예시 : 전자메일, 인터넷, 동영상 플레이

 

TCP/IP 4계층

 

 

TCP/IP 4계층이란?

  • 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음
    OSI 모델을 기반으로 실제 사용될 수 있도록 단순화된 모델

 

TCP/IP 4계층 구조

1. Network Access Layer

  • OSI 계층의 1,2 계층에 해당한다.
  • 운영체제의 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층이다.
  • 물리적으로 데이터가 네트워크를 통해 어떻게 전송되는지 정의한다.
  • 에러 검출 기능과 패킷의 프레임화 기능을 담당한다.

2. Internet Layer

  • OSI 7계층의 네트워크 계층에 해당한다.
  • 논리적 주소인 IP를 이용한 노드간 데이터 전송과 라우팅 기능을 담당한다.

3. Transport Layer

  • OSI 계층에서 전송 계층에 해당한다.
  • 데이터의 송수신을 담당하고 통신 노드 간의 연결을 제어한다.
  • 네트워크 양단의 송수신 호스트 사이에서 신뢰성 있는 전송기능을 제공한다.
  • 대표적인 프로토콜은 TCP와 UDP가 있다.

4. Application Layer

  • OSI 계층에서 5,6,7 계층에 해당한다.
  • 사용자가 응용프로그램과 소통할 수 있게 UI를 제공한다.
  • TCP/IP 기반의 응용 프로그램을 구분할 때 사용한다.
  • TCP/IP 소켓 프로그래밍 (네트워크 프로그래망): 운영체제의 전송 계층에서 제공하는 API를 활용해서 통신 가능한 프로그램을 만드는 것

캡슐화 (Encapsulation) & 역캡슐화(Decapsulation)

 

캡슐화 (Encapsulation)

송신 측(상위 계층)에서 응용 계층부터 순서대로 각 계층에서 데이터에 헤더를 추가하고 아래 계층으로 보내는 과정
데이터 링크 계층까지 캡슐화 된 데이터는 최종적으로 전기 신호로 변환돼서 수신측에 도착한다.

헤더(Header): 데이터의 앞 부분에 위치하는 데이터 전송에 필요한 정보

역캡슐화 (Decapsulation)

수신 측에서 물리 계층부터 순서대로 데이터의 헤더를 제거하고 위 계층으로 전달하는 과정

캡슐화 과정

  1. 응용 계층 데이터 (Data):
    사용자가 보낸 메시지가 응용 계층에서 생성. 이 메시지는 웹 브라우징, 파일 전송 등과 같은 작업을 통해 만들어진 응용 계층의 데이터
  2. 전송 계층 세그먼트 (Segment):
    전송 계층에서는 응용 계층에서 받은 데이터를 세그먼트로 나눠뉨 여기에는 포트 번호 같은 정보를 담은 헤더가 추가됨. TCP라면 순서 정보오류 제어 정보도 함께 담김.
  3. 네트워크 계층 패킷 (Packet):
    네트워크 계층에서는 세그먼트에 IP 헤더를 붙여서 패킷을 만듦. 이 패킷에는 송신자와 수신자의 IP 주소가 포함돼요. 이 정보를 사용해서 패킷을 목적지까지 전달.
  4. 데이터 링크 계층 프레임 (Frame):
    데이터 링크 계층에서는 패킷에 MAC 주소를 포함하는 프레임을 만듦. 프레임은 물리적 네트워크 장치에서 데이터를 송수신하는 데 사용돼요. 오류 검출을 위한 정보도 함께 추가.
  5. 물리 계층 비트 (Bits):
    마지막으로 물리 계층에서는 프레임을 비트(bit) 단위로 변환해 전기 신호나 무선 신호로 전송.

캡슐화된 데이터의 흐름

데이터는 송신자에서 응용 계층 → 전송 계층 → 네트워크 계층 → 데이터 링크 계층 → 물리 계층 순서로 캡슐화되어 전송된다. 수신자는 그 반대 순서로 캡슐화된 정보를 해독(역캡슐화)하면서 최종 데이터를 받게 된다.

요약

  • OSI 7 계층 모델은 네트워크 통신을 단계별로 나누어, 각 단계에서 어떤 역할을 하는지 정의하는 모델이다.
  • TCP/IP 4계층은 인터넷에서 컴퓨터 간 정보 교환을 위한 프로토콜 모음으로, OSI 모델을 단순화한 구모델이다.
  • 캡슐화는 데이터를 전송할 때 각 계층에서 필요한 정보를 덧붙여 나가는 과정으로, 데이터가 올바르게 목적지에 도달하도록 도와준다.