네트워크 | OSI 7 Layer

Faithful Dev·2025년 1월 29일

컴퓨터 공학

목록 보기
64/81

네트워크 개요

데이터 전송 단위

각 네트워크 계층에서는 데이터를 특정 단위로 나누어 처리한다.

계층데이터 단위설명
응용 계층데이터(Data)사용자가 입력한 원본 데이터
전송 계층세그먼트(Segment)TCP/UDP 헤더가 추가된 데이터
네트워크 계층패킷(Packet)IP 주소가 포함된 데이터
데이터 링크 계층프레임(Frame)MAC 주소가 포함된 데이터
물리 계층비트(Bit)0과 1로 이루어진 신호

예시: 웹 사이트에 접속할 때

  1. 사용자가 웹 브라우저에서 URL 입력 → 데이터 생성
  2. TCP 포트 번호 추가 → 세그먼트 생성
  3. IP가 목적지 IP 추가 → 패킷 생성
  4. MAC 주소 추가 → 프레임 생성
  5. 물리적 신호로 변환 → 비트 전송

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

네트워크에서 데이터를 전송할 때 송신 측은 데이터를 점진적으로 포장(캡슐화)하고, 수신 측은 이를 해제(역캡슐화)하여 원래 데이터로 복원한다.

캡슐화(Encapsulation)

  • 정의: 데이터를 보낼 때 각 네트워크 계층이 제어 정보를 추가하여 데이터를 포장하는 과정
  • 과정:
    1. 응용 계층: 사용자가 입력한 데이터를 생성
    2. 전송 계층: TCP/UDP 헤더 추가 (세그먼트 형성)
    3. 네트워크 계층: IP 헤더 추가 (패킷 형성)
    4. 데이터 링크 계층: MAC 주소 추가 (프레임 형성)
    5. 물리 계층: 신호로 변환하여 전송

역캡슐화(Decapsulation)

  • 정의: 수신 측에서 데이터를 받으면 계층별로 헤더를 제거하여 원래 데이터로 복원하는 과정
  • 과정:
    1. 물리 계층: 전기 신호 → 프레임으로 변환
    2. 데이터 링크 계층: 프레임 해제, MAC 주소 확인
    3. 네트워크 계층: 패킷 해제, IP 주소 확인
    4. 전송 계층: 세그먼트 해제, TCP/UDP 정보 확인
    5. 응용 계층: 사용자 데이터 복원 및 처리

캡슐화와 역캡슐화의 핵심

데이터를 보내는 과정에서 헤더를 추가하며 점점 커지고(캡슐화), 받는 과정에서 헤더를 제거하며 원래 데이터로 되돌린다(역캡슐화).


네트워크 모델

OSI 7 Layer

물리 계층(Physical Layer)

  • 역할: 데이터를 전기 신호, 빛, 전파 등의 물리적 형태로 변환하여 전송
  • 특징: 신호의 형태, 전송 매체, 속도 결정
  • 장비: 허브(Hub), 리피터(Repeater), 케이블, 광섬유, 안테나
  • 예시:
    • 랜(LAN) 케이블을 통해 데이터가 전송될 때 신호 변환
    • Wi-Fi 신호를 통해 무선 데이터 전송

물리 계층에서는 데이터가 '비트(Bit)' 단위로 전송된다.


  • 역할: 같은 네트워크(LAN) 내에서 신뢰성 있는 데이터 전송
  • 특징: MAC 주소를 사용하여 장치 간 데이터 전달, 오류 검출 및 수정
  • 장비: 스위치(Switch), 브리지(Bridge)
  • 프로토콜: 이더넷(Ethernet), Wi-Fi(802.11)
  • 예시:
    • 스위치가 MAC 주소를 기반으로 올바른 기기로 데이터 전달
    • Wi-Fi에서 무선으로 데이터 전송

데이터 링크 계층에서는 데이터가 '프레임(Frame)' 단위로 전송된다.


네트워크 계층(Network Layer)

  • 역할: 다른 네트워크 간 데이터 전달 및 최적 경로(라우팅) 선택
  • 특징: IP 주소를 기반으로 패킷 전송, 라우터를 사용하여 네트워크 간 이동
  • 장비: 라우터(Router), L3 스위치
  • 프로토콜: IP(IPv4, IPv6), ICMP, ARP
  • 예시:
    • 라우터가 목적지 IP 주소를 확인하고 패킷을 올바른 네트워크로 전달
    • 네트워크 간 데이터를 주고받을 때 경로를 설정하는 과정

