OSI 모델 7 계층 구조 소개

 

OSI란, 국제 표준화 기구(ISO)에 의해 정의된 Open System Interconnection(개방형 시스템 상호 연결) 모델이다.

하드웨어나 소프트웨어의 논리에 변화 없이 다양한 시스템 간의 원활한 통신을 가능하게 하는 것을 목표로 한다.

 

 

 

 

https://huimang2.github.io/etc/iso-standard-7498

( 네트워크 계층에서는 IP 주소가, 전송 계층에서는 포트 번호가 데이터에 추가되는 것을 보여주는 그림)

 

 

OSI 모델은 7개의 계층으로 구성되어 있다.

 

  • 응용 계층(Application): 사용자와 직접 상호작용하는 애플리케이션과 관련된 계층
  • 표현 계층(Presentation): 데이터의 형식을 변환하고 암호화를 처리
  • 세션 계층(Session): 통신 세션을 설정하고 유지, 종료하는 역할
  • 전송 계층(Transport): 신뢰성 있는 데이터 전송을 보장
  • 네트워크 계층(Network): 데이터를 목적지까지 전달하는 라우팅 기능을 제공
  • 데이터 링크 계층(Data Link): 인접한 네트워크 노드 간의 데이터 전송을 담당
  • 물리 계층(Physical): 물리적 연결 및 전송 매체와 관련된 계층

 

 

 

 

 

아래 그림은 각 계층별로 확인할 수 있는 두 장치(장치 A와 장치 B) 간의 통신 과정과 중간 노드를 통한 데이터 흐름이다.

https://velog.io/@dxxh_e/OSI-7%EA%B3%84%EC%B8%B5%EA%B3%BC-%EB%A0%88%EC%9D%B4%EC%96%B4Layer%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

 

  • 중간 노드(Intermediate Node):
    • 통신이 장치 A에서 장치 B로 직접적으로 이루어지지 않고, 중간에 중간 노드들이 있다. 중간 노드는 주로 네트워크 장비(라우터, 스위치 등)로 데이터를 전달하는 역할을 한다.
    • 중간 노드들은 물리 계층(1계층)부터 네트워크 계층(3계층)까지의 계층만을 처리한다. 이는 중간 노드가 데이터의 전송을 담당할 뿐, 데이터를 해석하거나 변경하지 않기 때문이다.
  • 피어 투 피어 프로토콜(Peer-to-Peer Protocol):
    • 각 장치에서 같은 계층 간에는 피어 투 피어 프로토콜이 적용된다.
      예를 들어, 장치 A의 전송 계층(4계층)은 장치 B의 전송 계층과 통신한다.
    • 이러한 피어 투 피어 방식은 각 계층이 다른 장치의 동일한 계층과 상호작용한다는 것을 의미한다.
  • 물리적 통신(Physical Communication):
    • 데이터는 최종적으로 물리 계층(1계층)을 통해 전송된다. 여기서 데이터는 전기 신호나 무선 신호로 변환되어 전송 매체를 통해 중간 노드와 장치 B로 전달된다.
    • 물리 계층에서 데이터를 전송하고 수신하는 과정은 실제 데이터 통신의 물리적인 부분을 나타낸다.

 

 

 

 

 

http://contents.kocw.or.kr/KOCW/document/2015/gachon/baekdonghyun2/9.pdf

 

방금 말했던 물리적 계층의 전송을 표현한 그림이다.

위 그림과 같이 데이터가 물리 계층에 도달하면 전기 신호나 무선 신호 같은 물리적 형태로 변환되어 전송 매체(Transmission Medium)를 통해 전달된다.

 

전송 매체를 통해 데이터를 전송하면, OSI 모델의 물리 계층에서 신호가 전송된다. 이때 데이터는 0과 1로 이루어진 비트(binary)로 변환되어 물리적으로 전송된다.

 

장치 B는 전송된 데이터를 수신하고, 장치 B 역시 OSI 모델의 계층을 거쳐 데이터를 처리한다.

 

데이터를 수신할 때 각 계층은 해당 계층에 맞는 정보를 제거하며, 원래의 데이터로 복원한다.
예를 들어, 네트워크 계층에서는 IP 주소를 확인하고 전송 계층에서는 포트 번호를 확인한다.

최종적으로 응용 계층에서 원래의 데이터가 장치 B에 도착한다.

 

 

 

 

