기본 개념 정리

네트워크 구성 요소

노드(Node)

  • 네트워크에 연결된 모든 장치를 의미
  • e.g. 라우터, 스위치, 브리지, 호스트
  • 주소를 가질 수도 있고, 아닐 수도 있음

지국(Station)

  • 데이터 링크 계층(LAN)에서 데이터를 송수신할 수 있는 장치
  • 보통 이더넷 환경에서 사용
  • e.g. NIC(Network Interface Card)를 가진 장치

세그먼트(Segment)

  • 브리지나 스위치로 나눠지는 하나의 물리적인 네트워크
  • 하나의 허브에 연결된 모든 기기들은 같은 세그먼트에 속함

호스트(Host)

  • IP 주소를 가진 노드로 응용 프로그램을 구동할 수 있는 장치
  • e.g. 사용자 PC, 웹 서버, IoT 기기

엔드 시스템(End System)

  • 통신의 시작 또는 끝에 있는 호스트를 의미
  • e.g. 사용자 노트북 ↔ 웹 서버

도메인(Domain)

도메인

  • 어떤 기능/영향 범위가 적용되는 네트워크 영역 범위

브로드캐스트 도메인

  • 브로드캐스트 메시지가 전달되는 범위 (보통 스위치 단위)

Collision 도메인

  • 충돌이 발생할 수 있는 네트워크 영역 (보통 허브 단위)

라우팅 도메인

  • 같은 라우팅 프로토콜을 공유하는 범위 (AS와 동일한 의미로 사용)

링크(Link)

  • 실제 물리적 또는 논리적 연결을 의미

인터넷 계층 구조

인터넷은 계층적 구조로 구성되어 있다.

ISP 계층 구조

ISP 계층 구조

1. Backbone ISP

  • 국가 간, 대륙 간 연결하는 글로벌 규모의 트래픽을 담당하는 최상위 계층 ISP

2. Regional ISP

  • 여러 개의 Local ISP를 묶어 데이터 트래픽을 Backbone ISP로 전달하는 역할을 한다

3. Local ISP

  • 우리가 일반적으로 가입하는 인터넷 서비스 회사로, 종단 사용자들에게 직접 서비스를 제공하며 사용자와 직접 연결된 계층

NAP(Network Access Point)

  • 서로 다른 Backbone ISP 간의 연결 지점으로 백본 간의 peering 또는 트래픽 중계가 일어나는 곳

계층 구조의 의미

인터넷은 계층적 구조로 구성되어 있으며, 최하위 계층인 Local ISP는 개인 사용자에게 인터넷을 제공하고, 이들 Local ISP는 Regional ISP를 통해 연결된다. Regional ISP는 여러 Local ISP를 묶어 트래픽을 상위 계층인 Backbone ISP로 전달하며, 백본 간 트래픽 교환은 NAP에서 이루어진다.

캡슐화(Encapsulation)

image

캡슐화란?

캡슐화: 상위 계층의 데이터를 하위 계층으로 전달하면서 헤더를 추가하는 과정

  • 하위 계층은 상위 계층에서 받은 전체 패킷(데이터 + 헤더) 그 앞에 자신의 헤더를 붙임

캡슐화 과정

Application Layer:    [    Data    ]
Transport Layer:      [ TCP Header | Data ]
Network Layer:        [ IP Header | TCP Header | Data ]
Data Link Layer:      [ Frame Header | IP Header | TCP Header | Data | Frame Trailer ]
Physical Layer:       01101010110101... (bits)

동작 원리:

  1. N 계층에서 받은 데이터는 N-1 계층에서 하나의 데이터 단위로 취급됨
  2. N-1 계층은 이를 캡슐화하여 새로운 헤더를 붙임
  3. 최종적으로 물리 계층에서는 모든 계층의 헤더가 누적된 데이터를 비트로 변환하여 전송
  4. 수신 측에서는 이를 다시 상위 계층으로 전달하면서 각 계층의 헤더를 제거

OSI 7계층 vs TCP/IP 모델

image

OSI 7계층의 각 계층 기능

7. 응용 계층 (Application Layer)

  • 사용자가 네트워크에 접근할 수 있도록 도와주는 계층
  • 서비스: 이메일, 파일 전송, 웹 브라우징 등

6. 표현 계층 (Presentation Layer)

  • 데이터의 형식을 변환하고 압축하거나 암호화하여 서로 다른 시스템 간의 데이터 표현 차이를 해결