네트워크 계층에서는 데이터가 '패킷(Packet)' 단위로 전송된다.


전송 계층(Transport Layer)

전송 계층은 송·수신 간 신뢰성 있는 데이터 전송을 보장하는 역할을 한다.
주요 기능은 다음과 같다.

전송 계층의 주요 기능
  1. 애플리케이션 간 데이터 전송: 응용 프로그램 간 데이터 송·수신을 관리
  2. 데이터 분할 및 재조립: 데이터를 작은 조각(세그먼트)으로 나누고, 수신 측에서 재조립
  3. 신뢰성 보장: 오류 감지, 흐름 제어, 혼잡 제어 (TCP만 해당)
  4. 포트 번호 관리: 여러 애플리케이션이 네트워크를 동시에 사용할 수 있도록 포트 번호로 구분
  5. 연결 방식: 연결 지향 방식(TCP)과 비연결 지향 방식(UDP) 제공

전송 계층에서 대표적인 프로토콜은 TCP와 UDP가 있다.


세션 계층 (Session Layer)

세션 계층은 두 장치 간의 연결(세션)을 설정, 유지, 종료하는 역할을 한다.

세션 계층의 주요 기능
  1. 세션 설정(Session Establishment) → 통신을 위한 연결 생성
  2. 세션 유지(Session Maintenance) → 데이터 전송 중 연결 유지
  3. 세션 종료(Session Termination) → 데이터 전송 완료 후 연결 해제
  4. 동기화(Synchronisation) → 장시간 데이터 전송 시 체크포인트 삽입
세션 계층 예시
  • 로그인 시스템 (예: 온라인 은행, 웹사이트 로그인)
    사용자가 로그인하면 세션이 생성되고 일정 시간 활동이 없으면 자동 종료됨
  • 화상 통화, 스트리밍
    연결을 지속적으로 유지해야 하는 애플리케이션
  • NetBIOS, RPC (원격 프로시저 호출)
    네트워크를 통해 프로세스 간 통신을 지원

세션 계층은 연결을 관리하여 안정적인 데이터 교환을 보장한다.


표현 계층 (Presentation Layer)

표현 계층은 데이터를 이해할 수 있는 형식으로 변환(인코딩, 압축, 암호화)하는 역할을 한다.

표현 계층의 주요 기능
  1. 데이터 변환(Data Translation) → 서로 다른 시스템 간 호환성을 유지
  2. 데이터 압축(Data Compression) → 파일 크기를 줄여 네트워크 효율 증가
  3. 데이터 암호화(Data Encryption) → 보안을 위해 데이터 암호화 및 복호화
표현 계층 예시
  • 파일 형식 변환:
    • 텍스트 인코딩 (ASCII, Unicode)
    • 이미지, 동영상 압축 (JPEG, PNG, MP4)
  • 보안 프로토콜:
    • SSL/TLS → 웹사이트 보안(HTTPS)
    • VPN 암호화 → 보안 터널링
  • 멀티미디어 데이터 전송:
    • 동영상 스트리밍 시 압축하여 빠르게 전송

표현 계층은 데이터 형식의 차이를 해결하고, 압축 및 암호화를 통해 데이터 보안과 성능을 향상시킨다.


응용 계층 (Application Layer)

응용 계층은 사용자가 네트워크 서비스를 직접 이용하는 계층이다.

응용 계층의 주요 기능
  1. 네트워크 서비스 제공 → 웹, 이메일, 파일 전송 등
  2. 프로토콜 정의 → HTTP, FTP, SMTP, DNS 등
  3. 사용자 인터페이스 → 웹 브라우저, 이메일 클라이언트
응용 계층 프로토콜 예시
프로토콜설명
HTTP / HTTPS웹 브라우징 (웹사이트 접속)
FTP파일 전송 (다운로드/업로드)
SMTP / IMAP / POP3이메일 송·수신
DNS도메인 이름 변환 (IP 주소 조회)
DHCP동적 IP 주소 할당

응용 계층은 사용자가 네트워크를 쉽게 활용할 수 있도록 다양한 서비스를 제공한다.


TCP/IP 모델

