본문 바로가기
CS

[Network] OSI 7 계층과 TCP/IP 4 계층

by psihyeong 2023. 6. 6.

OSI 7 계층과 TCP/IP 4 계층

OSI 7 Layer

네트워크 시스템은 소프트웨어 아키텍처 중 Layered Architecture를 따름. 즉 네트워크 시스템은 하나의 커다란 소프트웨어

OSI 7 Layer는 거대한 네트워크 소프트웨어 구조를 설명하는 것

  • Application(응용) 계층 : 최종 목적지로 응용 프로그램과 연관하여 서비스를 수행하는 계층
    • ex) HTTP, FTP, DNS
  • Presentation(표현) 계층 : 데이터 압축, 변환이 이뤄지는 계층
    • ex) JPEG, MPEG
  • Session(세션) 계층 : 데이터가 통신하기 위한 논리적 연결을 담당하는 계층
    • ex) API, Socket
  • Transport(전송) 계층 : 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층
    • Port 번호를 사용하여 컴퓨터의 특정 프로세스까지 데이터가 도달하게 하는 모듈 
    • 흐름 제어 : 송신측과 수신측 사이의 데이터 처리 속도 차이를 제어
    • 혼잡 제어 : 네트워크 혼잡을 피하기 위해 데이터의 전송 속도 제어
    • 오류 제어 : 오류 검출과 재전송
  • Network(네트워크) 계층 : IP를 지정하고 라우터로 경로를 선택해 네트워크를 통해 패킷을 전달하는 계층
    • 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서 특정 컴퓨터에 데이터를 전송하기 위해 필요.
    • IP 주소를 이용해 길을 찾고(routing), 다음 라우터에게 데이터를 넘겨주는 것(forwarding)
  • Data Link(데이터링크) 계층 : 신뢰성 있는 전송을 보장하기 위한 계층
    • 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈 
    • 오류 제어, 흐름 제어, 회선 제어
  • Physical(물리) 계층 : 전기적, 물리적 세부 사항을 정의하는 계층
    • 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈

전송계층은 논리적으로 1:1 연결된 송신과 수신 호스트 즉, 종단간의 호스트에 신뢰성 관련 기능을 제공하고, 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송 즉, 직접 묶여있는 호스트-노드 또는 노드-노드 사이에서의 신뢰성 관련 기능을 제공

계층을 나눈 이유 : 통신이 일어나는 과정을 단계별로 알 수 있고, 문제가 생기면 그 단계만 수정하면 되기 때문

OSI 7 Layer 목적

  • 표준화를 통하여 장비별로 이질적인 포트, 프로토콜의 호환 문제를 해결하고, OSI 모델을 이용하여 네트워크 시스템에서 일어나는 일을 쉽게 설명할 수 있게 하는 것
  • OSI 계층별 기능과 통신의 과정을 정립하여 교육하기 위한 목적으로 사용

Encapsulation & Decapsulation

Untitled.png

  • Encapsulation(캡슐화)
    • 데이터를 전송할 때 각각의 레어마다 인식할 수 있는 헤더를 붙이는 과정
    • 2계층(Data layer, 데이터링크계층)에서는 오류제어를 위해 데이터의 뒷부분에도 일부 데이터가 추가됨
  • Decapsulation(역캡슐화)
    • 수진된 데이터가 각각의 레이어를 따라 올라가면서 헤더가 벗겨지는 과정

OSI 7 Layer별 Protocol과 기능

Untitled.png

  • OSI 7계층에서 PDU(Process Data Unit)란 각 계층에서 전송되는 단위
  • 계층 별 PDU
    • 1계층 : Bits
    • 2계층 : Frames
    • 3계층 : Packets
    • 4계층 : Segments
    • 5~7계층 : Data
  • 각 계층별 프로토콜 기능
    • 분할 : 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능
    • 재조립 : 분할된 데이터를 사용하기 위해 재조립 하는 기능
    • 캡슐화 : 각 계층을 거칠 때 마다 각 계층의 헤더가 계층별로 붙으며, 캡슐화를 진행
    • 순서 제어 : 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크
    • 흐름 제어 : 송신되어 데이터의 양과 전송률을 제한하는 기능
    • 오류 제어 : 데이터가 올바르게 수신되었는지 에러 검출 코드를 통해 체크하는 기능

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

Untitled.png

  • 전기적, 기계적 특성을 이용하여 통신 케이블로 전기적 신호(에너지)를 전송
  • 비트(Bit)단위의 PDU, 1(On)/0(Off)의 인코딩 전압 및 케이블 사양 핀의 수 등을 정의한 계층
  • 단지 데이터 전달의 역할
  • 1계층 장비 : 케이블, 리피터, 허브
  • PHY칩에 하드웨어적으로 구현되어있음.

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