5. 세션 계층 (Session Layer)

  • 통신 세션을 설정하고 유지하며 동기화하여 양쪽 시스템 간 대화가 원활히 유지되도록 함

4. 전송 계층 (Transport Layer)

  • 송신 측의 프로세스에서 수신 측의 프로세스로 신뢰성 있는 전달을 보장하고, 오류 제어 및 흐름 제어를 수행

3. 네트워크 계층 (Network Layer)이번 포스팅의 주제

  • 데이터그램의 목적지까지의 경로를 선택하고, 논리적 주소(IP 주소)를 기반으로 라우팅을 수행

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

  • 프레임 단위로 데이터를 송수신하고, 오류 제어 및 흐름 제어, 프레임 구분, 주소 지정(MAC 주소) 등을 수행

1. 물리 계층 (Physical Layer)

  • 0과 1의 비트를 전기적 또는 광학적 신호로 변환하여 전송하며, 전송 매체의 물리적 특성, 전송 속도, 동기화 등을 규정

TCP/IP 모델과의 비교

OSI 7계층 TCP/IP 모델 PDU 주요 기능
응용 계층 응용 계층 메시지 사용자 인터페이스
표현 계층 ↑ (통합) - 데이터 형식 변환
세션 계층 ↑ (통합) - 세션 관리
전송 계층 전송 계층 세그먼트 프로세스 간 통신
네트워크 계층 인터넷 계층 데이터그램 라우팅
데이터링크 계층 네트워크 접근 계층 프레임 LAN 내 전송
물리 계층 ↑ (통합) 비트 물리적 전송

특징:

  • TCP/IP 프로토콜은 5계층 구조로, OSI 7계층 모델의 일부 계층이 통합되어 있음
  • 특히 세션 계층과 표현 계층은 TCP/IP에서 별도로 구분되지 않으며, 응용 계층에 통합되어 있음

TCP/IP 주소 지정

네트워크에서 정확한 통신을 위해서는 3가지 주소 체계가 필요하다.

1. 물리 주소 (Physical Address)

사용 계층: 데이터링크 계층

형태: MAC 주소 (48비트, 6바이트, 16진수 표기)

  • 예시: AA:BB:CC:DD:EE:FF

특징:

  • 장치에 고정된 하드웨어 주소임
  • LAN을 벗어나면 MAC 주소는 변경됨 (라우터를 지나면서 매 홉마다 변경됨)

2. 논리 주소 (Logical Address)

사용 계층: 네트워크 계층

형태: IP 주소

  • IPv4: 32비트 (예: 192.168.1.1)
  • IPv6: 128비트 (예: 2001:0db8:85a3::8a2e:0370:7334)

역할: 전 세계 네트워크 상의 고유한 식별자로, 장치의 위치를 식별함

특징:

  • 네트워크를 넘어도 변하지 않음
  • 라우터는 IP 주소를 기반으로 데이터그램을 최종 목적지까지 전달함
  • ARP 프로토콜을 통해 논리 주소 → 물리 주소로 변환하여 LAN에서 전달 가능하게 함

3. 포트 주소 (Port Address)

사용 계층: 전송 계층

형태: 16비트 숫자 (0~65535)

  • 예시: HTTP(80), HTTPS(443), SSH(22), FTP(21)

역할: 하나의 장치 안에서 어떤 프로세스와 통신할지를 지정함

특징:

  • 한 장치 내에서 여러 응용 프로그램을 구분하기 위해 필요함
  • TCP/UDP에서 사용됨

LAN (유선 근거리 통신망)

LAN의 정의와 특징

LAN(Local Area Network):

  • 학교, 아파트 등 제한된 지역에서 장치들이 데이터를 교환하는 통신망을 의미
  • 이더넷(Ethernet), 토큰 링, ATM 등의 기술이 있는데 오늘날엔 이더넷이 가장 널리 사용됨
  • LAN은 WAN(광역통신망)이나 인터넷과 연결되어 통신을 확장함

IEEE 802 표준

IEEE 802: LAN 통신을 위한 표준을 정함

계층 분할:

  • 데이터링크 계층을 LLC와 MAC 두 부분으로 나눔
  • LLC(Logical Link Control): 논리 링크 제어
  • MAC(Medium Access Control): 매체 접근 제어

이더넷 프레임 구조

Ethernet 프레임 구조

각 필드 설명:
Preamble (7바이트)

  • 수신 동기화를 위해 01 반복