각 계층의 categorize

  • 네트워크 지원 계층(Network Support Layers): 물리적 데이터 전송을 담당하는 1, 2, 3계층(Physical, Data Link, Network 계층)을 포함한다. 이 계층들은 장치 간 데이터 이동과 관련된 물리적 측면을 처리한다.
  • 사용자 지원 계층(User Support Layers): 5, 6, 7계층(Session, Presentation, Application 계층)은 서로 다른 소프트웨어 시스템 간의 상호 운용성을 지원하는 역할을 한다.
  • 전송 계층(Transport Layer): 4계층은 네트워크 지원 계층과 사용자 지원 계층을 연결하며, 하위 계층에서 받은 데이터를 상위 계층이 사용할 수 있도록 적절한 형식으로 변환한다.

 

 

 

 

 

 

물리 계층

https://www.slideserve.com/ezra-perry/3-osi

 

물리 계층은 데이터를 비트(bit) 스트림 형태로 물리적 매체를 통해 전송하는 기능을 조정한다.

때문에 케이블, 커넥터, 매체 등의 주요 연결에 대한 기계적, 전기적 사양을 다룬다.

 

 

물리 계층은 데이터 링크 계층(Layer 2)으로부터 데이터를 받아 물리적 매체(Transmission Medium)를 통해 전송하고, 반대쪽에서 다시 물리 계층으로 데이터를 전달하는 역할을 한다.

데이터는 0과 1의 이진수(bit) 형태로 전송되며, 실제 신호로 변환되어 매체를 통해 이동한다.

 

 

 

물리 계층의 역할

  • 인터페이스 및 매체의 물리적 특성: 데이터 전송을 위한 매체와 인터페이스의 물리적 특성을 정의
  • 비트 표현(Encoding): 비트가 신호로 변환되어 전송되기 위한 부호화 방식을 정의
  • 전송 속도: 데이터가 전송되는 속도 및 신호의 유지에 대한 비트를 제어
  • 동기화: 송신자와 수신자의 비트 동기화를 보장하여 데이터가 정확하게 전송
  • 라인 구성(Line Configuration): 포인트 투 포인트(point-to-point), 멀티포인트(multipoint) 등의 라인 구성
  • 물리적 전송 형태: 메쉬(mesh), 스타(star), 링(ring), 버스(bus) 등의 네트워크 토폴로지(구조)를 다룬다.
  • 전송 모드: 단방향(simplex), 반이중(half-duplex), 전이중(full-duplex) 모드에서 데이터가 전송되는 방식을 설명한다.

 

 

 

 

 

 

 

데이터 링크 계층

https://www.slideserve.com/ezra-perry/3-osi

 

오류 없이 한 스테이션에서 다른 스테이션으로 데이터 단위(비트 그룹)를 전달하는 역할을 한다.

3계층(네트워크 계층)에서 받은 데이터 단위에 헤더(header)와 트레일러(trailer)를 추가하여 의미 있는 비트를 포함하고, 이 과정에서 생긴 데이터를 프레임(frame)이라고 부른다.

 

 

네트워크 계층에서 데이터를 받아 데이터 링크 계층이 프레임을 생성하고, 물리 계층을 통해 전송한다.

반대로, 물리 계층을 통해 받은 데이터를 다시 데이터 링크 계층이 처리하여 네트워크 계층으로 전달하는 역할도 한다.

프레임의 구조는 데이터를 감싸는 헤더(H1)와 트레일러(T1)를 포함한다.

 

 

 

데이터 링크 계층의 역할

  • 프레이밍(Framing): 비트 스트림을 프레임으로 나눠서 관리
  • 물리 주소 지정(Addressing): 프레임의 송신 및 수신 주소를 지정하여 데이터가 올바른 목적지에 도달하도록 한다.
  • 흐름 제어(Flow Control): 수신 측에서 과부하가 걸리지 않도록 데이터를 제어
  • 오류 제어(Error Control): 트레일러와 재전송 메커니즘을 사용하여 데이터 전송 중 발생하는 오류를 감지하고 수정
  • 액세스 제어(Access Control): 충돌을 방지하기 위해 링크를 제어하는 장치가 어떤 것인지 결정

 

 

 

 

 

 

 

네트워크 계층

https://www.slideserve.com/ezra-perry/3-osi

 

네트워크 계층은 여러 네트워크 링크를 통해 패킷을 전달하는 책임이 있다.

