✦ LAN 넘어서는 네트워크 계층

◆ 데이터 링크 계층 한계

  1. 다른 네트워크까지의 도달 경로 파악
    • 라우팅 (Routing) : 패킷 이동할 최적 경로 결정
    • 물리 & 데이터 링크 계층 장비로 불가능
    • 네트워크 계층 장비 가능 by 라우터 (Router)
  2. MAC 주소만으로 all 네트워크 호스트 위치 특정 불가
    • MAC 주소 : 수신인 역할
    • IP 주소 : 수신지 역할
    • MAC 주소 + IP 주소 both 활용, IP 주소 우선으로 활용
    • 논리 주소. 호스트에 직접 할당 가능
    • DHCP (Dynamic Host Configuration Protocol) 통해 자동 할당 or 사용자 직접 할당 가능
    • 1 호스트 多 IP 주소 가능

◆ 인터넷 프로토콜 (IP : Internet Protocol)

  • 네트워크 계층 핵심 프로토콜
  • IP 주소 형태 : 8 비트 (1 바이트) X 4, 0 ~ 255 사이 4개 10진수로 표기. . 으로 구분.
    • 옥텟 (Octet) : 점으로 구분된 8비트 ex) 192.168.1.1 (in IPv4)
  • IP 기능
    • IP 주소 지정 (IP Addressing) : IP 주소 바탕 송수신 대상 지정
    • IP 단편화 (IP Fragmentation) : 전송 패킷 크기 > MTU면, MTU 크기 이하의 복수 패킷으로 나누기
      • MTU (Maximum Transmission Unit) : 한 번에 전송 가능한 IP 패킷 최대 크기 (1500 바이트)
      • 나누어진 패킷은 수신지 도착 시 재조합
    • ◆ IPv4
    • 프레임 페이로드, 데이터 필드에 명시
    • 형식

      1. 식별자 (Identifer) : 패킷 할당 번호
        • if 쪼개져서 전송, 재조합해야함
        • 어떤 메시지부터 쪼개졌는가?
      2. 플래그 (Flag) : 3개의 비트
      3. 항상 0으로 예약, 사용 X
      4. DF (Don’t Fragment) : IP 단편화 수행 표시 (1 수행 X, 0 수행 가능)
      5. MF (More Fragment) : 단편화 패킷 더 존재? (0 마지막 패킷, 1 아직 더 있음)
      6. 단편화 오프셋 (Fragment Offset) : 패킷 단편화 전, 패킷 초기 데이터에서 몇 번째 떨어진 패킷인지
        • 전송 패킷이 순서대로 도착 안하면 재조합 위함
      7. TTL (Time To Live) : 패킷의 수명
        • 홉 (Hop) : 패킷이 호스트 or 라우터에 한 번 전달
        • 홉 마다 TTL - 1
        • 무의미 패킷이 네트워크상 지속 존재 방지
      8. 프로토콜 : 상위 계층 프로토콜 무엇?
        • TCP - 6번 / UDP - 17번
      9. 송신지 IP 주소 (Source IP Address)
      10. 수신지 IP 주소 (Destination IP Address)
    • 단편화 & 재조합, 상위 계층 프로토콜, 남은 수명 파악, IP 주소 지정 가능
    • ◆ IPv6
    • 이론상 IPv4 주소 총 43억개, but 고갈 가능 → 대안으로 IPv6 등장
    • 16 바이트 (128비트) 로 주소 표현. : 으로 구분된 8개 그룹 16진수
    • 이론적으로 2^{128} 개 ex) 2001:0230:abcd:ffff:0000:0000:ffff:1111

1. 다음 헤더 (Next Header) : 상위 계층 프로토콜 or 확장 헤더
  - 기본 헤더 : 그림에 표현된 IPv6 헤더
  - 확장 헤더 : 추가적 헤더 정보 필요 경우 (多 가능)
    - 홉 간 옵션 (Hop-by-Hop Options) : 송-수신지 all 경로 네트워크 장비 패킷 검사
    - 수신지 옵션 (Destination Options) : 수신지에서만 패킷 검사
    - 라우팅 (Routing) : 라우팅 관련 정보 운반
    - 단편 (Fragemnt) : 단편화 위함
    - ESP (Encapsulating Security Payload) : 암호화
    - AH (Authentication Header) : 인증
1. 홉 제한 (Hop Limit) : 패킷 수명 표현 필드
1. 송신지 IP 주소 (Source IP Address)
1. 수신지 IP 주소 (Destination IP Address)   - 기본 헤더 40바이트 고정   - IPv6 단변화 → by 단편화 확장 헤더
- 다음 헤더 → 다른 확장 헤더 / 상위 프로토콜
- 단편화 오프셋 (Fragment Offest)
- M 플래그
- 식별자 (Identification) 필드