Untitled.png

  • 물리적인 연결을 통하여 인접한 두 장치의 신뢰성 있는 정보 전송을 담당
  • 프레임(Frame)단위의 PDU, MAC주소와 제어정보를 전송, 헤더를 통해 캡슐화 또는 캡슐화 해제
  • 정보의 오류와 흐름을 관리하여 안정된 정보를 전달
  • IEEE802.2(LLC), IEEE802.3(CSMA/CD), IEEE802.5(Token Ring) 등등
  • 2계층 장비 : 브릿지, 스위치
  • 랜카드에 하드웨어적으로 구현되어있음.

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

Untitled.png

  • 중계 노드를 통해 전송하는 경우 어떻게 중계할 것인가를 규정
  • 패킷(Packet)단위의 PDU, 패킷은 목적지까지 경로를 설정, 헤더를 통해 캡슐화 또는 캡슐화 해제
  • 데이터를 목적지까지 가장 안전하고 빠르게 전달.
  • IP(Internet Protocol), 라우팅(Routing), OSFP, BGP 등등
  • 3계층 장비 : 라우터, L3 스위치
  • 운영체제의 커널에 소프트웨어적으로 구현되어있음.

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

Untitled.png

  • 종단 간(End-to-End)에 신뢰성 있고 정확한 데이터를 전송
  • 세그먼트(Segement)단위의 PDU, 종단 간의 에러복구와 흐름제어 담당, 헤더를 통해 캡슐화 및 캡슐화 해제
  • TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등등
  • 4계층 장비 : L4 스위치
  • 운영체제의 커널에 소프트웨어적으로 구현되어있음.

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

Untitled.png

  • 통신장치 간 상호작용 및 동기화를 제공
  • 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리. 즉, 논리적인 연결을 담당
  • 헤더를 통해 캡슐화 및 캡슐화 해제
  • 4계층과 5계층을 경계가 모호함
  • NetBIOS, SSH, Appletalk 등등

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

Untitled.png

  • 데이터 표현에 차이가 있는 응용처리에서 제어 구조를 제공
  • 데이터의 표현 차이
  • 전송하는 데이터의 인코딩, 디코딩, 암호화, 코드 변화
  • 헤더를 통해 캡슐화 및 캡슐화 해제
  • ASCII, JPEG, MPEG 등등

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

Untitled.png

  • 사용자와 가장 밀접한 계층, 인터페이스(Interface) 역할
  • 응용 프로세스 간의 정보 교환
  • 전자메일, 인터넷 서비스, 동영상 플레이어 등의 어플리케이션


TCP/IP 4계층

Untitled.pngUntitled.png

  • ARPANET이 개발된 이후 현재의 인터넷으로 발전해나가는 과정에서 대부분의 데이터 통신이 TCP와 IP기반으로 이루어졌기 때문에 인터넷 프로토콜 그 자체를 표현하는 용어
  • 사실상 인터넷 프로토콜을 대표하는 용어로 사용
  • TCP/IP는 현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음

1계층 - 네트워크 액세스 계층(Network Access Layer)

  • OSI 7계층의 물리계층과 데이터 링크 계층에 해당
  • 물리적인 주소로 MAC을 사용
  • CSMA/CD, MAC, LAN, X25, 패킷망, 위성 통신, 다이얼 모뎀, LAN, 패킷망 등
  • Ehternet(이더넷), Token Ring, PPP 등등

2계층 - 인터넷 계층(Internet Layer)

  • OSI 7계층의 네트워크 계층에 해당
  • 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당
  • IP, ICMP, ARP, RARP, OSPF, BGP 등등

3계층 - 전송 계층(Transport Layer)

  • OSI 7계층의 전송 계층에 해당
  • 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터를 전송
  • TCP, UDP 등등

4계층 - 응용 계층(Application Layer)

  • OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당
  • TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
  • SMTP, FTP, HTTP, SSH, DNS 등등

OSI 모델 vs TCP/IP 모델

Untitled.png

  • 현대의 인터넷이 TCP/IP 모델을 따르고 있는 이유는 OSI 모델이 시장점유율에서 졌기 때문
  • OSI 모델의 Application, Presentation, Session 계층이 TCP/IP 모델에서는 Application으로 합쳐짐

 

Reference

https://www.youtube.com/watch?v=1pfTxp25MA8

http://wiki.hash.kr/index.php/OSI_7_계층

https://backtony.github.io/interview/2021-09-30-interview-2/#osi-모델-vs-tcpip-모델

'CS' 카테고리의 다른 글

[Network] TCP, UDP의 특징과 비교  (0) 2023.06.08