이 계층은 패킷을 최적의 경로로 전송하기 위해 경로를 선택하며, 물리적 링크 간의 임시 연결을 통해 네트워크 전송을 수행한다.

  • 라우팅(Routing):
    • 라우팅은 여러 경로 중 최적의 경로를 선택하여 패킷을 전송하는 것을 의미한다.
      즉, 여러 경로가 있을 때 가장 효율적인 경로를 선택하는 과정을 말한다.
  • 스위칭(Switching):
    • 스위칭은 네트워크 내에서 물리적 링크들 간의 임시 연결을 형성하여 데이터를 전송하는 것을 의미한다.
      예를 들어, 전화 통화 시 일시적으로 연결된 회선을 통해 통신이 이루어지는 것

 

 

 

네트워크 계층의 구체적 책임

  • 패킷의 전달: 출발지에서 목적지까지의 패킷 전송을 책임진다.
  • 논리적 주소 지정(Logical Addressing): 네트워크 상의 각 장치에 고유한 주소(IP 주소 등)를 할당하여 데이터를 전달할 수 있다.
  • 라우팅(Routing): 최적의 경로를 선택하여 데이터를 전송하는 기능을 담당한다.

 

 

 

 

 

 

 

전송 계층

 

전송 계층은 세션 계층(Layer 5)으로부터 데이터를 받아 패킷을 생성하고, 네트워크 계층(Layer 3)으로 전달한다.

반대편에서는 네트워크 계층으로부터 받은 데이터를 다시 전송 계층이 처리하여 세션 계층으로 전달한다.

 

 

전송 계층은 데이터를 처리할 때 각 패킷에 헤더(H4)를 추가한다. 이 헤더에는 메시지를 올바르게 전송하기 위한 정보가 포함된다. 이러한 정보를 통해 데이터 흐름을 제어하고 패킷들이 올바른 순서로 조립될 수 있도록 도와준다.

예를 들어, 패킷 번호전송 제어 정보가 포함될 수 있다.

 

 

 

전송 계층의 주요 역할

  • 메시지 분할 및 재조립(Segmentation and Reassembly): 큰 데이터를 작은 패킷으로 나누고, 수신 측에서 이를 재조립하여 원래의 메시지로 복원한다.
  • 연결 제어(Connection Control): 데이터 전송을 위한 연결을 설정하고 관리
  • 흐름 제어(Flow Control): 송신자와 수신자 간의 데이터 흐름을 조정하여 과부하를 방지
  • 오류 제어(Error Control): 데이터 전송 중 발생할 수 있는 오류를 감지하고 수정

 

 

 

 

 

 

 

세션 계층

 

세션 계층은 네트워크에서 송신자와 수신자 간의 대화를 관리한다. 이를 통해 통신이 시작되고, 유지되며, 종료될 수 있다.

 

 

주요 대화 관리 기능

  • 동기화(Synchronization): 데이터 전송 중에 필요한 동기화 지점을 설정하여 오류나 문제 발생 시 데이터를 복구할 수 있도록 한다.
  • 대화 제어(Dialog Control): 누가 데이터를 전송하고, 언제 전송할지를 결정하는 역할을 한다.

 

 

 

H5 헤더는 세션 계층에서 관리하는 정보로, 대화 관리 및 동기화를 위해 필요한 정보를 포함하고 있다.

헤더와 데이터 안의 동기화(SYN) 정보는 통신 세션을 유지하고 동기화하는 데 사용된다.

 

 

 

세션 계층의 주요 책임

  • 세션 관리(Session Management): 통신 세션을 설정하고 유지하며, 필요시 종료하는 기능을 담당
  • 동기화(Synchronization): 통신 도중 동기화 포인트를 설정하여 데이터 전송의 정확성을 보장
  • 대화 제어(Dialog Control): 송신자와 수신자 간의 데이터 전송 순서를 제어하여 충돌을 방지하고, 누가 언제 데이터를 보내는지를 결정

 

 

 

 

 

 

 

 

표현 계층

 

표현 계층은 통신하는 장치들 간의 데이터 형식을 일관되게 유지하여 상호 운용성을 보장한다.

 

보안을 위해 데이터를 암호화하고, 수신 측에서는 이를 복호화하는 역할을 담당하고 있다.

또한 데이터 전송의 효율성을 위해 데이터를 압축하고, 수신 측에서는 데이터를 확장하여 원래 상태로 복원한다.

 

 

 

응용 계층(Layer 7)으로부터 데이터를 받아 세션 계층(Layer 5)으로 데이터를 전송하는 과정에서

프레젠테이션 계층은 데이터를 부호화(Encoding)하고, 암호화(Encryption)하며, 압축(Compression)한다. 이 과정에서 H6 헤더가 추가되며, 이 헤더에는 데이터 변환에 필요한 정보가 포함된다.

 

