홉 (네트워크)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
홉(Hop)은 데이터가 출발지에서 목적지까지 도달하기 위해 거치는 중간 네트워크 장치를 의미하며, 홉 카운트는 이러한 중간 장치의 개수를 나타낸다. 홉 카운트는 네트워크 내 거리를 측정하는 기준으로 사용되며, 라우팅 프로토콜에서 경로 선택에 활용되지만, 대역폭, 부하, 신뢰성 등은 고려하지 않는 한계가 있다. IPv4의 TTL(Time to Live)과 IPv6의 홉 제한은 패킷이 네트워크를 무한정 순환하는 것을 방지하며, 다음 홉은 네트워크 트래픽이 최종 목적지로 향하는 다음 게이트웨이를 의미한다. 홉은 네트워크 오류 탐지 및 라우팅 검증에 활용되며, traceroute, ping과 같은 명령어를 통해 홉 수를 확인할 수 있다. 소스 라우팅은 패킷에 인코딩된 데이터를 통해 소스가 중간 홉의 라우팅 결정에 영향을 줄 수 있는 네트워크를 설명한다.
더 읽어볼만한 페이지
- 라우팅 - 포트 포워딩
포트 포워딩은 외부 네트워크의 연결 요청을 내부 네트워크의 특정 장치나 서비스로 전달하여 외부에서 내부 서비스에 접근 가능하게 하는 네트워크 기술로, 라우터나 방화벽에서 설정되며 다양한 방식으로 구현되고 활용된다. - 라우팅 - 라우팅 프로토콜
라우팅 프로토콜은 네트워크 계층에서 라우터들이 네트워크 구성 정보를 교환하여 효율적인 데이터 전송을 가능하게 하는 통신 프로토콜로, 링크 상태 라우팅, 거리 벡터 라우팅, 경로 벡터 라우팅 등으로 분류되며, 5G, IoT, SDN/NFV 환경에 따라 기술이 발전하고 있고, 대한민국에서도 경쟁력 강화를 위한 투자가 이루어지고 있다. - 컴퓨터 네트워킹 - 유니캐스트
유니캐스트는 데이터를 단일 목적지로 전송하는 방식으로, 브로드캐스트 및 멀티캐스트와 대비되며, 개인적 또는 고유한 리소스가 필요한 네트워크 프로세스에 사용되지만, 대량 데이터 전송 시 비용이 증가하는 단점이 있다. - 컴퓨터 네트워킹 - 노드 (네트워크)
노드(네트워크)는 데이터 통신에서 데이터를 주고받는 장치를 의미하며, 물리적 네트워크 노드, 인터넷 노드, 통신 네트워크 노드, 분산 시스템 노드, 네트워크 가상화 노드 등으로 분류된다.
홉 (네트워크) |
---|
2. 홉 카운트
홉 카운트(hop count|홉 카운트eng)는 데이터가 출발지와 목적지 사이에서 통과해야 하는 중간 네트워크 장치들의 개수를 가리킨다.[10] 데이터가 3계층 네트워크에서 다른 곳으로 이동할 때, 데이터 경로를 따라 거치는 각 라우터는 하나의 홉으로 계산된다. 그러므로 홉 카운트는 네트워크 내의 거리를 측정하는 기본적인 기준으로 사용된다. 홉 수 ''n''은 출발지와 목적지 호스트 사이에 ''n''개의 네트워크 장치가 있음을 의미한다.[1][2]
홉 카운트는 네트워크 경로상의 라우터 수를 세는 단순한 방식이지만, 각 구간의 전송 속도, 부하, 신뢰성, 지연 시간 등은 고려하지 않기 때문에 최적의 경로를 판단하는 데에는 한계가 있다. 그럼에도 RIP와 같은 일부 라우팅 프로토콜에서는 홉 수를 주요 메트릭으로 사용하기도 한다.[4][9] 라우터는 패킷의 TTL(Time To Live) 값을 이용해 패킷이 네트워크 내에서 무한정 순환하는 것을 방지하며, 이는 간접적으로 홉 수를 관리하는 방식과 관련이 있다.
2. 1. 홉 카운트의 측정
홉 카운트(hop count영어)는 데이터가 출발지와 목적지 사이에서 통과해야 하는 중간 네트워크 장치들의 개수를 의미한다.[10] 데이터가 3계층 네트워크에서 다른 곳으로 이동할 때, 데이터 경로를 따라 거치는 각 라우터는 하나의 홉으로 계산된다. 그러므로 홉 카운트는 네트워크 내 거리 측정의 기본적인 기준이 된다.유선 네트워크에서 홉 수는 데이터가 출발지와 목적지 사이를 통과하는 네트워크 장치의 수를 나타낸다. 라우팅 프로토콜에 따라 출발지를 포함하여 계산할 수도 있어 첫 번째 장치를 홉 0 또는 홉 1로 계산하기도 한다.[1] 따라서 홉 수는 두 호스트 간의 대략적인 거리를 나타내는 척도이다. RIP처럼 홉 1부터 세는 라우팅 프로토콜의 경우[1], 홉 수가 ''n''이라는 것은 출발지와 목적지 호스트 사이에 ''n''개의 네트워크가 존재함을 의미한다.[1][2] DHCP 같은 다른 프로토콜에서는 메시지가 전달된 횟수를 '홉'으로 표현하기도 한다.[3]
인터넷 프로토콜(IP)과 같은 3계층 네트워크에서는 데이터 경로상의 각 라우터가 하나의 홉으로 계산된다. 하지만 홉 수는 각 구간의 전송 속도, 부하, 신뢰성 또는 지연 시간 등을 고려하지 않고 단순히 거쳐 가는 장치의 수만 세기 때문에, 이것만으로는 최적의 네트워크 경로를 결정하기 어렵다. 그럼에도 RIP와 같은 일부 라우팅 프로토콜은 홉 수를 유일한 메트릭으로 사용한다.[4][9]
라우터는 패킷을 수신할 때마다 해당 패킷의 TTL(Time To Live) 값을 1씩 감소시킨다. 만약 TTL 값이 0이 된 패킷을 수신하면, 라우터는 그 패킷을 폐기한다. 이는 라우팅 과정에서 오류가 발생했을 때 패킷이 네트워크 안을 무한정 떠도는 것을 방지하기 위한 메커니즘이다. 라우터는 이처럼 TTL 값을 통해 간접적으로 홉 수를 관리하지만, 이더넷 허브나 네트워크 브리지와 같은 다른 유형의 네트워크 장비는 홉 수를 관리하지 않는다.
2. 2. 홉 카운트의 한계
3계층 네트워크(예: 인터넷 프로토콜(IP))에서 데이터 경로를 따라 각 라우터는 하나의 홉을 구성한다.[1][2] 그러나 이 메트릭 자체로는 최적의 네트워크 경로를 결정하는 데 유용하지 않다. 이는 특정 홉의 대역폭, 부하, 신뢰성 또는 지연 시간을 고려하지 않고 단순히 총 횟수만 계산하기 때문이다.[4][9] 그럼에도 불구하고, 일부 라우팅 프로토콜(예: RIP)은 홉 수를 유일한 메트릭으로 사용한다.[4][9]라우터는 패킷을 수신할 때마다 패킷을 수정하여 TTL(Time to Live) 값을 1씩 감소시킨다. 라우터는 TTL 값이 0이 된 패킷은 모두 폐기한다.[3] 이는 라우팅 오류가 발생할 경우 패킷이 네트워크를 무한정 순환하는 것을 방지하기 위한 메커니즘이다. 라우터는 이렇게 홉 수를 간접적으로 관리할 수 있지만, 이더넷 허브나 네트워크 브리지와 같은 다른 유형의 네트워크 장치는 TTL을 처리하거나 홉 수를 관리하지 않는다.
3. 홉 제한
IP 패킷 헤더에는 패킷이 네트워크에서 무한정 순환하는 것을 방지하기 위한 필드가 존재한다. IPv4에서는 이 필드를 생존 시간(TTL, Time to Live)이라고 부르며, IPv6에서는 홉 제한(Hop Limit)이라고 한다. 이 값은 패킷이 폐기되기 전까지 통과할 수 있는 최대 라우터 수를 나타낸다.
3. 1. 홉 제한의 동작 방식
IPv4에서는 생존 시간(TTL), IPv6에서는 홉 제한(hop limit)이라고 불리는 필드가 있다. 이 필드는 패킷이 네트워크 상에서 폐기되기 전까지 통과할 수 있는 최대 라우터의 수를 제한하기 위해 사용된다.라우터는 IP 패킷을 수신하여 다음 목적지로 전달할 때마다 해당 패킷의 TTL 또는 홉 제한 필드 값을 1씩 감소시킨다. 만약 라우터가 패킷을 처리하는 과정에서 이 필드의 값이 0 이하가 되면, 해당 패킷을 더 이상 전달하지 않고 폐기한다.
이러한 메커니즘은 패킷이 잘못된 경로 설정 등으로 인해 네트워크 내에서 영원히 순환하는 무한 루프 상태에 빠지는 것을 방지하는 중요한 역할을 한다.
4. 다음 홉 (Next Hop)
다음 홉(Next Hop)은 패킷이 최종 목적지로 가는 경로를 따라 전송될 때 거치게 되는 다음 게이트웨이를 의미한다.[5] 라우팅 테이블에는 일반적으로 최종 목적지의 IP 주소와 함께, 해당 목적지에 도달하기 위한 경로 상의 다음 게이트웨이, 즉 다음 홉의 IP 주소 정보가 포함된다. 각 게이트웨이는 목적지까지의 전체 경로가 아니라 경로상의 다음 단계인 다음 홉만을 알게 되는데, 이렇게 다음 홉 정보만 저장하는 방식을 '다음 홉 라우팅' 또는 '다음 홉 전달'이라고 하며, 이는 라우팅 테이블의 크기를 줄이는 데 도움이 된다. 만약 다음 홉을 알 수 없다면, 해당 홉은 네트워크 유형에 따라 패킷을 조용히 버리거나 오류를 반환할 수 있다.
소스 라우팅은 패킷에 포함된 정보를 통해 패킷의 출발지(소스)가 중간 홉의 라우팅 결정에 영향을 줄 수 있는 방식이다.[8]
4. 1. 라우팅 테이블과 다음 홉
네트워크 장치를 설정할 때 '홉(hop)'은 종종 '다음 홉(next hop)'을 의미한다.[5] 네트워크 트래픽이 전달될 때, 다음 홉은 현재 장치(로컬 홉)가 패킷을 최종 목적지로 보내기 위해 거쳐야 할 다음 네트워크 장치를 가리킨다. 라우팅 테이블은 일반적으로 도달 가능한 목적지 네트워크나 IP 주소 목록과 함께, 해당 목적지로 가기 위한 다음 홉 정보를 담고 있다. 이렇게 다음 홉 정보만 저장하는 방식을 '다음 홉 라우팅' 또는 '다음 홉 전달'이라고 하며, 이는 라우팅 테이블의 크기를 줄이는 데 도움이 된다. 즉, 특정 게이트웨이는 전체 경로가 아닌, 경로상의 다음 단계만 알고 있는 셈이다. 만약 다음 홉을 알 수 없다면, 해당 홉은 네트워크 종류에 따라 패킷을 조용히 버리거나 오류 메시지를 보낼 수 있다.일반적인 가정용 네트워크 장비는 로컬 네트워크 내부로 향하는 경로와 기본 게이트웨이 정보만을 가지는 경우가 많다. 이를 통해 트래픽은 로컬 네트워크 내의 다른 장치로 전달되거나, 외부 인터넷으로 나가기 위해 ISP의 게이트웨이로 보내진다.[6] 반면, 서로 다른 네트워크 사이에서 트래픽을 중계하는 라우터는 여러 개의 경로 정보를 가지고 있어야 한다.[7] 실제로 경로는 넷마스크를 이용한 주소 할당을 통해 암시적으로 정해지거나, `route` 같은 명령어를 사용해 수동으로 설정될 수 있다. 또한, DHCP나 라우팅 프로토콜과 같은 프로토콜을 통해 자동으로 구성되기도 한다.
TCP/IP 네트워크 환경에서 링크 계층으로 이더넷을 사용하는 경우, 패킷의 최종 목적지는 항상 IP 주소로 표현된다. 하지만 다음 홉 주소는 반드시 IP 주소일 필요는 없다. 패킷은 링크 계층에서 전달되어야 하므로, 다음 홉 정보는 실제 전송에 필요한 MAC 주소와 같은 링크 계층 주소로 변환될 수 있어야 한다. 예를 들어, 리눅스 시스템에서는 다음 홉을 IP 주소 또는 네트워크 인터페이스로 지정할 수 있다. 이때 목적지 주소와 다음 홉 주소의 주소 패밀리가 반드시 같아야 하는 것은 아니어서, IPv6 네트워크를 통해 IPv4 트래픽을 전달하거나 그 반대의 경우도 가능하다. 만약 다음 홉 주소가 명시되지 않으면, 목적지가 같은 로컬 네트워크 상에 있다고 간주된다. 그렇지 않으면 지정된 다음 홉 주소가 사용된다. 이후, IPv6 환경에서는 NDP, IPv4 환경에서는 ARP를 통해 해당 IP 주소를 실제 링크 계층 주소(MAC 주소 등)로 알아내어 네트워크 스택이 패킷을 전달하게 된다. VPN과 같은 다른 환경에서는 패킷을 보낼 피어를 결정하기 위해 다른 방식의 링크 계층 주소 확인 절차가 필요할 수도 있다. 어떤 방식이든 중요한 것은 다음 홉이 현재 홉과 논리적으로 연결되어 있어야 한다는 점이다. 이는 패킷이 소스에서 목적지까지 끊김 없이 전달되는 경로를 형성하기 위함이다. 이러한 논리적 연결은 반드시 물리적인 직접 연결을 의미하지는 않으며, 가상의 터널을 통해 패킷이 전달될 수도 있다.
소스 라우팅은 패킷 자체에 포함된 정보를 통해 패킷의 출발지(소스)가 중간 홉들의 라우팅 결정 과정에 영향을 미칠 수 있도록 하는 기술이다.[8] 이를 활용하면 네트워크 지연 시간을 줄이거나 네트워크 정체 현상을 완화하는 등, 특정 요구사항을 만족시키기 위한 고급 통신 엔지니어링 기법을 구현할 수 있다.
4. 2. 주소 결정 프로토콜 (ARP)과 다음 홉
네트워크 장치를 구성할 때 '홉(hop)'은 '다음 홉(next hop)'을 의미하기도 한다.[5] 패킷이 네트워크를 통해 전달될 때, '다음 홉'은 현재 위치한 장비(홉)가 패킷을 최종 목적지로 보내기 위해 거쳐야 할 바로 다음 장비를 가리킨다. 라우팅 테이블은 일반적으로 도달 가능한 목적지 네트워크나 IP 주소 목록과 함께, 해당 목적지로 가기 위한 다음 홉의 주소 정보를 담고 있다. 이처럼 다음 홉 정보만을 저장하는 방식을 '다음 홉 라우팅' 또는 '다음 홉 전달'이라고 부르며, 이는 라우팅 테이블의 크기를 줄이는 데 효과적이다. 즉, 특정 게이트웨이는 전체 경로를 다 아는 것이 아니라, 단지 경로상의 다음 단계에 해당하는 게이트웨이 정보만을 알고 있는 것이다. 만약 다음 홉을 알 수 없는 경우, 네트워크 유형에 따라 해당 패킷은 조용히 폐기되거나 오류 메시지가 반환될 수 있다. 소비자 네트워크의 장치는 종종 로컬 네트워크에 대한 경로와 기본 게이트웨이만 제공받는데, 트래픽이 로컬 네트워크에 도달하거나 인터넷 서비스 제공자로 전달될 수 있기 때문이다.[6] 라우터는 서로 다른 네트워크 간에 트래픽을 전달할 수 있도록 여러 경로가 필요하다.[7] 실제로는 넷마스크를 사용한 주소 할당, route와 같은 도구를 사용한 수동 할당, 또는 DHCP나 라우팅 프로토콜과 같은 구성 프로토콜을 사용하여 경로가 암시적으로 구성된다.TCP/IP 네트워크 환경, 특히 데이터 링크 계층에서 이더넷을 사용하는 경우, 패킷의 최종 목적지는 IP 주소로 지정되지만, 당장 패킷을 전달해야 할 다음 홉의 주소는 기술적으로 MAC 주소와 같은 링크 계층 주소로 확인되어야 한다. 패킷은 물리적인 네트워크 회선을 통해 전달되어야 하기 때문이다.
이 과정에서 IPv4 환경에서는 ARP(Address Resolution Protocol)가, IPv6 환경에서는 NDP(Neighbor Discovery Protocol)가 중요한 역할을 한다. 이 프로토콜들은 특정 IP 주소를 가진 장비가 실제로 어떤 MAC 주소를 사용하는지 알아내는 데 사용된다. 이렇게 얻어진 MAC 주소 정보를 통해 네트워크 스택은 패킷을 정확한 다음 홉 장비로 전달할 수 있게 된다. 예를 들어, 리눅스 운영체제에서는 다음 홉을 IP 주소나 특정 네트워크 인터페이스 컨트롤러로 지정할 수 있다. 목적지 IP 주소의 주소 패밀리(IPv4 또는 IPv6)와 다음 홉 IP 주소의 주소 패밀리가 반드시 같을 필요는 없으므로, IPv6 네트워크를 통해 IPv4 트래픽을 전달하거나 그 반대의 경우도 가능하다. 만약 다음 홉 주소가 명시적으로 지정되지 않았다면, 시스템은 목적지가 동일한 로컬 링크 상에 있다고 가정하고 ARP나 NDP를 통해 직접 MAC 주소를 찾으려 시도한다.
VPN과 같은 다른 네트워크 환경에서는 패킷을 전달할 다음 피어를 결정하기 위해 ARP나 NDP 외에 다른 방식의 주소 확인 절차가 필요할 수도 있다. 어떤 방식이든 중요한 것은 다음 홉이 현재 홉과 논리적으로 연결되어 있어야 한다는 점이다. 이는 반드시 물리적으로 직접 케이블이 연결되어 있어야 함을 의미하지는 않으며, 가상의 터널을 통해 패킷이 전달되는 경우처럼 논리적인 연결만으로도 충분하다.
5. 진단
홉 수는 네트워크에서 발생할 수 있는 오류를 찾거나 라우팅 경로가 올바르게 설정되었는지 확인하는 데 유용한 지표가 된다. 트레이스경로(traceroute)나 ping과 같은 네트워크 진단 도구를 사용하여 출발지 호스트에서 목적지 호스트까지의 홉 수를 측정하고 네트워크 상태를 점검할 수 있다.
5. 1. 홉 카운트 관련 명령어
ping 명령어나 traceroute (트레이스경로) 명령어를 사용하여 특정 호스트에서 다른 호스트까지 도달하는 데 필요한 라우터 홉 수를 확인할 수 있다.[10] 이러한 명령어는 네트워크 내의 오류를 찾거나 라우팅 경로가 올바른지 확인하는 데 유용하다.[10] 예를 들어, ping 유틸리티는 홉 수를 기록하기 위한 필드가 포함된 패킷을 생성하여 목적지까지의 홉 수를 판단하는 데 사용될 수 있다.[10]5. 2. 홉 카운트 활용
홉 카운트는 데이터가 출발지에서 목적지까지 도달하는 데 거치는 중간 라우터의 개수를 세어 네트워크 내의 대략적인 거리를 측정하는 기본적인 기준으로 사용된다.[10] 또한, 네트워크 경로상의 문제를 진단하거나 라우팅이 올바르게 설정되었는지 확인하는 데 유용하게 활용될 수 있다.사용자는 트레이스경로나 ping과 같은 네트워크 진단 도구를 사용하여 특정 목적지까지의 홉 수를 직접 확인할 수 있다. 예를 들어, `ping` 명령어는 목적지까지 패킷을 보내면서 거치는 홉 수를 확인하는 기능을 포함하고 있으며, `traceroute`는 출발지부터 목적지까지 패킷이 거쳐가는 각 라우터의 정보와 함께 홉 수를 보여준다.
일부 라우팅 프로토콜은 경로를 결정하는 기준으로 홉 수를 사용한다. 대표적으로 RIP(Routing Information Protocol)는 홉 수를 유일한 메트릭으로 사용하여 가장 적은 수의 라우터를 거치는 경로를 최적 경로로 선택한다.[4][9] 하지만 홉 수는 각 경로의 속도, 부하, 신뢰성 등을 고려하지 않기 때문에, 홉 수가 적다고 해서 항상 가장 효율적인 경로는 아닐 수 있다.
라우터는 패킷을 전달할 때마다 해당 패킷의 TTL(Time To Live) 값을 1씩 감소시킨다. TTL은 패킷이 네트워크 내에서 무한정 순환하는 것을 방지하기 위한 값으로, 라우터를 하나 거칠 때마다(즉, 홉이 증가할 때마다) 줄어든다. 만약 TTL 값이 0이 되면 해당 라우터는 패킷을 폐기하여 네트워크 루프 발생 시 과도한 트래픽 유발을 막는다.
홉 카운트는 주로 계층 3에서 동작하는 라우터에 의해 관리된다. 반면, 이더넷 허브나 네트워크 브리지와 같은 계층 2 장비들은 패킷의 TTL 값을 변경하지 않으므로 홉 수 계산에 포함되지 않는다.
참조
[1]
서적
Internetworking with TCP/IP. Volume one
2014
[2]
서적
Internetworking with TCP/IP
2014
[3]
서적
Internetworking with TCP/IP. Volume one
2014
[4]
간행물
Routing Information Protocol
null
The Internet Society
1988-06
[5]
웹사이트
CCNP Practical Studies: Layer 3 Switching > Introduction to Layer 3 Switching
http://www.ciscopres[...]
2019-07-05
[6]
웹사이트
The Ars guide to building a Linux router from scratch
https://arstechnica.[...]
2024-12-18
[7]
웹사이트
Internet routing shows growing pains?again
https://arstechnica.[...]
2024-12-18
[8]
웹사이트
2.2.10. Disable Source Routing {{!}} Red Hat Product Documentation
https://docs.redhat.[...]
2024-12-18
[9]
간행물
Routing Information Protocol
null
The Internet Society
1988-06
[10]
웹인용
Hop Count
http://www.infocella[...]
Infocellar.com
2017-05-18
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com