누구나 알아야 할 핵심 프로토콜
라우팅 알고리즘 (Distance Vector vs Link State)
네트워크에서 데이터 패킷이 목적지까지 도달하기 위해서는 최적의 경로를 찾아야 합니다. 이때 경로를 선택하는 알고리즘을 라우팅 알고리즘이라고 하고 대표적으로 Distance Vector와 Link State가 있습니다.
목차
Distance Vector 알고리즘
벨만-포드 알고리즘을 기반으로 하며, 각 라우터가 자신의 이웃 라우터들로부터 받은 정보를 바탕으로 목적지까지의 거리와 방향(Vector)을 계산합니다.
작동 방식
- 각 라우터는 자신의 라우팅 테이블을 주기적으로 이웃 라우터들과 공유합니다.
- 테이블에는 목적지까지의 거리(홉 수)와 다음 홉(next hop) 정보가 포함됩니다.
- 새로운 정보를 받으면 자신의 테이블을 업데이트하고, 변경사항이 있을 경우 다시 이웃들에게 전파합니다.
특징
- 구현이 간단하고 계산 부하가 적습니다.
- 소규모 네트워크에서 효율적으로 동작합니다.
- 라우터의 메모리 사용량이 적습니다.
- Count to Infinity 문제가 발생할 수 있습니다.
- 네트워크 변화에 대한 수렴 속도가 느립니다.
- 대규모 네트워크에서는 확장성이 떨어집니다.
Link State 알고리즘
다익스트라 알고리즘을 기반으로 하며, 각 라우터가 네트워크 전체의 토폴로지 정보를 가지고 최단 경로를 계산합니다.
작동 방식
- 각 라우터는 자신의 링크 상태 정보를 네트워크 전체에 플러딩합니다.
- 모든 라우터는 동일한 네트워크 토폴로지 데이터베이스를 유지합니다.
- 다익스트라 알고리즘을 사용하여 모든 목적지까지 최단 경로를 계산합니다.
특징
- 네트워크 변화게 빠르게 대응합니다.
- 대규모 네트워크에서도 안정적으로 동작합니다.
- 경로 선택의 정확도가 높습니다.
- 더 많은 처리 능력과 메로리가 필요합니다.
- 구현이 복잡합니다.
- 링크 상태 정보 교환으로 인한 오버헤드가 있습니다.
스위칭 방식 (Circuit Switching vs Packet Switching)
스위칭은 필요할 때 송신자와 수신자를 연결시켜주는 행위입니다.
Circuit Switching
통신하고자 하는 양 끝점 사이에 전용 통신 경로를 설정하고, 통신이 완료될 때까지 해당 경로를 독점적으로 사용하는 방식입니다.
작동 방식
- 연결 설정
- 통신 시작 전 전용 경로를 설정합니다.
- 필요한 모든 자원을 예약합니다.
- 데이터 전송
- 설정된 경로를 통해 데이터를 지속적으로 전송합니다.
- 다른 사용자는 이 경로를 사용할 수 없습니다.
- 연결 해제
- 통신 완료 후 할당된 자원을 해제합니다.
특징
- 일정한 대역폭을 보장합니다.
- 지연시간이 일정하고 예측 가능합니다.
- 실시간 통신에 적합합니다.
- 비용이 상대적으로 높습니다.
Packet Switching
데이터를 작은 단위로 나누어 각각의 패킷을 독립적으로 전송하는 방식입니다. 각 패킷은 목적지 정보를 포함하고 있어서 서로 다른 경로로 전송될 수 있습니다.
작동 방식
- 패킷화
- 데이터를 일정 크기의 패킷으로 분할합니다.
- 각 패킷에 헤더 정보를 추가합니다.
- 라우팅
- 각 패킷이 독립적으로 최적 경로를 통해 전송합니다.
- 네트워크 상황에 따라 동적으로 경로를 선택합니다.
- 재조립
- 목적지에서 패킷들을 원래 순서대로 재조립합니다.
특징
- 경로 장애 시 우회가 용이합니다.
- 확장성이 높고, 비용이 효율적입니다.
- 서비스 품질 보장이 어렵습니다.
- 패킷 순서가 바뀌거나 손실될 수 있습니다.
ARP와 RARP
네트워크 통신에서 IP 주소와 MAC 주소는 모두 필수 요소입니다. ARP와 RARP는 이 두 주소 체계 사이의 변환을 담당하는 중요한 프로토콜입니다.
ARP(Address Resolution Protocol)
ARP는 IP 주소를 물리적 네트워크 주소인 MAC 주소로 변환하는 프로토콜입니다. 이는 TCP/IP 프로토콜 스택의 네트워크 계층과 데이터 링크 계층 사이에서 동작합니다.
작동 방식
- ARP 요청
- 송신자가 목적지 IP 주소에 대한 브로드캐스트 ARP 요청을 전송합니다.
- 네트워크 상의 모든 호스트가 이 요청을 수신합니다.
- ARP 응답
- 해당 IP 주소를 가진 호스트만 자신의 MAC 주소를 유니캐스트로 응답
- 다른 호스트들은 이 요청을 무시합니다.
- ARP 캐시
- 변환된 주소 정보를 ARP 캐시 테이블에 저장합니다.
- 일정 시간 동안 보관하여 반복적인 요청을 줄입니다.
RARP(Reverse Address Resolution Protocol)
MAC 주소를 IP주소로 변환하는 프로토콜입니다. 주로 디스크가 없는 워크스테이션이 부팅 시 자신의 IP 주소를 알아내기 위해 사용됩니다.
작동 방식
- RARP 요청
- 클라이언트가 자신의 MAC 주소를 포함한 RARP 요청을 브로드캐스트합니다.
- RARP 서버가 필요합니다.
- RARP 응답
- RARP 서버가 해당 MAC 주소에 할당된 IP 주소로 응답합니다.
- 서버는 MAC 주소와 IP 주소의 매핑 테이블을 관리합니다.
ICMP (Ping, Traceroute)
ICMP는 네트워크 장치들이 통신 중에 발생하는 오류나 상태 정보를 주고받는 데 사용되는 핵심 프로토콜입니다.
주요 목적은 오류보고입니다. 두 장치가 인터넷을 통해 연결되었을 때 ICMP를 통해 데이터가 의도한 대상에 도달하지 못했을 때, 수신 장치에서 전송장치로 전달할 수 있는 오류를 생성할 수 있습니다.
- 오류 보고 메시지 전달
- 네트워크 상태 정보 전달
- 네트워크 진단 도구 제공
- 라우터 광고 및 발견
ICMP는 메시지를 보내기 전에 다른 장치와의 연결을 할 필요가 없습니다. IP와 달리 TCP, UDP와 같은 전송 계층 프로토콜과 연결되지 않습니다.
Ping
Ping은 네트워크 호스트 간의 연결성을 테스트하는 가장 기본적인 도구입니다. 즉, 다른 호스트로 패킷이 잘 전송되는지를 확인하는 것입니다.