SFD (1바이트)

  • Start Frame Delimiter, 프레임 시작 표시 (10101011)

DA (6바이트)

  • 목적지 MAC 주소

SA (6바이트)

  • 출발지 MAC 주소

Length/Type (2바이트)

  • 상위 계층 데이터 길이 또는 프로토콜 유형

Data (46~1500바이트)

  • 상위 계층에서 전송된 데이터 (최소 46~최대 1500바이트)

CRC (4바이트)

  • 오류 검출용 필드, CRC-32 사용

프레임 길이의 제한

최소 프레임 길이 (64바이트):

  • CSMA/CD 기반 충돌 감지를 위해 설정된 것
  • 프레임이 너무 짧으면 충돌을 감지하지 못하기 때문

최대 프레임 길이 (1518바이트):

  • 메모리 및 버퍼의 제한
  • 네트워크 장치 간의 처리 효율성
  • 충돌 도메인 내 전파 지연 등을 고려해 제한

이더넷 주소 형식 (MAC 주소)

형태: 48비트 주소를 16진수로 표기

  • 예시: AA:BB:CC:DD:EE:FF

주소 유형 구분:
유니캐스트 주소

  • 첫 바이트의 최하위 비트가 0
  • 예시: AA:BB:CC:DD:EE:FF (A의 2진값: 1010, 최하위 비트 0)

멀티캐스트 주소

  • 첫 바이트의 최하위 비트가 1
  • 예시: AB:BB:CC:DD:EE:FF (B의 2진값: 1011, 최하위 비트 1)

브로드캐스트 주소

  • 모든 비트가 1: FF:FF:FF:FF:FF:FF

CSMA/CD

CSMA/CD이란?

CSMA/CD은 Carrier Sense Multiple Access with Collision Detection의 약자로, 공유 매체(e.g. 이더넷)에서 여러 장치가 동시에 데이터를 전송할 수 있도록 해주는 방식이다.

배경:

  • 허브(hub) 기반의 네트워크에서는 하나의 선로를 모든 지국(station)이 공유하기 때문에 동시에 데이터를 전송하려고 하면 충돌(collision) 발생 가능성이 존재함

구성 요소:
CS (Carrier Sense, 매체 감지)

  • 전송 전에 채널이 비었는지 확인

MA (Multiple Access, 다중 접속)

  • 여러 지국이 동일한 매체를 공유하는 것

CD (Collision Detection, 충돌 감지)

  • 전송 중 충돌이 감지되면 즉시 중단하며 재전송을 시도하는 것

CSMA/CD 동작 과정

CSMA/CD 동작 과정 *CSMA/CA 흐름 다이어그램*

최소 프레임 길이와의 관계

충돌 감지는 프레임 전송 중에만 가능하기 때문에 전파 지연 시간(propagation delay)보다 프레임 전송 시간이 더 길어야 충돌을 감지할 수 있음

→ 최소 프레임 길이 = 64바이트로 고정됨

현재 사용하지 않는 이유

오늘날에는 허브 기반에서 스위치 기반 Full-Duplex 환경이기 때문에 충돌 자체가 발생하지 않아 사용하지 않는다.

Full-Duplex의 장점:

  • 송신과 수신이 동시에 가능
  • 충돌이 발생하지 않음
  • 각 포트가 독립적인 충돌 도메인을 형성

IEEE 802.11 (Wi-Fi, 무선 LAN)

무선 LAN 구조

BSS (Basic Service Set)

  • 무선 LAN의 기본 단위
  • Ad hoc 모드: AP가 없는 네트워크 (기기 간 직접 통신)
  • Infrastructure 모드: AP가 있는 네트워크

ESS (Extended Service Set)

  • 2개 이상의 BSS를 AP와 유선 LAN으로 연결한 확장 네트워크
  • 유동적인 이동을 가능하게 해주는 roaming 기능을 제공함

Hidden Station Problem

문제 상황:

  • B와 C는 A와 각각 통신 가능하지만, B와 C는 서로를 인식하지 못함
  • 동시에 A에게 전송 시 충돌(collision) 발생
image

해결 방법: CSMA/CA (Collision Avoidance)

RTS/CTS 메커니즘:

  1. B → A: RTS(Request To Send) 프레임 전송
  2. A → B, C: CTS(Clear To Send) 프레임 전송, 다른 지국들에게 통신을 알림
  3. A가 CTS를 보내면: 모든 노드가 B의 전송을 기다려야 함 → 충돌 방지
