Post

03 OSI - 네트워크계층

03 OSI - 네트워크계층

1. 네트워크 계층

1. 네트워크 계층 개요

  • 송신 측에서 수신 측까지 데이터를 중간 경로(라우터)를 거쳐 전달하는 책임
  • 논리 주소(IP 주소) 기반으로 종단 간 통신 경로를 설정
  • 전송 계층에서 넘겨받은 세그먼트를 패킷(IP 패킷) 단위로 캡슐화하여 전달

2. IP 패킷의 구성

  • 네트워크 계층에서 데이터를 전달할 때 사용하는 데이터 단위는 IP 패킷
  • IP 패킷은 크게 IP 헤더 + 데이터로 구성됨

3. IP 헤더 구조 (IPv4 기준 주요 필드)

필드 이름크기 (비트)설명
Version4비트IP 버전 (IPv4는 4)
Header Length4비트헤더 길이 (32비트 단위로 표현됨)
Type of Service (ToS)8비트우선순위, 지연, 신뢰성 등의 서비스 품질 지정
Total Length16비트IP 패킷 전체 길이 (헤더 + 데이터 포함)
Identification16비트패킷 분할 시 조각을 식별하는 ID
Flags3비트분할 관련 제어 비트 (예: 더 분할 여부)
Fragment Offset13비트분할된 조각의 원래 위치를 지정
Time To Live (TTL)8비트패킷이 통과할 수 있는 최대 라우터 수
Protocol8비트다음 상위 계층 프로토콜 (예: TCP=6, UDP=17)
Header Checksum16비트IP 헤더의 오류 검출을 위한 체크섬
Source IP Address32비트출발지 IP 주소
Destination IP Address32비트목적지 IP 주소
Options (선택사항)가변 길이옵션 기능 (거의 사용 안 함)
Padding가변 길이32비트 정렬을 위한 채움값

2. 통신의 주소 체계

1. IP 프로토콜 개념

  • IP(Internet Protocol)는 비연결성과ㅑ 비신뢰성이라는 특징을 가짐
  • IP는 각 네트워크에 연결된 기기에 고유한 식별주소를 제공하는 역할
  • 신뢰성 보장은 하지 않으며, 그 역할은 상위 계층(TCP 등)에서 처리

2. IP주소의 구조

  • IP 주소는 32비트(IPv4) 주소 체계
  • 일반적으로 8비트씩 4부분으로 구분하여 점으로 구분된 10진수 형식으로 표현함 (예: 192.168.10.5)
  • IP 주소는 두 부분으로 구성됨:
    • 네트워크 ID(Network ID): 같은 네트워크에 속한 장치들의 공통 부분
    • 호스트 ID(Host ID): 해당 네트워크 내에서 각 장치를 구분하는 부분

3. 클래스풀

  • 초기 인터넷은 IP 주소를 네트워크 크기에 따라 고정된 클래스로 나누어 사용함.
클래스시작 비트주소 범위네트워크/호스트 비트용도
A00.0.0.0 ~ 127.255.255.2558비트/24비트대규모 네트워크
B10128.0.0.0 ~ 191.255.255.25516비트/16비트중간 규모 네트워크
C110192.0.0.0 ~ 223.255.255.25524비트/8비트소규모 네트워크
D1110224.0.0.0 ~ 239.255.255.255사용 안 함멀티캐스트 용도
E1111240.0.0.0 ~ 255.255.255.255사용 안 함연구 및 실험용

3. 서브넷팅, CIDR

1. 서브넷 마스크

  • IP 주소를 네트워크 ID와 호스트 ID로 나누는 기준
  • 1은 네트워크 부분, 0은 호스트 부분을 나타냄
  • 예: 255.255.255.0 → 11111111.11111111.11111111.00000000 → 상위 24비트는 네트워크, 하위 8비트는 호스트

2. 서브넷팅(Subnetting)의 목적

  • 고정된 클래스 구조를 더 세분화해서 작은 네트워크(서브넷)로 나누는 기술
  • 분할된 작은 네트워크를 서브넷(subnet)
  • 네트워크 ID 일부를 서브넷 비트로 전용해 여러 네트워크로 분할

3. 서브넷 마스크 계산

  • 기본: Class B 주소 172.16.0.0, 기본 서브넷 마스크: 255.255.0.0 (16비트 네트워크)
  • 서브넷팅: 마스크를 255.255.255.0으로 바꾸면 → 상위 24비트가 네트워크 → 1개 네트워크를 256개 서브넷으로 분리

4. CIDR

  • 클래스풀 방식과 서브넷팅만으로는 IP 주소 고갈 문제 해결 불가
  • 다양한 크기의 네트워크를 유연하게 할당할 필요 발생
  • “슬래시 표기법”으로 서브넷 마스크 길이를 직접 지정

    표현 방식의미
    192.168.1.0/24256개 IP 사용 가능 (마스크 255.255.255.0)
    10.0.0.0/81670만 개 IP 사용 가능 (마스크 255.0.0.0)
    192.168.1.0/2664개 IP 사용 가능 (마스크 255.255.255.192)