◆ ARP (Address Resolution Protocol)

  • IP 주소 통해 MAC 주소 알아내는 프로토콜
  • 동일 네트워크 내 송수신 대상 IP 주소로 MAC 주소 알아냄
  • ARP 동작 과정
    • ◆ 1. ARP 요청 (ARP Request)
    • 네트워크 내 자신 제외 all 호스트에 브로드캐스트 메시지 전송
    • ◆ 2. ARP 응답 (ARP Reply)
    • 찾으려는 주소 지닌 호스트 자신의 MAC 주소 담은 유니캐스트 메시지 전송
    • ◆ 3. ARP 테이블 갱신
    • ARP Table : ARP 활용 all 호스트 보유. IP 주소 - MAC 주소 테이블 대응 표
    • ARP Table 에 정보 추가.

    • 일정 시간 지나면 or 임의로 삭제
  • ARP 패킷

    • 오퍼레이션 코드 (Opcade : Operation Code) : ARP 패킷 유형 나타냄
      • 1 : ARP 요청
      • 2 : ARP 응답
    • 송신지 하드웨어 주소 (Sender Hardware Address) : 송신지 MAC 주소
    • 송신지 프로토콜 주소 (Sender Protocol Address) : 송신지 IP 주소
    • 수신지 하드웨어 주소 (Target Hardware Address) : 수신지 MAC 주소
    • 수신지 프로토콜 주소 (Target Protocol Address) : 수신지 IP 주소

✦ IP 주소

◆ 네트워크 주소 & 호스트 주소

  • 1 IP 주소 → 네트워크 주소 + 호스트 주소
  • 네트워크 주소 = 네트워크 ID, 네트워크 식별자 (Network Identifier)

  • 호스트 주소 = 호스트 ID, 호스트 식별자 (Host Identifier)

◆ 클래스풀 주소 체계 (Classful Addressing)

  • 클래스 기반으로 IP 주소 관리 체계
    • 클래스 (Class) : 네트워크 크기 따라 IP 주소 분류 기준
  • 필요 호스트 IP 개수 따라 네트워크 크기 가변적으로 조정해 주소 구획 가능

  • A 클래스
    • 네트워크 8비트 + 호스트 8비트 × 3
    • 처음 시작 0 ~ 127 → A클래스
  • B 클래스
    • 네트워크 8비트 × 2 + 호스트 8비트 × 2
    • 처음 시작 128 ~ 191 → B 클래스
  • C 클래스
    • 네트워크 8비트 × 3 + 호스트 8비트
    • 처음 시작 192 ~ 223 → C 클래스
  • D 클래스 : 멀티캐스트
  • E 클래스 : 예약 클래스
  • 호스트 주소 전부 0 : 해당 네트워크 자체
  • 호스트 주소 전부 0 : 브로드캐스트 위한 주소
클래스 초기 비트 네트워크 / 호스트 비트
A 0 8 / 24
B 10 16 / 16
C 110 24 / 8

◆ 클래스리스 주소 체계 (Classless Addressing)

  • 클래스풀 주소 체계보다 유동 & 정교하게 네트워크 구획
  • 클래스풀 주소 체계 : 네트워크 크기 고정 → IP 주소 낭비 가능성
    • ◆ 서브넷 마스크 (Subnet Mask)
    • IP 주소상 네트워크 주소 → 1, 호스트 주소 → 0 표기 비트열
    • 서브네팅 (Subnetting) : 서브넷 마스크로 클래스 잘게 쪼개 사용 ex) A, B, C 클래스 기본 서브넷 마스크

      • A : 255.0.0.0 (11111111.00000000.00000000.00000000)
      • B : 255.255.0.0 (11111111.11111111.00000000.00000000)
      • C : 255.255.255.0 (11111111.11111111.11111111.00000000)
    • ◆ 서브네팅 : 비트 AND 연산
    • IP 주소 & 서브넷 마스크 ex)

      • IP 주소 11000000.10101000.11011011.01100111
      • 서브넷 마스크 11111111.11111111.11111111.00000000
      • 네트워크 주소 11000000.10101000.11011011.00000000 (192.168.219.0)
    • ◆ 서브넷 마스크 표기 : CIDR 표기법
    • CIDR (Classless Inter-Domain Routing notation) : IP 주소 / 서브넷 마스크 상 1의 개수로 표기 ex)

      • IP 주소 192.168.219.103
      • 서브넷 마스크 255.255.255.0 (11111111.11111111.11111111.00000000)
      • 네트워크 주소 192.168.219.103/24 (서브넷 마스크에 1이 24개)