CSMA/CA

브리지(Bridge, L2 Switch)와 라우터(Router)

브리지 (Bridge, L2 Switch)

bridge

동작 계층: 물리 계층 + 데이터링크 계층

주요 기능:

  • LAN 세그먼트를 연결 (무조건 같은 네트워크 내의 세그먼트 간의 연결임)
  • MAC 주소 기반 필터링(MAC 테이블 확인하는 작업) 및 포워딩 수행
  • 새로운 지국 발견 시 학습 후 테이블을 갱신함
  • 프레임의 MAC 주소는 변경하지 않음

도메인 분할:

  • 충돌 도메인 분할 가능 → 포트마다 충돌 도메인을 따로 만들어서 충돌없이 1:1 전송을 가능하게 함
  • 브로드캐스트 도메인 분할 불가능 → 모든 포트에 전파됨

라우터 (Router)

동작 계층: 물리 계층 + 데이터링크 계층 + 네트워크 계층

주요 기능:

  • LAN과 LAN, LAN과 WAN을 연결
  • 브리지보다 더 높은 계층에서 동작하므로 더 넓은 네트워크 연결 가능
  • IP 주소 기반으로 패킷의 목적지를 판단함
  • 라우팅 테이블을 기반으로 최적의 경로 선택
  • 프레임의 MAC 주소를 변경함

도메인 분할:

  • 충돌 도메인 분할 가능 → 포트마다 충돌 도메인을 따로 만들어서 충돌없이 전송을 가능하게 함
  • 브로드캐스트 도메인 분할 가능 → 라우터가 브로드캐스트를 차단하여 도메인이 분할됨

비교표

특징 브리지 (Bridge) 라우터 (Router)
동작 계층 L1, L2 L1, L2, L3
주소 기반 MAC 주소 IP 주소
연결 범위 같은 네트워크 세그먼트 다른 네트워크 간
주소 변경 MAC 주소 변경하지 않음 MAC 주소 변경함
충돌 도메인 분할 O O
브로드캐스트 도메인 분할 X O
라우팅 기능 X O

연결 지향 vs 비연결형 서비스

연결 지향 서비스 (Connection-Oriented Service)

특징:

  • 데이터 전송 전에 송신자와 수신자 간에 논리적 연결(가상 회선)을 설정
  • 연결 설정 → 데이터 전송 → 연결 해제의 3단계 과정
  • 신뢰성 있는 데이터 전송 보장
  • 순서 보장, 오류 제어, 흐름 제어 제공

장점:

  • 데이터 전송의 신뢰성 보장
  • 순서가 보장됨
  • 오류 복구 기능

단점:

  • 연결 설정/해제로 인한 오버헤드
  • 자원 사용량 증가

예시: TCP, 전화 통화

비연결형 서비스 (Connectionless Service)

특징:

  • 연결 설정 없이 데이터를 바로 전송
  • 각 패킷이 독립적으로 처리됨
  • 빠른 전송 가능
  • 신뢰성 보장하지 않음

장점:

  • 빠른 전송 속도
  • 적은 오버헤드
  • 단순한 구조

단점:

  • 신뢰성 보장하지 않음
  • 순서 보장하지 않음
  • 오류 제어 없음

예시: UDP, IP, 우편 서비스

네트워크 계층에서의 서비스

IP 프로토콜:

  • 기본적으로 비연결형 서비스를 제공
  • 각 패킷(데이터그램)은 독립적으로 라우팅됨
  • 신뢰성은 상위 계층(전송 계층)에서 보장

네트워크 계층의 역할

1. 라우팅 (Routing)

정의: 패킷이 목적지까지 가는 최적의 경로를 결정하는 과정

라우팅 테이블:

  • 목적지 네트워크와 해당 경로 정보를 저장
  • 라우팅 프로토콜을 통해 동적으로 업데이트

2. 포워딩 (Forwarding)

정의: 라우팅 테이블을 바탕으로 패킷을 다음 홉으로 전송하는 과정

3. 주소 지정 (Addressing)

논리적 주소(IP 주소):

  • 전 세계적으로 유일한 주소 체계
  • 네트워크 부분과 호스트 부분으로 구성

4. 패킷 생성 및 처리

데이터그램:

  • 네트워크 계층의 PDU
  • IP 헤더 + 상위 계층 데이터로 구성