Network 계층

  • PDU(Protocol Data Unit/계층의 전송 단위) : Packet(Datagram)

  • Data의 전송과 이를 위한 길찾기를 담당하며 아래와 같은 기능들을 통해 Data가 효율적으로 전송되도록 함

핵심 기능

Address 지정

  • 네트워크에 연결된 각 장치에 고유한 IP 주소를 할당하여 Packet이 올바른 목적지로 전송되도록 해주는 기능

Routing

  • Router를 사용해 Packet의 경로를 결정하는 기능으로 Routing Protocol을 통해 네트워크의 상태를 파악하고, 최적의 경로를 계산하는 기능

Data 조각화(Packet) 및 재조립

  • 전송할 데이터가 MTU(Maximum Transmission Unit/최대 전송 단위)보다 클 경우,
    이를 작은 조각(Packet)으로 나누어 전송해주는 기능으로
    수신 측에서는 이 조각들을 다시 조합하여 원래의 데이터로 복원해줌

Packet forwarding

  • Data Packet을 출발지에서 목적지까지 Routing을 통해 얻은 경로로 이동 시켜주는 기능

흐름 제어

  • 네트워크 혼잡을 방지하기 위해 패킷 전송 속도를 조절하며, 이를 통해 수신 측에서 처리할 수 있는 속도로 데이터를 전송할 수 있도록 함

오류 처리 및 제어

  • Packet forwarding 중 발생할 수 있는 오류를 감지하고, 이를 처리하는 기능으로 필요에 따라 재전송을 요청할 수도 있음

IP(Internet Protocol)의 개념과 특징

네트워크 계층에서 사용되는 주요 프로토콜로 인터넷을 통해 Data Packet을 MTU에 따라 단편화 해주고,
주소를 지정해주는 역할을 한다.

=> 기존의 MAC 주소만으로는 가변적인 인터넷 환경에서 대상을 찾기 어려워 이를 보완하기 위해 등장했다.
(= 물리계층과 데이터링크 계층의 한계를 보완 )

  • IP의 특징
  1. 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷은 전송된다는 의미다
    (물론 받을 곳이 없어 아무 의미가 없긴하죠..)

  2. 비신뢰성: 중간에 패킷이 사라지거나 패킷이 순서대로 안오거나 같은 패킷이 여러 번 전송될 수 있다는 의미다.

  3. 프로그램 혼동: 같은 IP를 사용하는 컴퓨터에서 통신하는 응용 프로그램이 여러 개일 때, 데이터를 어떤 응용프로그램에 줘야할지 구분할 수 없음

Data Packet(IP Packet)

  • Data를 전송하는 입장에서 MTU(최대 전송 단위)를 준수하여 안정/효율성을 높이기 위해 Date를 Packet 형태로 쪼개게 된다.
    이 때, IPv4의 Packet은 통신하기 위해 아래의 구조를 따르게 된다

IPPacket

Field Bit Description
Version 4 IP의 버전을 나타냄 (IPv4 = 4 / IPv6 = 6)
IHL(Length) 4 Header의 길이를 나타냄(4 Byte 단위)
Service Type 8 패킷의 우선순위 및 서비스품질 관련 정보
Packet Length 16 Header와 Date의 총 길이(1 Byte 단위)
identification 16 패킷을 식별하기 위한 고유 번호
IP Flags(DF/MF) 3 패킷을 재조립할 때 사용하게 되는 정보
Fragment Offset 13 조각화된 패킷의 위치 정보
Time To Live 8 패킷의 생존시간(최대 라우터 통과가능 횟수(Max Hop))
Transport 8 상위 프로토콜의 종류 (TCP = 6, UDP = 17)
Header Checksum 16 Header의 오류 검출 코드
Source IP Address 32 패킷의 출발지 IP 주소
Destination IP Address 32 패킷의 목적지 IP 주소
Options Variable 추가 정보
Padding Variable Option이 32 Bit를 충족하지 못햇을 경우, 이를 충족시키기 위해 추가
Data Variable 전송하고자 하는 정보(Payload)

