Computer Science/네트워크

[컴퓨터네트워크] 02. (4)Network Layer(네트워크 계층) - IP 패킷의 포워딩

lumana 2024. 4. 7. 01:13

(4) Network Layer(네트워크 계층) - IP 패킷의 포워딩


IP 패킷의 포워딩

  • 포워딩에서 IP 주소의 역할
  • 포워딩은 패킷을 목적지로 가는 경로로 위치시키는 것
  • 2가지 방안
    • Forwarding based on Destination IP Addres
    • Forwarding based on Destination Label

Destination Address Forwarding

  • Forwarding based on Destination Address
    • 전통적 방식(Traditional approach)
      • 정적(포워딩 테이블)
    • 현재 대부분의 방식(Prevalent today)
      • 동적(ex. OSPF, BGP)
  • 포워딩 테이블이 필요함
  • 호스트가 패킷을 보낼 때나, 라우터가 패킷을 수신하고 포워딩 할 때, 라우팅 테이블을 보고 목적지로 가는 다음 홉을 찾는다

Classless 주소 방식에서 포워딩 테이블

  • Packet -> Extract destination address -> search table --> Interface number and next-hop address -> To other moudles or protocols
  • 헤더를 통해 어떤 곳으로 갈지 결정
  • LPM 방식을 사용하고, 끝까지 못 찾으면 default에 해당하는 Interface로 간다
    • Cf) 브릿지의 경우 찾지 못하면 flooding을 함
  • Prefix 비트를 이용하여 포워딩을 할 수도 있다 (LPM 방식)

  • ex) R1에서 목적지의 주소가 180.70.65.140인 패킷이 수신된 경우
  • 첫 열의 마스크(/26) 적용 -> 결과값 180.70.65.128 -> 매칭 안됨(AND 연산 결과) -> 다음 열 테스트
  • 두번째 열 마스크(/25) 적용 -> 결과값 180.70.65.128 매칭됨 -> 다음 홉과 인터페이스 정보를 추출하여 해당 인터페이스로 포워딩

Hierarchical Routing

  • 계층적 라우팅
    • Internet : backbone > 국가 ISP > 지역 ISP > 단말 ISP
    • 전화망 : 국가코드, 지역번호
  • 네트워크를 계층적으로 배치하면, 포워딩 테이블의 항을 줄일 수 있다.
    • cf) flat한 주소인 MAC address
  • ex) Regional ISP는 120.14.64.0에서 시작하는 16384개의 주소 할당 (120.14.64.0/18) Regional ISP는 4096 주소를 갖는 4개의 서브 블록으로 분할(/20 서브블록 4개) Local ISP는 512 주소를 갖는 8개의 서브 블록으로 분할(/23 서브블록 8개) Small ISP는 4 주소를 갖는 128개의 서브 블록으로 분할(/30 서브블록 128개)

 

Forwarding based on Label

  • 1980년대에, IP 라우팅을 스위칭으로 변경하여 연결지향형의 프로토콜처럼 동작하는 노력 시도
  • 연결지향형 네트워크에서 (Virtual-circuit), 스위치는 패킷의 레이블(label)을 보고 포워딩
  • 라우팅은 라우팅 테이블을 검색
  • 스위칭은 테이블을 인덱스처럼 엑세스
    • 탐색 없이 바로 엑세스
  • DA를 기반으로 한 Forwarding 은 검색하는데 시간이 오래걸리지만, 레이블을 기반으로 한 Forwrading은 검색 소요 시간이 없음

  • 탐색에 시간이 오래 걸림

  • 배열의 인덱스로 배열의 요소를 바로에 접근하는 것처럼 빠름

 

MPLS

  • Multi-Protocol Label Switching
  • backbone의 core에서 빠르게 처리하기 위해서 사용
  • MPLS 라우터는 라우터 및 스위치로 동작
    • 라우터로 동작 시, 목적지 주소 기반 포워딩
    • 스위치로 동작 시, 레이블에 근거하여 포워딩
  • 레이블 스택
    • 계층형 네트워크 지원
    • 스택과 같이 추가 가능
  • IP Packet(IP header + IP Payload)에 MPLS 헤더가 붙음
  • core안에 core를 만들어 Label을 계속해서 붙일 수 있음

라우터

  • 라우터 : 네트워크 계층에서 사용되는 패킷 스위치
    • SW 기반으로 처리하기엔 느리기 때문에, HW 기반으로 처리함
  • 라우터는 2가지로 설정 가능
    • 데이터그램 스위치(IP 주소 기반)
    • 가상회선 스위치(미리 경로 결정)