◆ 공인 IP 주소 & 사설 IP 주소

  • IP 주소 종류
    • ◆ 공인 IP 주소 (Public IP Address)
    • 전 세계 고유 IP 주소
    • 인터넷 이용시 사용하는 IP 주소
    • ISP, 공인 IP 주소 할당 기관 통해 할당 가능
    • ◆ 사설 IP 주소 (Private IP Address)
    • 사설 네트워크 사용 위한 IP 주소
    • 인터넷, 외부 네트워크 공개 X 네트워크
    • LAN 내 다수 호스트 → 사설 IP 주소 사용
      • 사설 IP 주소 예약 주소 공간
        • 10.0.0.0/8
        • 172.16.0.0/12
        • 192.168.0.0/16
    • 라우터 의해 할당
    • 다른 네트워크 사설 IP와 중복 가능
    • NAT (Network Address Translation) : 사설 IP 주소 ↔ 공인 IP 주소 변환
      • 사설 IP 주소 사용 多 호스트, 少 공인 IP 주소 공유 가능
        1. 패킷 사설 IP 주소 → 공유기 → 공인 IP 변경, 외부 네트워크 전송
        2. 외부 네트워크 패킷 공인 IP 주소 → 공유기 → 사설 IP 주소 변경, 사설 네트워크 호스트
    • 사설 IP 주소

    • 공인 IP 주소

◆ 정적 IP 주소 & 동적 IP 주소

  • 호스트에 IP 주소 할당 방법
    • ◆ 정적 할당
    • 호스트에 직접 수작업으로 IP 주소 부여 → 정적 IP 주소 (Static IP Address)

    • 부여하고자 하는 IP 주소, 서브넷 마스크, 게이트웨이 (라우터) 주소, DNS 주소 입력
    • ◆ 동적 할당 & DHCP
    • 동적 할당 : 호스트에 IP 주소 동적으로 할당 → 동적 IP 주소 (Dynamic IP Address)

      • 사용 X 회수, 할당 마다 다른 주소 가능
    • DHCP (Dynamic Host Configuration Protocol) : IP 동적 할당에 사용되는 프로토콜
      • IP 주소 할당 원하는 호스트 (클라이언트) ↔ 호스트에게 IP 주소 제공 DHCP 서버

      • ◆ 1. DHCP Discover (클라이언트 → DHCP 서버)
      • 클라이언트가 DHCP 서버 찾음 by 브로드캐스트
      • 송신지 IP 주소 : 0.0.0.0
      • ◆ 2. DHCP Offer (DHCP 서버 → 클라이언트)
      • DHCP Discover 받은 DHCP 서버가 클라이언트에 제안
      • 할당할 IP 주소, 서브넷 마스크, 임대 기간
      • ◆ 3. DHCP Request (클라이언트 → DHCP 서버)
      • 브로드캐스트
      • DHCP Offer 메시지 받았는데 써도 ㄱㅊ?
      • ◆ 4. DHCP ACK (DHCP 서버 → 클라이언트)
      • 최종 승인
      • 이후 할당 IP 주소 임대 기간 동안 사용
    • 임대 갱신 (Lease Renewal) : IP 주소 임대 기간 끝나기 전 갱신 (2번 자동 수행)

◆ 예약 주소

  • 루프백 주소 (Loopback Address) : 자기 자신 가리키는 주소
    • 로컬호스트 (Localhost)
    • 127.0.0.1
    • 테스트, 디버깅 용도
  • 0.0.0.0/8 : 이 네트워크의 이 호스트
  • 0.0.0.0/0 : 모든 임의의 IP 주소
    • 디폴트 라우트 (Default Route) : 패킷 어디로 전송 모를 때 전송할 곳

✦ 라우팅

◆ 라우터 (Router)

  • 라우팅 실행하는 장비
  • 라우팅 (Routing) : 패킷 이동 최적 경로 설정 후 패킷 이동
  • 홉 (Hop) : 라우팅 도중 호스트 - 라우터 / 라우터 - 라우터 사이 패킷 이동
    • google 까지 hop 경로