=> 이러한 정보들 중 식별자(identification), IP Flags(DF/MF), Fragment Offset Packet 등의 단편화 정보를 수신지에 전달해 재조립을 할 수 있도록 해준다!

  1. 식별자

    • 수신지에 도착한 IPv4 패킷들이 어떤 메시지에서부터 쪼개졌는지를 인식하기 위해서 식별자를 사용
  2. IP Flags(DF/MF)

    • 첫 번째 비트는 항상 0으로 예약된 비트로 현재는 사용되지 않습니다

    • 두 번째 비트(DF:Don’t Fragment)가 1로 설정되어 있다면 IP 단편화를 수행하지 않고, 0으로 설정되어 있다면 IP 단편화를 가능하도록 합니다.

    • 세 번째 비트(MF:More Fragment)로 단편화된 패킷이 더 있는지를 나타내어 0이라면 이 패킷이 마지막 패킷임을 의미하고 1이라면 쪼개진 패킷이 아직 더 있다는 것을 의미합니다.

  3. Fragment Offset Packet

    • 패킷이 단편화되기 전에 패킷의 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타냅니다.
      ( 수신지에 단편화된 조각들이 순서대로 도착하지 않을 수 있기에! )
  • IPv6 Packet 구조

image

Field Bit Description
Version 4 버전을 알려주는 정보로 IPv6는 항상 6이므로 0110 으로 고정되어 있다(상수)
Traffic Class 8 패킷의 우선순위에 관한 정보
Flow Label 20 비기본 QoS(Quality of Service) 및 실시간 서비스와 같은 특수 처리 요청에 사용
Payload Length 16 Payload의 총 길이
Next Header 8 확장헤더의 유형을 나타냄
Hop limit 8 IPv4의 Time To Live 와 같이 최대 Hop 수를 나타냄
Source Address 128 패킷의 출발지 IP 주소
Destination Address 128 패킷의 목적지 IP 주소
  • 위의 구조처럼 기본 헤더와 Payload(확장헤더 + 데이터)로 이루어져 있으며, 확장헤더를 통해 필요한 정보를 추가적으로 삽입해준다.

  • 위와 같은 동작으로 기본 헤더의 길이가 고정되있어 패킷 처리의 효율성이 좋다.

IPv4/IPv6

IPv4/IPv6IP의 두가지 주요 버전으로 Data Packet의 전송 및 라우팅을 위한 규칙과 형식을 정의한다.

IPv4의 주소는 32 Bit 체계로 약 42억개의 주소를 만들 수 있는데, 기존 인터넷의 확장(+사물 인터넷의 발달)으로인해
IPv4의 주소 체계로는 수용할 수 없어져 128 Bit 주소 체계의 IPv6가 생겨나게 되었다.

  • IPv4(Internet Protocol version 4)

    • 주소 길이: 32 Bit 주소 체계를 사용하여 약 42억 개의 고유 IP 주소를 제공

    • 주소 형식: 일반적으로 10진수로 표현되며, 4개의 옥텟(예: 192.168.1.1)으로 구성

    • 헤더 크기: 기본 헤더 크기는 20 Bytes이며, 옵션 필드에 따라 더 커질 수 있음

    • 보안: 기본적으로 보안 기능이 내장되어 있지 않으며, IPsec와 같은 추가 프로토콜을 통해 보안을 구현해야함

    • 주소 구성: IPv4를 사용하는 경우 IP 주소 할당을 처리하고 네트워크에 연결된 시스템을 식별하려면 Dynamic Host Configuration Protocol(DHCP) 라는 외부 서버가 필요함

  • IPv6(Internet Protocol version 6)

    • 주소 길이: 128 Bit 주소 체계를 사용하여 사실상 무한에 가까운 수의 고유 IP 주소를 제공

    • 주소 형식: 16진수로 표현되며, 8개의 그룹으로 나뉘어 (예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334) 구성, 연속된 0은 “::”로 축약할 수 있습니다.

    • 헤더 크기: 기본 헤더 크기는 40 Bytes로, IPv4보다 더 간단하고 효율적입니다.

    • 보안: IPv6는 IPsec을 기본적으로 지원하여, 보안 기능이 내장되어 있음

    • 자동 구성: Stateless Address Autoconfiguration (SLAAC) 기능을 통해 외부 서버/프로토콜의 필요없이 장치가 자동으로 IP 주소를 구성가능

