innn

[컴퓨터네트워크 스터디 1주차] OSI 7계층과 TCP/IP 본문

CS/네트워크

[컴퓨터네트워크 스터디 1주차] OSI 7계층과 TCP/IP

33삼 2024. 1. 11. 22:34

OSI 7 계층이란?

OSI 7 계층이란, 우리가 컴퓨터를 사용할 때 네트워크 상에서 통신이 수행되는 과정을 7단계로 표현한 것을 의미합니다.

전체 과정이 구분된다는 점에서 네트워크 상에서 문제가 생겼을 때 이를 해결하기 용이해집니다. 이상 현상이 발생한 계층의 장비만 수리할 수 있기 때문에 효과적으로 사용할 수 있는 컴퓨터 네트워크의 계층도입니다.

 

 

  • 1계층 Physical Layer
    • 물리계층이라고도 표현
    • 기계의 전기적인 특성을 활용해 전기적인 신호를 전송하는 계층
    • 이때 실질적으로 우리가 랜선이라고 표현하는 통신 케이블 등이 이러한 1계층에서의 데이터 전송을 물리적으로 가능하게 만들어줍니다.
    • 기계의 전기적인 특성을 활용하여 통신 케이블을 통해 데이터를 전송한다
    • 비트(bit) 단위로 0 혹은 1을 의미하는 전기 신호를 전달한다.
    • 예시) 리피터, 통신 케이블 등
      • 리피터 
        • 신호를 증폭하여 더 멀리 전송할 수 있도록 하는 네트워크 장치이다.
        • 데이터 신호의 전송 거리와 범위를 확장 시킨다. 디지털 신호의 내용 자체를 변경하지 않고, 단지 신호의 강도만 증가 시킨다. 예를 들어 Wi-Fi 리피터(Wi-Fi 익스텐더)가 있는데, 신호가 약한 건물의 여러 층에 Wi-Fi 커버리지를 개선하는 데 사용한다.
        • 네트워크의 범위를 확장하는 데 사용되며, 일반적으로 신호 손실을 줄이기 위해 네트워크 중간 지점에 설치된다.
  • 2계층 Datalink Layer
    • MAC 주소를 사용하며, 네트워크 기기 간의 데이터 전송 및 물리 주소를 결정하는 역할을 수행한다.
    • 네트워크 기기 간의 데이터 전송을 수행하고, 물리 주소를 결정한다.
    • 물리 계층을 통해 주고받는 데이터의 오류 처리 및 흐름을 제어한다.
    • 데이터의 단위 : 프레임(frame)
    • 물리 주소(MAC address)를 이용한다.
    • 2계층은 3계층과는 다르게, 로컬 단위에서의 직접적으로 연결된 장치와의 통신에 중점을 두는 계층이다.
    • 예시) 스위치(switch), 브리지(bridge)
      • 브리지
        • 데이터 링크 계층에 있는 여러 개의 네트워크 세그먼트의 연결 기능을 제공한다.
        • 들어오는 데이터 패킷을 분석하여 다른 네트워크로 전송할 수 있는지 결정한다.
        • 리피터의 기능을 모두 갖고 있으면서 더 지능적이다. 네트워크를 분리하고 서로 다른 네트워크를 연결 할 수 있다.
      • 스위치
        • 네트워크 회선과 서버 컴퓨터를 연결하는 네트워크 장치
        • 스위치에 연결된 장비들의 IP와 MAC 주소를 모두 저장해두고 있고, 특정 장치에서 패킷이 오면 해당 패킷의 목적지를 파악해 관련된 장치가 꽂힌 포트로 패킷을 보내준다.
  • 3계층 Network Layer
    • IP 주소를 사용하며, 라우팅을 이용해서 실질적으로 패킷 단위의 데이터를 목적지까지 안전하고 정확하게 전달한다.
    • 데이터를 원하는 목적지까지 안전하고 정확하게 전달하는 기능을 수행한다.
    • 라우팅, 흐름 제어, 오류 제어 등의 기능을 모두 포함한다.
    • 데이터의 단위 : 패킷(packet)
    • 라우팅 프로토콜을 통해 최적화된 경로를 통해 목적지에 도달한다.
    • 논리 주소(IP address)를 사용한다.
    • 예시) 라우터
      • 스위치들을 서로 연결하여 네트워크 간 최적 라우팅 경로를 설정하고 설정된 경로를 따라 트래픽을 전달하는 역할을 한다.
      • 최적 라우팅 경로는 일반적으로 가장 빠르게 통신이 가능한 경로이다.
  • 4계층 Transport Layer
    • 포트 번호를 사용하며 두 응용 프로그램 사이의 연결을 담당한다.
    • 특정 운영 프로그램에서 담당하고 있는 포트(port)에서 다른 운영 프로그램의 포트(port)까지의 연결을 담당한다.
    • 일반적으로 두 응용 프로그램 간의 연결을 담당한다.
    • TCP/UDP 프로토콜이 사용된다.
    • TCP의 경우 연결 기반으로 상태 정보에 기반하며(stateful), 패킷들의 유효성을 검사한다.
    • 누락된 패킷을 확인하여 재전송을 요청하는 등, 두 장치 간 데이터 전송의 신뢰성을 담당할 수 있다.
  • 5계층 Session Layer
    • 데이터가 통신하기 위한 논리적인 연결, 즉 세션 단위의 통신을 처리하도록 해준다.
    • 두 응용 프로그램이 통신하기 위한 논리적인 연결(세션 형성)을 수행한다.
    • 일반적으로 운영체제는 TCP/IP 세션을 생성/유지/제거하는 역할을 수행한다.
  • 6계층 Presentation Layer
    • 프로그램 간 데이터의 형식, 표현이 다른 점을 처리하여 응용 계층의 부담을 줄인다.
    • 각 프로그램마다 데이터의 표현이 상이하고 독립적일 수 있다.
    • 데이터의 형식(표현)이 다른 점을 처리하여 응용 계층의 부담을 덜어준다.
    • 특정한 데이터의 형식 구분 및 처리 → 텍스트(text), 이미지(JPG, GIF 등)인지 구분
    • 데이터 압축 및 암호화 기능을 수행할 수 있다.
  • 7계층 Application Layer
    • 실질적으로 사용자가 사용하는 프로그램에서 HTTP, FTP와 같은 프로토콜을 활용하여, 실질적인 서비스가 네트워크의 기능을 활용할 수 있도록 해주는 계층이다.
    • 우리가 실질적으로 다양한 응용 프로그램에서 활용한다.
    • 사용자로부터 정보를 받아 실질적으로 DB 접속, 이메일 전송 등의 서비스를 네트워크에 연결한다.
    • 웹 브라우저(HTTP), 파일 업로드/다운로드(FTP) 등이 대표적인 예시이다.