OSI 7 계층은 이론적 모델이며, 실제 인터넷에서 사용하는 모델은 TCP/IP 모델이다.
TCP/IP 모델은 4계층 구조로 구성되며, OSI 모델의 기능을 단순화하였다.

TCP/IP 모델의 4계층

계층역할
응용 계층사용자 서비스 제공
전송 계층신뢰성 있는 데이터 전송 (TCP/UDP)
인터넷 계층IP 주소 기반 라우팅
네트워크 인터페이스 계층물리적 데이터 전송 (LAN, MAC)

TCP/IP 모델의 특징

  • 실제 인터넷에서 사용 (현실적인 모델)
  • OSI보다 단순하고 효율적
  • 애플리케이션 중심의 구조

TCP/IP 모델은 인터넷에서 실질적으로 사용되는 표준 네트워크 모델이다.


네트워크 프로토콜

TCP vs UDP 프로토콜 비교

TCP (Transmission Control Protocol)

TCP는 신뢰성을 보장하는 연결 지향 프로토콜이다.
데이터가 정확하게 전달되도록 3-way handshake를 사용해 연결을 설정하고, 오류 검출 및 재전송 기능을 제공한다.

TCP 특징
  • 신뢰성 보장: 데이터 손실, 순서 오류 시 재전송
  • 연결 지향: 3-way handshake를 통해 연결 설정 후 데이터 전송
  • 흐름 제어: 수신 측의 처리 속도를 고려해 전송 속도를 조절
  • 혼잡 제어: 네트워크 과부하 방지를 위해 전송 속도 조절
  • 속도가 느림: 신뢰성 보장을 위해 추가적인 오버헤드 발생
TCP 사용 사례
  • 웹 통신 (HTTP, HTTPS): 웹사이트 전송
  • 이메일 (SMTP, IMAP, POP3): 메일 송수신
  • 파일 전송 (FTP): 안정적인 파일 다운로드/업로드

UDP (User Datagram Protocol)

UDP는 빠른 데이터 전송을 위한 비연결형 프로토콜이다.
신뢰성보다 속도를 우선하며, 데이터 손실이 발생해도 재전송하지 않는다.

UDP 특징
  • 빠른 속도: 추가적인 연결 설정 없이 즉시 전송
  • 비연결형: 3-way handshake 없이 데이터 전송
  • 오버헤드 낮음: TCP보다 가벼운 구조
  • 신뢰성 낮음: 데이터 손실, 순서 오류 가능
  • 흐름 제어 없음: 네트워크 상태에 따른 조절 기능 부족
UDP 사용 사례
  • 스트리밍 서비스 (YouTube, Netflix, IPTV): 실시간 영상/음성 데이터 전송
  • 온라인 게임 (VolP, FPS 게임, MOBA 게임): 지연 시간이 중요한 환경
  • DNS (도메인 네임 서비스): 빠른 응답이 필요한 도메인 변환

TCP vs UDP 프로토콜 비교

-TCPUDP
연결 방식연결 지향 (3-way handshake)비연결형 (연결 설정 없음)
데이터 전달 보장신뢰성 보장 (순서 보장, 재전송)신뢰성 없음 (데이터 손실 가능)
흐름 제어OX
혼잡 제어OX
속도느림 (오버헤드 존재)빠름 (오버헤드 적음)
사용 사례웹, 이메일, 파일 전송스트리밍, 게임, VolP, DNS

포트 번호(Port Number)

포트 번호는 하나의 IP 주소 내에서 여러 애플리케이션이 동시에 통신할 수 있도록 하는 식별자이다.
TCP와 UDP는 각각 포트번호를 사용해 데이터를 특정 애플리케이션으로 전달한다.

포트 번호 구조

포트 번호는 0~65535 범위를 갖는다.

  • 0~1023 (Well-Known Port): 널리 알려진 표준 서비스 (HTTP, FTP, SMTP 등)
  • 1024~49151 (Registered Port): 특정 애플리케이션이 등록하여 사용
  • 49152~65535 (Dynamic/Private Port): 임시 포트, 클라이언트가 랜덤하게 할당

주요 포트 번호

포트 번호프로토콜설명
20, 21FTP파일 전송
22SSH원격 접속
25SMTP이메일 전송
53DNS도메인 네임 변환
80HTTP웹사이트 (비보안)
443HTTPS웹사이트 (보안)
123NTP시간 동기화
3389RDP원격 데스크톱
profile
Turning Vision into Reality.

0개의 댓글