IP의 종류

  1. 공인/사설 IP

    • 공인 IP는 전세계에서 단 하나만 존재하며, 외부에 공개되어 있음

    • 사설 IP는 한 네트워크 안에서 내부적으로 사용하는 고유 주소로 네트워크 안에서 유일함
      (다른 네트워크와 중복될 수 있으며, 외부에 공개되어 있지 않아 상관 없음)

    • 공인 IP의 네트워크 대역 안에서 사설 IP를 만들어 내부 서버를 구축하는 방식이다.
      (IPv4의 한정적인 주소를 해결하는 대책안으로 만들어진 것이 사설 IP(NAT 방식))

  2. 동적(DHCP)/정적 IP

    • 시간이 지남에 따라 IP 주소가 변화하는지에 따라 구분됨

    • 동적 IP는 기기를 사용할 때, 남아있는 IP 주소들 가운데서 IP를 할당하여 사용하는 방식으로 대부분의 가정에서 사용하는 방식이다.

    • 정적 IP는 대부분 공인 IP로 주소를 반납하기 전까지 다른 기기에 할당할 수 없어 보안에 취약하다는 단점이 있다.

ARP

  • 상대 호스트의 IP 주소는 알지만, MAC 주소는 알지 못하는 상황이 있을 수 있어 이럴 때 ARP(Address Resolution Protocol)라는 프로토콜을 사용하게 된다

  • ARP는 IP 주소를 통해 MAC 주소를 알아내는 프로토콜로 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수 있다!

  1. ARP 요청

    • 네트워크 내의 모든 호스트에게 broadcast 메시지를 보냅니다.

    • 이 메시지는 ARP 요청이라는 ARP 패킷 형태로 보내지게 됩니다.

    ARPPACKET

  2. ARP 응답

    • 수신 대상을 제외한 나머지 호스트들은 자신의 IP 주소가 아니므로 이를 무시고, 수신 대상은 자신의 MAC 주소를 담은 메시지를 broadcast 메시지를 보낸 호스트에게 전송하게 됩니다.
  3. ARP 테이블 갱신

    • ARP를 활용할 수 있는 모든 호스트는 ARP 테이블이라는 정보를 유지 합니다.

    • broadcast 메시지를 보낸 호스트는 요청, 응답 과정을 통해 알게된 MAC를 ARP 테이블에 추가하게 됩니다

IP의 주소 체계

IP의 주소는 특정 네트워크를 식별하는 데 사용되는 네트워크 부(Network ID)네트워크 내의 개별 장치를 나타내는 호스트 부(Host ID)로 나뉘게 된다.

  • 네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별할 때 사용되고, 호스트 부십진수로 0이면 그 네트워크를 대표하는 주소가 된다.

  • 브로드캐스트 주소는 하나의 네트워크에 있는 모든 호스트에 동시에 데이터를 보낼 때 사용되는 전용 IP 주소를 의미합니다. 즉, 전체 네트워크에 데이터를 전송할 때는 호스트 부에 255를 설정하면 된다.

  1. 인터넷에 접속 가능한 네트워크를 만들기 위해 IP 주소 할당 기관(NIC)에 IP 주소 할당을 신청

  2. 할당 기관에서는 네트워크 부까지만 할당하며 IPv4 도입 초기에는 클래스(Class)를 기준으로 네트워크 부와 호스트 부를 나눴음

image

Class Address Number of Network
(Network ID)
Address per Network
(Host ID)
A 1.0.0.0 ~ 127.255.255.255 128(2^7) 16,777,216(2^24)
B 128.0.0.0 ~ 191.255.255.255 16,384(2^14) 65,536(2^16)
C 192.0.0.0 ~ 223.255.255.255 2,097,152(2^21) 256(2^8)
D(멀티캐스트용) 224.0.0.0 ~ 239.255.255.255 Not defined Not defined
E(연구용 예약) 240.0.0.0 ~ 255.255.255.255 Not defined Not defined

이렇게 구성된 class별 네트워크는 크기별로 클래스가 나뉘는데 이때,
class A 만큼의 Host ID(약 1,600만 개)는 필요없지만 class B 만큼의 Host ID(약 6.5만 개)보다는 더 필요한 경우처럼
중간규모의 네트워크이용하기 어렵다는 단점이 있었다.
(2진수의 단위로(=2의 제곱) 증감되기 때문에 Host ID와 Network ID의 수가 극단적으로 구분된다)

  • 서브넷(Sub net)

IP 주소를 효율적으로 활용하기 위해서 클래스 A와 B 같은 대규모 네트워크를 좀 더 작은 네트워크로
분할하는 것을 서브넷팅(Subnetting)이라 하고,분할된 네트워크를 서브넷(Subnet)이라 칭한다.