네트워크 관련 문제 상황이 생긴다면...

  • 우리가 게임을 하다가 네트워크 접속이 끊긴 상황을 생각해 보자
    1. 랜선이 뽑혀 있었거나, 통신 케이블(선)이 끊어져 있었다면? → 물리 계층(1계층)에서의 문제가 있었던 것
    2. 라우터(router)의 발열 문제가 있어 재부팅을 해야 했다면?  → 네트워크 계층(3계층)에서 문제가 있었던 것이다.

 

OSI 7계층과 TCP/IP 계층을 비교해보자 !

  • OSI 7계층은 참조 모델(reference model)로 사실상 이론적인 개념이다
  • → 국제표준화기구(ISO)가 참여하여 개발했다
  • 현재의 TCP/IP 계층이 더 실무적인 구조에 가깝다
  • TCP/IP 계층은 더 간략한 구조로 나눠져있다
    • Network Interface
    • Internet
      • 실제로 게임을 하거나 웹 브라우저를 이용해 특정 웹 서버에 접속할 때 IP 주소와 같은 표준화된 프로토콜을 따라서 특정서버에 접속한다. 이런 과정이 인터넷이란 형태로 표현된 것
    • Transport
      • 표현 계층에선 TCP와 UDP가 활용된다
    • Application
      • HTTP, DNS, 웹 프로토콜 등 다양한 프로토콜이 활용된다.

 

OSI 7계층과 TCP/IP 계층을 나누는 이유는...

계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다.

흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다. 각 계층들은 다른 계층에 영향을 받지 않도록 설게되어 있어 독립적으로 발전해 나아갈 수 있다. 즉, 다양한 유형의 프로토콜에 적응할 수 있는 유연성을 제공한다.

 

 

캡슐화와 역캡슐화

데이터 전송 시 캡슐화(Encapsulation)가 이뤄지고 수신 시 역캡슐화(Decapsulation)가 이뤄진다. 데이터에 헤더를 붙이고 아래 계층에 보내는 것을 캡슐화, 데이터에 헤더를 제거하고 위 계층에 보내는 것을 역캡슐화라 한다.