◆ 라우팅 테이블 (Routing Table)

  • 특정 수신지까지 도달 위한 정보 명시 표

  • 라우터 → 라우팅 테이블 참고해 수신지까지 도달 경로 파악
  • 라우팅 테이블 정보
    • 수신지 IP 주소 & 서브넷 마스크 : 최종적 패킷 전달할 대상
    • 다음 홉 (Next Hop) : 다음으로 거쳐야 할 호스트 IP 주소 or 인터페이스. 게이트웨이
    • 네트워크 인터페이스 : 패킷 내보낼 통로. 인터페이스 (NIC) 이름 직접적 명시 or 대응 IP 주소 명시
    • 메트릭 (Metric) : 해당 경로 이동 소요 비용
  • 디폴드 라우트 (Default Route) : 라우팅 테이블 없는 경로로 패킷 내보낼 때

◆ 정적 라우팅 & 동적 라우팅

  • 라우팅 테이블 만드는 방법
    • ◆ 정적 라우팅 (Static Routing)
    • 사용자 수동 입력 라우팅 테이블 항목 바탕 라우팅
    • ◆ 동적 라우팅 (Dynamic Routing)
    • 자동 생성 라우팅 테이블 이용해 라우팅
    • 라우팅 테이블 항목 수시 변경 가능
    • 네트워크 경로상 문제 발생 → 우회 경로 자동 갱신

◆ 라우팅 프로토콜 (Routing Protocol)

  • 라우터끼리 정보 교환 → 패킷 이동 최적 경로 검색 프로토콜
  • 라우팅 범위 따라 종류 나뉨
  • AS (Autonomous System) : 동일 라우터 정책 운용 라우터 집단 네트워크
    • 한 회사 or 단체 관리 라우터 집단
    • AS 마다 고유 AS 번호 (ASN : Autonomous System Number) 할당
    • 라우터 → AS 내부에서 통신
    • AS 경계 라우터 (ASBR : Autonomous System Boundary Router) : AS 경계에서 AS 내외로 통신
    • ◆ IGP : RIP & OSPF
    • 범위 : AS 내부
      • ◆ RIP (Routing Information Protocol)
      • 최적 경로 선정 과정에서 거리 벡터 사용
        • 거리 벡터 (Distance Vector) : 거리 기반 최적 경로
      • 인접 라우터끼리 경로 정보 주기적 교환하며 라우팅 테이블 갱신
      • 특정 수신지까지 홉 수 알 수 있음
        • 최소 홉 수 → 최적의 경로
      • ◆ OSPF (Open Shortest Path First)
      • 최적 경로 선정 과정에서 링크 상태 사용
      • 링크 상태 데이터베이스 (LSDB : Link State DB) : 현재 네트워크 상태 그래프 형태로 저장
        • 라우터 연결 관계, 연결 비용 저장
      • 링크 상태 DB 기반 현재 네트워크 구성 지도화 후 최적 경로 선택
      • 대역폭 기반 메트릭 계산
        • 대역폭 ↑ 메트릭 ↓
      • 네트워크 구성 변경 → 라우팅 테이블 갱신
      • AS를 에어리어 (Area) 단위로 나눔. 구분 에어리어 내에서만 링크 상태 공유
        • 에어리어마다 번호 부여
        • 에어리어 경계 ABR (Area Border Router) 가 에어리어 간 연결 담당
    • ◆ EGP : BGP (Border Gateway Protocol)
    • AS 간 통신에서 사용 프로토콜
    • AS 내 라우터 간 통신도 가능
    • eBGP (external BGP) : AS 간의 통신
    • iBGP (internal BGP) : AS 내의 통신
    • AS 내에서 eBGP 사용 라우터 1개 이상, 또 다른 AS의 BGP 라우터와 연결
      • BGP 라우터 간 BGP 메시지 교환
      • 피어 (Peer) : BGP 메시지 교환 가능 연결 BGP 라우터
      • 피어링 (Peering) : 피어 관계 되도록 연결되는 과정
    • BGP 속성 : 경로 대한 부가 정보
      • ◆ 1. AS-PATH 속성
      • 메시지 → 수신지 과정에서 통과 AS 목록
      • 특징
        1. BGP → AS 간 라우팅 시 거칠 ‘라우터’ 수가 아닌 ‘AS’ 수 고려
        2. BGP → RIP 처럼 ‘거리’ X, 어떤 AS 거치는지 ‘경로’ 고려
      • 경로 벡터 (Path Vector) 라우팅 프로토콜
      • ◆ 2. NEXT-HOP 속성
      • 다음 홉, 다음으로 거칠 라우터 IP 주소
      • ◆ 3. LOCAL-PREF 속성
      • 지역 선호도, LOCAL PREFerence
      • AS 외부 경로에 있어 AS 내부에서 (local) 어떤 경로 선호 척도
      • 1, 2 속성보다 우선시. 클수록 우선 선택

글 이동

시리즈 이동

Comments