image

  • 그러나 이렇게 마음대로 Host ID를 Network ID처럼 사용하면 컴퓨터는 어떻게 알 수 있을까?
  1. 라우팅 접두사 CIDR(Classless Inter-Domain Routing) 표기법

    A.B.C.D/E

    • E 부분에 네트워크 부의 길이를 Bit 단위로 적어준다 A/B/C/D 는 각각 8/16/24/32 Bit 크기를 의미한다.

    예시로 CIDR 표기로 192.168.0.0/24 는 192.168.0.0 ~ 192.168.0.255까지 사용이 가능하단 뜻이다

  2. 식별자 서브넷 마스크(Subnet Mask) 표기법 (IPv4에서만)

    Class Address(Binary) Default Subnet Mask(Binary) Address Default Subnet Mask
    a 0xxxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx 11111111 . 00000000 . 00000000 . 00000000 1.0.0.0 ~
    127.255.255.255
    255.0.0.0
    b 10xxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx 11111111 . 11111111 . 00000000 . 00000000 128.0.0.0 ~
    191.255.255.255
    255.255.0.0
    c 110xxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx 11111111 . 11111111 . 11111111 . 00000000 192.0.0.0 ~
    223.255.255.255
    255.255.255.0

    32 Bit 로 표현된 서브넷 마스크도 IP 주소와 똑같은 방식으로 표기하며,

    IP 주소와 서브넷 마스크를 AND 연산을 통해 Network ID를 특정한다.
    (위 표의 Default Subnet Mask기존의 Class서브넷 마스크 표기법으로 표기하였을 때를 알려준다.)

라우팅(Routing)

여러 네트워크 간의 Data 전송을 관리하는 Router, Bridge, Gateway, 방화벽, 스위치 등의 중간 노드를 거쳐 출발지부터 최종 목적지까지의 Packet이 이동할 최적의 경로를 계산해주는 작업

라우터(Router)

  • 여러 네트워크 간의 경로(Route)를 설정해주는 라우팅 기능을 수행하여 Date Packet을 전송해주는 네트워크 장치

라우팅 테이블 (Router Information Base)

  • 특정 네트워크 대상지에 대한 경로를 나열하고 어떤 경우에는 해당 경로와 관련된 메트릭(거리)을 나열하는 라우터나 네트워크 호스트에 저장된 데이터 테이블로 정의

  • 라우팅 테이블은 관리자가 지정(정적)하거나 네트워크 트래픽을 관찰하여 학습(동적)하거나 라우팅 프로토콜의 도움으로 구축할 수 있음

image

라우팅 유형

라우팅 방식은 라우팅 테이블을 참조하는 방식으로 크게 2가지 유형으로 구분해줄 수 있다.

  1. 정적 라우팅(Static Routing)

    패킷 전송이 이루어지기전에, 전송 경로를 미리 라우터에 저장해 중개하는 방식

    => 경로 정보를 미리 입력해주어야 하기에, 네트워크 설계나 입력이 일정하게 유지되는 곳에서만 사용

    => 경로 정보가 변경될 시, 바로 대처가 어렵다는 단점이 있음

  2. 동적 라우팅(Dynamic Routing)

    라우터의 경로 정보를 네트워크 상황에 따라 적절하게 변경하는 방식으로, 경로 정보의 변경 주기에 맞춰 계속 보완이 가능한 방식(이를 위한 프로토콜을 라우팅 프로토콜이라 부른다.)

    => 복잡한 작업이 추가로 필요하며, 네트워크에 부하를 줘 성능에 영향을 줄 수도 있다는 단점이 있음

라우팅 프로토콜(Routing Protocol)

  • 동적 라우팅의 경우 경로 정보를 실시간으로 변경해야하기에 이를 도와주는 프로토콜이 있으며,
    이를 라우팅 프로토콜이라 칭한다

  • 라우팅 프로토콜은 아래 사진처럼 작동 방식에 따라 여러가지로 분류할 수 있다.

라우팅프로토콜