4. 라우팅과 라우팅 프로토콜

1. 라우터, 라우팅, 라우팅테이블

  • 라우터
    • 서로 다른 네트워크를 연결해주는 네트워크 장비
    • 네트워크 간에 데이터 패킷을 전달하는 역할
    • 라우터는 IP 주소를 보고 데이터가 어디로 가야 할지 판단
  • 라우팅
    • 데이터가 출발지에서 목적지까지 가장 효율적인 경로로 전달되는 과정
    • 라우팅은 라우터가 최적 경로를 찾고 데이터를 전달하는 모든 동작을 포함
    • 라우팅 프로토콜(예: RIP, OSPF, BGP)들이 이 과정에서 경로 정보를 서로 주고받고 관리함
  • 라우팅 테이블
    • 라우터가 가지고 있는 경로 정보의 목록
    • 목적지 IP 주소별로 어느 방향(다음 홉 IP나 인터페이스)으로 데이터를 보내야 하는지 기록함
    • 라우팅 프로토콜을 통해 계속 업데이트되고, 이를 토대로 라우터는 최적 경로를 결정함

2. RIP

  • RIP 개요
    • RIP는 소규모 네트워크에서 사용하는 거리 벡터 방식의 라우팅 프로토콜
    • 구현이 간단하고 설정이 쉬워 소규모 네트워크에 적합
    • 정기적으로(기본 30초 간격) 라우팅 정보를 이웃 라우터에 전송
    • 경로 루프 방지를 위해 스플릿 호라이즌, 홀드다운, 포이즌 리버전 등의 기법을 사용
  • 동작 원리
    • 각 라우터는 목적지까지 가는 홉 수(중간 라우터 수)를 경로 비용으로 사용함
    • 홉 수가 적은 경로를 우선 선택하며, 최대 홉 수는 15로 제한함
    • 홉 수가 16 이상이면 해당 경로는 도달 불가능한 것으로 간주함
  • 정보 교환 방식
    • 라우터들은 30초마다 자신의 라우팅 테이블을 인접 라우터에 브로드캐스트(전송)함.
    • 이를 통해 네트워크 상태 변화를 감지하고 라우팅 테이블을 갱신함.

3. BGP

  • BGP 개요
    • 인터넷에서 서로 다른 자율 시스템(AS) 간에 경로 정보를 교환하여, 알고리즘에 따라 최적의 경로를 선택하는 라우팅 프로토콜
    • 정책 기반 라우팅을 지원해, 단순 거리나 홉 수 외에도 경로 우선순위, 보안, 비용 등을 반영
    • 매우 안정적이고 확장성이 높아 인터넷 백본에서 필수적으로 사용
    • 네트워크 관리자가 원하는 대로 경로 선택을 조정할 수 있음
  • 동작 원리
    • 경로 벡터 방식으로, 각 경로에 대해 거치는 AS 리스트(AS 경로)를 포함해 경로 정보를 전달
    • 라우터들은 이 정보를 바탕으로 정해놓은 정책과 규칙에 따라 최적 경로를 선택
  • 메시지 종류

    메시지 종류역할
    OPEN세션 시작 및 파라미터 교환
    UPDATE경로 정보 광고 및 철회
    NOTIFICATION오류 알림 및 세션 종료 요청
    KEEPALIVE세션 유지를 위한 상태 확인 메시지

4. OSPF

  • OSPF 개요
    • 링크 상태 라우팅 프로토콜로, 네트워크 내 라우터들이 서로 링크 상태 정보를 교환하여 최단 경로를 계산
    • 빠른 경로 수렴과 높은 정확도를 제공
    • 대규모 및 복잡한 네트워크에 적합하며, 계층적 네트워크 설계(영역, Area)를 지원
    • 라우팅 정보는 변경 시에만 갱신되어 효율적
  • 라우터 종류

    라우터 유형조건 및 위치주요 역할
    ASBR (경계 라우터)OSPF 내부 네트워크와 외부 라우팅 도메인 연결 (ex: BGP, RIP 등)외부 경로를 OSPF 내부로 광고 (외부와 내부 연결)
    ABR (영역 경계 라우터)두 개 이상의 OSPF 영역에 동시에 연결 (예: Area 0 + Area 1)영역 간 라우팅 정보 요약 및 전달
    Backbone Router (백본 라우터)Area 0 (백본 영역)에 속해 있는 라우터백본 영역 내 라우팅 정보 처리 및 중계
    Internal Router (내부 라우터)단일 영역(예: Area 1)에만 속한 라우터해당 영역 내의 라우팅만 수행 (일반 라우터)
  • 동작 원리
    • 각 라우터는 자신과 직접 연결된 링크 정보를 LSA(Link State Advertisement) 형태로 생성하여 같은 영역 내의 모든 라우터에게 전파
    • 모든 라우터는 수신한 LSA를 바탕으로 네트워크 전체 토폴로지를 구성하고, 다익스트라 알고리즘(SPF: Shortest Path First)을 이용해 최단 경로를 계산
  • 메시지종류

    메시지 이름한글 이름설명
    Hello헬로인접 라우터를 발견하고 인접 관계를 형성함. 인접성 유지를 위한 주기적 통신에 사용됨.
    Database Description (DBD)데이터베이스 설명서로 가진 LSA의 요약 정보를 교환하여, 어떤 정보가 누락됐는지 확인함.
    Link State Request (LSR)링크 상태 요청필요한 LSA 정보를 요청함. 상대가 가진 LSDB에서 부족한 정보를 받아오기 위해 사용.
    Link State Update (LSU)링크 상태 갱신LSA 정보를 전달함. 요청에 대한 응답이거나, 네트워크 변경 시 새로운 정보를 알림.
    Link State Acknowledgment (LSAck)링크 상태 확인 응답받은 LSA에 대해 정상 수신을 알림. LSU에 대한 응답 메시지로 사용됨.