반대편에서는 프레젠테이션 계층이 데이터를 복호화(Decryption)하고, 압축 해제(Decompression)하며, 디코딩(Decoding)하여 원래의 데이터로 복원한다.

 

 

 

프레젠테이션 계층의 주요 책임

  • 번역(Translation): 다른 형식의 데이터를 통신 장치가 이해할 수 있는 형식으로 변환
  • 암호화(Encryption): 데이터를 암호화하여 보안을 강화하고, 수신 측에서 이를 복호화
  • 압축(Compression): 전송 효율을 높이기 위해 데이터를 압축하고, 수신 측에서 이를 확장하여 원래의 데이터로 복원

 

 

 

 

 

 

 

응용 계층

 

응용 계층은 이메일, 원격 파일 접근 및 전송, 데이터베이스 공유 관리 등 다양한 서비스를 지원하는 사용자 인터페이스를 제공한다.

 

굳이 사용자가 사람이든 소프트웨어든 상관없이 네트워크에 접근할 수 있도록 지원한다.

 

 

 

응용 계층에서 사용자는 네트워크에 접속하며, 응용 계층에서 사용되는 프로토콜(예: X.500, FTAM, X.400)들을 통해 네트워크와 상호작용한다.

데이터는 응용 계층에서 생성되어 프레젠테이션 계층(Layer 6)으로 전달되고, 반대로 프레젠테이션 계층에서 받은 데이터를 응용 계층이 처리하여 사용자에게 전달된다.

 

 

 

응용 계층의 구체적인 서비스

  • 네트워크 가상 터미널(Network Virtual Terminal): 네트워크 상에서 가상 터미널 서비스를 제공하여 원격 시스템에 접속할 수 있도록 한다.
  • 파일 접근, 전송, 관리(File Access, Transfer, and Management): 원격 파일 접근 및 전송, 파일 관리와 같은 서비스를 지원
  • 메일 서비스(Mail Services): 이메일 전송 및 관리 서비스를 제공
  • 디렉터리 서비스(Directory Services): 사용자와 리소스에 대한 정보를 제공하는 디렉터리 서비스를 관리

 

 

 

 

 

 

 

 

추가) TCP/IP 계층 구조

 

TCP/IP 모델은 OSI 모델과 유사하게 네트워크 통신을 위한 계층 구조를 정의하지만, TCP/IP는 5계층 구조로 구성된다.

 

 

 

1. TCP/IP 프로토콜 스택

  • 물리 계층(Physical), 데이터 링크 계층(Data Link), 네트워크 계층(Network), 전송 계층(Transport), 응용 계층(Application)의 5계층으로 이루어져 있다.
  • 각각의 계층은 OSI 모델과 유사한 역할을 수행하며, 특정 프로토콜이 각 계층에서 사용된다.
  • IP는 네트워크 계층에서 사용되며, 전송 계층에서는 TCPUDP가 사용된다. 응용 계층에서는 FTP, HTTP, SMTP 등의 다양한 프로토콜이 사용된다.

 

 

2. IP (Internet Protocol)

  • IP는 비연결형, 신뢰성이 없는 데이터그램 프로토콜이다.
    오류 검사나 추적을 제공하지 않으며 데이터가 성공적으로 전달되었는지 확인하지 않는다.

 

 

3. UDP와 TCP

  • TCP (Transmission Control Protocol):
    • 신뢰할 수 있는 연결 지향형 전송 프로토콜로, 데이터 스트림을 작은 단위인 세그먼트로 나누어 전송한다.
  • UDP (User Datagram Protocol):
    • 연결이 없는 프로토콜로, 프로세스 간 통신에 사용되며 포트 주소, 체크섬 오류 제어, 길이 정보를 추가하여 데이터를 전송한다.

 

 

4. 엔드 투 엔드 원칙 (End-to-End Argument in System Design)

  • End-to-End 원칙은 시스템 설계의 중요한 원칙 중 하나로, 중요한 기능은 네트워크의 하위 계층이 아닌 종단점에서 구현하는 것이 더 효율적이라는 개념을 의미한다.
  • 즉, 데이터 전송의 신뢰성, 복구, 보안 등과 같은 주요 기능을 네트워크의 종단 시스템에서 처리하도록 설계하는 것이 더 효과적이라고 말하고 있다.

 

여기에서 말하는 종단점은 송신자와 수신자를 각각 끝점으로 보고있다.

따라서 전송 계층과 응용 계층이 이에 해당한다.