=> 그러나 여기서 제일 크게 분류되는 것은 알고리즘 방식이다

  1. 거리 벡터 라우팅 프로토콜(Distance-vector routing protocol)

    • 거리를 기반으로 데이터 패킷의 최적 경로를 결정하며 거리 벡터 라우팅 프로토콜은 패킷이 통과해야 하는 라우터 수(Hop Count라고 불림)로 거리를 측정(Bellman-Ford 알고리즘 사용)

    • 네트워크에서 최적 경로를 결정하기 위해 거리 벡터 프로토콜을 사용하는 라우터(이웃)는 서로 정보를 교환함
      (=> 이로인해 잘못된 정보가 전달되면 Looping이 일어날 수도 있음)

    • 토폴로지(Topology: 노드들의 연결 정보) 비용은 적게드나, 수렴(Convergence: 연결된 라우터와 라우팅 테이블 공유)시간이 느리다.
      (=> 라우터 하나를 연결할 때마다 라우팅 테이블을 업데이트를 하고, 이걸 다른 라우터에 전달하기에)

    • e.g. RIP

  2. 링크 상태 라우팅 프로토콜(Link-state routing protocol)

    • 모든 노드가 토폴로지를 구성하여 어떤 노드가 다른 노드에 연결되어 있는지 보여주어,
      각 노드는 네트워크의 모든 가능한 대상지까지의 가장 좋은 논리적 경로를 독립적으로 계산
      (최단 경로 우선 알고리즘 사용(Dijkstra 알고리즘))

      => 계산한 결과들을 통해 가장 좋은 경로로 라우팅 테이블(LS DataBase)을 형성

    • 토폴로지 비용은 많이드나, 수렴 시간(Convergence Time)이 빠르다.
      (=> 라우터들과 모두 연결 후에, 라우팅 테이블을 동시 생성/공유하기에)

    • e.g OSPF

  3. 경로 벡터 라우팅 프로토콜(Path-vector routing protocol)

    • 각 노드는 전체 경로 정보와 거리를 수신 하며, 노드가 Packet이 목적지 네트워크로 라우팅되는 방식을 계산하는 데 사용
      (거리 벡터 라우팅 프로토콜의 기반으로 설계되었다.)

    • 네트워크를 순환하여 동일한 노드로 반환된 업데이트(=중복 정보)를 쉽게 감지/삭제시켜 Looping을 방지함

    • 이 프로토콜은 위의 2가지 프로토콜과 다르게 자율 시스템(AS/Autonomous System) 끼리 라우팅 정보를 교환하는데 사용함
      (자율 시스템은 네트워크의 특정 그룹을 의미함)

    image

    • e.g BGP (위의 사진에서 iBGP/eBGP는 각각 AS의 내부/외부 에서 사용된다는 의미이다.)

관련 질문

질문 1

IP의 개념과 IP 주소 체계, 서브넷 마스크에 대해 설명해주세요.

  1. IP는 인터넷을 통해 정보를 주고받는 방식을 정한 통신 규약으로, 인터넷에 연결하는 다양한 종류의 기기들이 서로를 구별해 정보를 주고받도록 도와줍니다.

  2. IP주소 체계는 버전에 따라 다른 형식을 띄지만, 크게 보자면 네트워크를 구별하기 위한 Network ID와 그 네트워크 속에 있는 장치를 구별해주는 Host ID라는 영역으로 나뉩니다.

  3. 이러한 Network ID와 Host ID의 영역을 식별해주는 게 서브넷 마스크 입니다!

  • 서브넷이 뭔가요?

예전엔 Host ID의 수에 따라 class A,B,C 라고 지정을 하였는데 각 class의 Host ID 수량 차이가 너무 커 (Host ID 수량이 적당한)중간 크기 네트워크를 사용할 수 없었는데,

이를 개선하기 위해 나온게 서브넷으로 Host ID 영역을 Network ID 처럼 사용해 네트워크를 추가로 분리하는 기술이라 서브 넷 이라고 말합니다.

  • 서브넷 마스크의 표기법

서브넷 마스크는 IP 주소와 똑같은 형식이루어져 있는데,
컴퓨터가 IP 주소와 서브넷 마스크의 2진수 AND 연산(둘다 1일 경우에만 인식)을 통해 Network ID 인식하게 됩니다.

  • CIDR(Classless Inter-Domain Routing) 표기법을 알고있나요?

서브넷 마스크와 동일한 기능을 해주는 표기법으로 IP 주소 뒤에 / Bit 단위로 표기하여 Network ID의 영역을 알려주는 표기법 입니다.

질문 2