5. BGF vs OSPF

구분BGPOSPF
사용 범위인터넷 같은 여러 자율 시스템(AS) 간 경로 교환 (광역, 대규모)기업 내부 네트워크 같은 하나의 자율 시스템 내부 (LAN, 중대형)
경로 선택 방식경로 벡터 방식: AS 경로, 정책, 비용, 우선순위 등 다양한 조건 기반링크 상태 방식: 네트워크 전체 상태 정보 바탕으로 최단 경로 계산 (다익스트라 알고리즘)
알고리즘정책 기반 경로 선택 알고리즘 (복잡한 경로 우선순위)다익스트라 알고리즘 (최단 경로 우선)
정보 교환 방식이웃과 경로 정보 교환 (AS 단위 경로)모든 라우터가 네트워크 전체 토폴로지 정보 공유
특징경로 안정성과 정책 반영이 중요, 느리지만 신뢰성 높음빠른 수렴과 정확한 최단 경로 계산, 내부 네트워크 최적화에 적합

5. NAT와 ARP

1. NAT(Network Address Translation)

  • NAT 개요
    • 사설 IP 주소(내부 네트워크에서 사용하는 IP)를 공인 IP 주소(인터넷에서 인식 가능한 IP)로 변환해 줌.
    • 사설 IP는 인터넷에서 직접 접근할 수 없어서, 인터넷과 통신하려면 공인 IP가 필요함.
    • NAT는 하나 또는 여러 개의 공인 IP를 여러 사설 IP와 매핑하여 인터넷 접속을 가능하게 함.
  • 종류
    • Static NAT: 1:1 매핑
    • Dynamic NAT: 여러 사설 IP를 공인 IP 풀에서 동적으로 할당
    • PAT (Port Address Translation, 흔히 NAT 오버로딩): 하나의 공인 IP로 여러 사설 IP를 포트 번호로 구분해 동시에 사용

2. ARP(Address Resolution Protocol)

  • ARP 개요
    • IP 주소를 MAC 주소로 변환해주는 프로토콜
    • IP는 논리적 주소지만, 실제 데이터 전송은 MAC(물리적) 주소로 이루어짐
    • 같은 로컬 네트워크 내에서 IP 주소만 알 때, 해당 IP를 가진 장치의 MAC 주소를 찾아야 통신 가능
  • 동작 원리
    • ARP 요청: “이 IP 가진 사람 있나요?” (브로드캐스트)
    • ARP 응답: “내 MAC 주소는 이거예요” (유니캐스트)
  • 흐름
    • 데이터 없이, 즉 실제 통신 데이터가 아니라 주소 확인용 메시지(ARP 요청/응답)를 주고받으면서
    • 상대방 MAC 주소를 알아내고, 이후에 IP 패킷을 MAC 주소를 이용해 캡슐화해서 전송 가능하게 만들어 줌.

6. ICMP

1. ICMP 개요

  • 네트워크 내에서 장비들이 서로 상태와 오류 정보를 주고받는 통신 프로토콜
  • IP 패킷 내에 포함되어 전송됨
  • 직접 데이터를 전달하는 목적이 아니라, 네트워크 문제를 알리거나 진단할 때 사용

2. ICMP 메시지 타입

타입 번호의미설명
0Echo Reply (응답)ping에 대한 응답 메시지
3Destination Unreachable (목적지 도달 불가)목적지에 도달할 수 없음을 알림
4Source Quench (송신 제한 요청)송신자가 너무 빨리 패킷을 보내서 수신자가 버퍼 오버플로우 우려 시 전송 속도를 늦추도록 요청
5Redirect (경로 변경 알림)더 나은 경로가 있을 때 송신자에게 알려 경로를 변경하도록 유도
8Echo Request (요청)ping 테스트용 요청 메시지
11Time Exceeded (시간 초과)TTL이 0이 되어 패킷 폐기됨을 알림
This post is licensed under CC BY 4.0 by the author.