위와 같이 8.8.8.8(구글) 로 ping을 날려보면 목적지까지 패킷이 잘 전송되는 것을 알 수 있습니다.
작동 방식
- Echo Request 전송
- ICMP Echo Request 패킷 생성
- 목적지 호스트로 전송
- Echo Reply 수신
- 대상 호스트가 Echo Reply 응답
- 왕복 시간 측정
Traceroute
traceroute는 패킷이 목적지까지 도달하는 경로를 추적하는 도구입니다.

위와 같이 traceroute 8.8.8.8 명령어를 입력하면 각 홉에서 거치는 IP 주소와 응답 시간을 확인할 수 있습니다. * * * 로 표시되는 것은 라우터가 ICMP 패킷에 응답하지 않도록 설정되어 있다는 것입니다.
작동 방식
- TTL 값 조작
- 초기 TTL은 1로 시작합니다
- 각 단계마다 TTL이 증가합니다.
- 초기 TTL은 1로 시작합니다
- ICMP Time Exceeded
- TTL이 0이 되는 라우터가 응답합니다.
- 경로상의 각 홉을 식별합니다.
- 경로 추적 완료
- 목적지 도달 시 종료합니다.
- 전체 경로 정보를 표시합니다.
BGP (Border Gateway Protocol) & AS (Autonomous System)
BGP는 인터넷의 백본을 구성하는 서로 다른 AS간의 라우팅 정보를 교환하는 프로토콜입니다. 이는 인터넷에서 사용되는 유일한 EGP로서, 인터넷의 실질적인 글로벌 라우팅을 담당합니다.
AS
AS는 동일한 라우팅 정책 하에서 관리되는 네트워크 그룹을 의미합니다. 각 AS는 고유한 식별자인 ASN을 가집니다.
특징
- 단일 기관에 의해서 관리됩니다.
- 일관된 라우팅 정책을 적용합니다.
- 내부 토폴로지는 독립성을 가집니다.
- 초기 16비트에서 32비트로 확장되었습니다.
유형
- 내부용 라우팅 프로토콜(IGP)
- AS 안에서 라우터들끼리 라우팅 정보를 주고 받기 위해 라우터가 사용하는 프로토콜입니다.
- RIP, IGRP, EIGRP, OSPF가 있습니다.
- 외부용 라우팅 프로토콜
- AS와 AS간 외부에서 서로 라우팅 정보를 주고 받기 위해 라우터가 사용하는 프로토콜입니다.
- EGP, BGP가 있습니다.(최근에는 BGP를 사용하는 추세)
- Stub AS
- 단일 외부 연결입니다.
- 대부분의 기업 네트워크입니다.
- Multihomed AS
- 다중 외부 연결입니다.
- 트래픽 부하를 분산합니다.
- Transit AS
- 다른 AS들 간의 트래픽을 중계합니다.
- ISP가 대표적입니다.
BGP
AS의 가장자리에 위치한 BG(Border Gateway)들 간의 프로토콜입니다.
특징
- 경로 벡터 프로토콜입니다.
- TCP포트 179를 사용합니다.
- 정책 기반 라우팅입니다.
세션 유형
- 내부 BGP(iBGP)
- 동일 AS 내의 BGP 라우터 간 세션입니다.
- AS 내부 경로 정보를 공유합니다.
- 외부 BGP(eBGP)
- 서로 다른 AS의 BGP 라우터 간 세션입니다.
- AS 간 경로 정보를 교환합니다.
메시지 유형
- OPEN
- BGP 세션을 수립합니다.
- 버전, ASN, Hold Time 등을 교환합니다.
- UPDATE
- 경로 정보를 갱신합니다.
- 접두어와 속성 정보를 포함합니다.
- KEEPALIVE
- 세션을 유지하며, 주기적으로 전송합니다.
- NOTIFICATION
- 오류 상황을 통보하고, 세션을 종료합니다.
경로 선택 과정
대부분의 경우 네트워크 홉의 수가 가장 적은 경로가 선택되지만, 혼잡과 지연으로 인해 더 긴 경로의 속도가 더 빠를 수도 있습니다.
유니캐스트 방식으로 교환하며, IGP와 다르게 직접 연결되어 있지 않은 장비와 BGP Peer 관계를 형성하는 것이 가능합니다.
1. 유니캐스트(1 : 1)
- 출발지와 목적지가 정확해야하는 일대일 통신입니다.
- 송신 노드 하나가 수신 노드 하나에 데이터를 전송하는 일대일 방식입니다.
2. 브로드캐스트(1 : All)
- 내가 속한 네트워크 내의 모든 장비들과 통신을 하는 방식입니다.
- 개별 PC의 성능에도 영향을 미치고, 네트워크 전체적인 트래픽에도 영향을 미칩니다.
3. 멀티캐스트(1 : Group)
- 특정 일부에게 정보를 동시에 보내야 하는 경우에 사용합니다 (예를 들어 10명중 8명)
- 선택적으로 데이터를 전송하여 불필요한 트래픽이나 성능저하를 막습니다.
4. 애니캐스트(1 : 1)
- 가장 가까운 노드와 통신하는 방식입니다.
- 유니캐스트와 차이점은 송신 노드가 네트워크에 연결된 수신 가능한 노드 중 한 노드에만 데이터를 전송한다는 것입니다.
MPLS (Multiprotocol Label Switching)
기존 IP 라우팅에는 몇가지 문제점이 있었습니다.
- 패킷 전달 속도
- IP 라우팅에서는 각 라우터가 패킷을 받을 때마다 IP 헤더를 검사해야 했는데, 목적지 IP 주소를 확인하고, 라우팅 테이블에서 다음 홉을 찾는 과정이 시간이 오래 걸렸습니다.
- 대규모 라우팅 테이블
- 인터넷이 급속도로 성장하며 라우팅 테이블의 크기도 커졌습니다. 2023년 기준으로 전체 BGP 라우팅 테이블은 100만 개가 넘는 엔트리를 가지고 있습니다.
- 이 테이블은 메모리 소모가 심하고, 목적지를 찾는 데에도 오래 걸립니다.
- 인터넷이 급속도로 성장하며 라우팅 테이블의 크기도 커졌습니다. 2023년 기준으로 전체 BGP 라우팅 테이블은 100만 개가 넘는 엔트리를 가지고 있습니다.
- BGP의 한계
- BGP를 사용하는 대규모 네트워크에서는 모든 라우터가 전체 라우팅 테이블을 가지고 있어야 했습니다.
- 네트워크 자원의 비효율적인 사용이 생깁니다.
- BGP를 사용하는 대규모 네트워크에서는 모든 라우터가 전체 라우팅 테이블을 가지고 있어야 했습니다.
- 트래픽 엔지니어링의 어려움
- 기존 IP 라우팅에서는 특정 트래픽의 경로를 세밀하게 제어하기 어려웠습니다.
- 모든 패킷이 최단 경로로만 전송되다 보니, 일부 링크에 트래픽이 몰리는 현상이 발생했습니다.
- 기존 IP 라우팅에서는 특정 트래픽의 경로를 세밀하게 제어하기 어려웠습니다.
고성능 통신망에서 데이터 패킷을 더욱 빠르고 효율적으로 전달하기 위한 프로토콜입니다. 기존의 IP 라우팅과 Layer 2 스위칭의 장점을 결합한 기술로, 현대 엔터프라이즈 네트워크와 서비스 제공업체 네트워크의 핵심 기술로 자리잡았습니다.
특징
- Label 기반 전송
- Label은 패킷에 붙는 작은 식별자로, 32비트(4바이트)입니다.
- IP 주소 대신 Label을 사용합니다.
- 패킷 전송이 빠릅니다.
- 계층 독립적으로 동작합니다.
- 통합된 서비스
- Layer 2와 Layer3 를 통합해 Layer 2.5로 분류됩니다.
- 다양한 프로토콜을 지원합니다.
- QoS를 보장 가능합니다.
작동 방식
- Label 푸시
- 진입 LER에서 수행합니다.
- 새로운 Label을 추가합니다.
- Label 스왑
- LSR에서 수행합니다.
- Label을 교체합니다.
- Label 팝
- 출구 LER에서 수행합니다.
- Label을 제거합니다.
1. LSR(Label Switch Router)
- MPLS 네트워크 내의 라우터입니다.
- Label을 기반으로 패킷을 전달합니다.
- Ingress LSR: MPLS 네트워크의 입구 라우터
- Egress LSR: MPLS 네트워크의 출구 라우터
- Transit LSR: MPLS 네트워크 내부의 라우터
2. FEC(Forwarding Equivalence Class)
- 같은 방식으로 전달되는 패킷들의 그룹입니다.
- 같은 목적지로 가는 모든 패킷들이 하나의 FEC가 될 수 있습니다.
- MPLS는 각 FEC에 하나의 Label을 할당합니다.
2. LSP(Label Switched Path)
- MPLS 네트워크에서 패킷이 따라가는 경로입니다.
- Label을 기반으로 미리 정해진 경로입니다.
3. LDP(Label Distribution Protocol)
- MPLS 라우터들이 서로 레이블 정보를 교환하는 데 사용하는 프로토콜입니다.
4. LEP(Label Edge Router)
- MPLS 도메인의 경계 라우터입니다.
- Label을 부여 및 제거하는 역할입니다.
참고 자료
[IP-MPLS] MPLS 완전 정복: 현대 네트워크의 핵심 기술을 파헤치다
안녕하세요, 네트워크 엔지니어링에 관심 있는 여러분! 오늘은 현대 네트워크 기술의 핵심이라고 할 수 있는 MPLS(Multi-Protocol Label Switching)에 대해 아주 자세히 알아보려고 합니다. MPLS가 무엇인
louis-j.tistory.com
https://white-polarbear.tistory.com/39
MPLS 기본 개념 소개
● MPLS (Multiprotocol Label Switching) 정의 MPLS는 데이터를 조금 더 빠르게 전달하고 네트워크 트래픽을 제어하기 위한 기술 입니다. 기존의 라우팅 방식 대신 MPLS의 Label정보를 이용하여 보다 빠르게
white-polarbear.tistory.com
AS, BGP(Border Gateway Protocol)란?
Overview 오늘은 BGP(Border Gateway Protocol)라는 라우팅 프로토콜에 대해서 공부해보려고 한다. 그리고 간단하게 AS에 대한 개념도 알아볼 것이다. AS란? AS란 'Autonomous System(자율 시스템)' 의 약자로 하나
somaz.tistory.com
https://innovation123.tistory.com/253
[Network] ICMP란? / ping, traceroute
ICMP란?ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)는 네트워크 장치에서 네트워크 통신 문제를 진단하는 데 사용하는 네트워크 계층 프로토콜이다. ICMP가 사용되는 주요 방법은
innovation123.tistory.com
https://velog.io/@hayeon/ARP%EC%99%80-RARP-protocol-%EC%B0%A8%EC%9D%B4%EC%A0%90
ARP와 RARP protocol 차이점
ARP와 RARP는 모두 네트워크 계층으로써 논리적 주소와 물리적 주소 사이의 변환을 담당하는 프로토콜입니다. 호스트가 IP 데이터그램을 다른 호스트로 보내야 할 때마다, 보낸 사람은 논리 주소
velog.io
[네트워크] 스위칭의 방법과 종류
모든 장치에 서로 링크를 연결하는 것은 효율적이지 못함큰 네트워크 일수록 링크가 많이 필요하고 비용이 많이들어 현실적이지 못함링크의 유효시간이 많이 존재하여 효율성이 떨어짐위와 같
velog.io
https://ddongwon.tistory.com/95
라우팅 알고리즘 (Dijkstra's 알고리즘, Bellman-Ford 알고리즘)
1. 라우팅 알고리즘 라우팅 알고리즘에는 크게 두가지 종류가 있다. 전체적인 네트워크 상황을 알고, 이를 토대로 라우팅 경로를 판단하는 Link State 알고리즘, 특정 라우터와 연결된 이웃 라우터
ddongwon.tistory.com
MySQL 인덱스 완벽 가이드: 성능 최적화의 핵심 (1) | 2024.11.17 |
---|---|
[OAuth] 회사 방문증으로 이해하는 인증 원리 (1) | 2024.11.13 |
트랜잭션과 격리 수준 완벽 가이드 (0) | 2024.11.12 |
쿠키와 세션 (0) | 2024.09.03 |
왜 MVC 패턴을 사용하고 있나요? (5) | 2024.08.29 |
댓글