브라우저에 네이버 주소를 입력했을 때 네트워크 상에서 발생하는 과정을 설명해주세요.

  1. 브라우저는 도메인으로 이루어진 네이버 주소를 DNS 캐시를 확인합니다.

  2. 그럼에도 찾지 못했다면 없으면 DNS server로 전달해 네이버의 웹 서버 IP 주소를 받습니다.

    1. Local DNS 에 주소가 있는지 먼저 확인 합니다.

    2. Local DNS 에 없다면 Root DNS 서버에 www.naver.com 에서의 com 부분(최상위 도메인)을 검색합니다.

    3. 최상위 도메인(com DNS) 에서 naver(2레벨 도메인)를 찾습니다.

    4. 마지막으로 www(3레벨/서브 도메인)을 찾아 IP주소를 특정 짓습니다. ( 계층형 구조 )

  3. 인가받은 IP 주소(네이버 웹 서버)를 찾아 TCP의 3-way handshake를 통해 상호 연결을 진행 해준다.

  4. 연결된 주소와 브라우저가 HTTP를 통해 데이터를 주고 받습니다.

  5. 브라우저는 받은 데이터를 이용해 렌더링하여 사용자에게 네이버 페이지를 보여주게 됩니다

  • HTTP는 뭔가요?

HTML 문서와 같은 자원들을 가져오는 데 사용되는 전송 프로토콜로, 요청이 있을 때에만 응답을 보내주기에 비연결성이라는 특징을 갖고 있습니다.

  • TCP는 뭔가요?

데이터를 전송하기 전, 올바른 데이터 전송을 위해 연결을 만들어주는 연결지향 프로토콜입니다.
주로 데이터가 전달되는 과정에서 손실되거나 순서가 바뀌는 문제를 방지하기 위해 존재합니다.
(=> IP 자체만으로는 비연결성과 비신뢰성으로 인해 데이터가 잘 전달되었는지 모름 )

질문 3

라우터와 라우팅(동적 라우팅, 정적 라우팅)에 대해 설명해주세요.

  1. 라우터란 여러 네트워크/서브네트워크를 연결해주며 Date Packet의 길을 찾아주어 전송해주는 네트워크 기기 입니다.

  2. 라우팅이란 Data Packet이 출발지에서부터 스위치,허브,게이트웨이,라우터 등의 중간노드들을 지나 목적지에 도착하기 까지의 최적 경로를 계산해주는 작업 입니다.

라우팅으로 최적의 경로를 계산할 때 라우팅 테이블이란 경로 정보 모음집을 만들어 사용하는데,
이 라우팅 테이블을 미리 만들어서 사용하냐, 실시간으로(동적으로) 생성하냐 정적 라우팅/ 동적라우팅으로 나뉘게 됩니다.

  • 정적 라우팅

말씀드린대로 정적 라우팅은 미리 만들어진 라우팅 테이블을 이용하여 최적의 경로를 설정하는 작업입니다.

  • 동적 라우팅

동적 라우팅은 라우팅 테이블을 다양한 방법으로 생성하여 최적의 경로를 계산해주는 작업입니다.

  • 동적 라우팅 프로토콜의 종류?

동적 라우팅은 크게 어떤 방식으로 최적의 경로를 찾는가에 따라 프로토콜이 나뉘게 됩니다.

거리 벡터 라우팅 프로토콜(DV Routing Protocol)은 인접한 라우터 에게서
경로 정보를 공유받아 라우팅 테이블을 생성하고, 이를 다시 공유합니다.
그리고 이렇게 만들어진 라우팅 테이블에서 도착지에서 목적지 까지 중 중간노드들을 가장 적게 거친 경로를 찾는 프로토콜 입니다.

이러한 방식은 노드들의 연결 정보가 적어 리소스 효율이 좋지만, 규모가 커질수록 전체 라우팅 테이블을 업데이트 및 공유하는 시간이 느려지는 단점이 있습니다.

링크 상태 라우팅 프로토콜(LS Routing Protocol)은 모든 노드와 연결하여 노드들의 연결 정보를 교환하고,
변화가 있을 때만 정보를 공유하여 라우팅 테이블을 생성합니다.
이후 똑같이 라우팅 테이블을 이용해 최적 경로를 찾는 프로토콜입니다.

이러한 방식은 노드들의 연결 정보가 많아 리소스가 많이 들지만, 라우팅 테이블을 동시에 생성하기에 공유하는 시간이 적습니다.(변화에 빠르게 대응 가능)

Reference

스파르타코딩클럽
THE NETWORK DNA