KR101634033B1 - 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법 - Google Patents

릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법 Download PDF

Info

Publication number
KR101634033B1
KR101634033B1 KR1020150022570A KR20150022570A KR101634033B1 KR 101634033 B1 KR101634033 B1 KR 101634033B1 KR 1020150022570 A KR1020150022570 A KR 1020150022570A KR 20150022570 A KR20150022570 A KR 20150022570A KR 101634033 B1 KR101634033 B1 KR 101634033B1
Authority
KR
South Korea
Prior art keywords
dhcp
packet
received
address
network device
Prior art date
Application number
KR1020150022570A
Other languages
English (en)
Inventor
원종철
한승화
Original Assignee
주식회사 이노피아테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이노피아테크 filed Critical 주식회사 이노피아테크
Priority to KR1020150022570A priority Critical patent/KR101634033B1/ko
Application granted granted Critical
Publication of KR101634033B1 publication Critical patent/KR101634033B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • H04L61/2076
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 단말기가 브로드케스트 하는 DHCP 디스커버 패킷을 수신하면, 수신한 DHCP 디스커버 패킷을 맥 계층에서 처리되도록 변조하고, 변조된 DHCP 디스커버 패킷을 기설정된 DHCP 서버로 송신하고, DHCP 서버로부터 DHCP 제공 패킷을 수신하면, 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조하고, 변조된 DHCP 제공 패킷을 단말기로 송신하는 네트워크 장치 및 그 방법에 관한 것이다.

Description

릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법{Network Apparatus and Method including the relay agent function}
이하의 실시예들은 네트워크 장치에 관한 것으로, 특히, 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol)을 위해 DHCP 패킷을 중계하는 장치 및 방법에 관한 것이다.
네트워크(Network)에 연결된 장치는 IP 주소(Internet Protocol Address)를 가지고 네트워크 계층에서 통신을 수행한다. 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol)은 네트워크에 연결된 장치가 IP 주소를 자동으로 획득하여, 사용자가 별도로 IP 주소를 부여하지 않고도 네트워크 계층의 통신을 할 수 있도록 하기 위해서 사용된다.
IPv4의 DHCP는 최초 패킷(Packet)인 DHCP 디스커버(Discover) 패킷을 브로드케스트(broadcast)로 송신하여 처음 응답하는 DHCP 서버로부터 IP 주소를 획득하도록 설계되어 있다. 만약 DHCP 서버가 다른 네트워크 대역에 위치하게 될 경우 브로드케스트 된 DHCP 디스커버 패킷이 전달되지 않아 클라이언트(Client) 장치가 IP 주소를 획득하지 못하는 경우가 생길 수 있다. 이러한 경우 사용되는 것이 DHCP 릴레이 에이전트(DHCP Relay Agent)이다.
DHCP Relay Agent는 DHCP 서버와 클라이언트 사이에서 DHCP 패킷을 중계하는 역할을 수행한다. 하지만 DHCP Relay Agent는 응용(Application) 계층(layer)에서 동작하기 때문에 커널(Kernel) 영역을 벗어나, 구조적인 성능에 한계를 가진다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 DHCP 서버와 단말기 사이에서 DHCP 패킷을 맥 계층에서 처리되도록 변조하여 중계하는 네트워크 장치 및 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법은, 단말기가 브로드케스트 하는 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol) 디스커버(Discover) 패킷을 수신하는 단계; 상기 수신한 DHCP 디스커버 패킷을 맥 계층(layer)에서 처리되도록 변조하는 단계; 상기 변조된 DHCP 디스커버 패킷을 기설정된 DHCP 서버로 송신하는 단계: 상기 DHCP 서버로부터 DHCP 제공(Offer) 패킷을 수신하는 단계; 상기 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조하는 단계; 및 상기 변조된 DHCP 제공 패킷을 유니케스트로 상기 단말기로 송신하는 단계를 포함한다.
이때, 상기 수신한 DHCP 디스커버 패킷을 맥 계층에서 처리되도록 변조하는 단계는, 상기 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 1 로 변경하는 단계; 상기 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 상기 네트워크 장치의 IP 주소로 변경하는 단계; 상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 상기 네트워크 장치의 IP 주소로 변경하는 단계; 상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 상기 기설정된 DHCP 서버의 IP 주소로 변경하는 단계; 상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 기설정된 DHCP 서버의 MAC 주소로 변경하는 단계; 상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 상기 네트워크 장치의 MAC 주소로 변경하는 단계; 및 상기 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하여 수정하는 단계를 포함할 수 있다.
이때, 상기 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조하는 단계는, 상기 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경하는 단계; 상기 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경하는 단계; 상기 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 상기 수신한 DHCP 제공 패킷의 your_ip 값으로 변경하는 단계; 상기 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경하는 단계; 및 상기 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하여 수정하는 단계를 포함할 수 있다.
이때, 네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법은, 상기 변조된 DHCP 제공 패킷을 유니케스트로 상기 단말기로 송신한 후에, 상기 단말기로부터 DHCP 요청(Request) 패킷을 수신하는 단계; 상기 수신한 DHCP 요청 패킷을 맥 계층에서 처리되도록 변조하는 단계; 상기 변조된 DHCP 요청 패킷을 상기 DHCP 서버로 송신하는 단계: 상기 DHCP 서버로부터 DHCP 긍정응답(ACK) 패킷을 수신하는 단계; 상기 수신한 DHCP ACK 패킷을 맥 계층에서 처리되도록 변조하는 단계; 및 상기 변조된 DHCP ACK 패킷을 유니케스트로 상기 단말기로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 기설정된 DHCP 서버는, 복수개의 DHCP 서버들 중에서 기설정된 순서에 따라서 선택된 DHCP 서버일 수 있다.
본 발명의 다른 일 실시 예에 따른 네트워크 장치는, 단말기와 통신하는 제1 인터페이스부; 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol) 서버와 통신하는 제2 인터페이스부; DHCP 디스커버(Discover) 패킷을 맥 계층(layer)에서 처리되도록 변조하고, DHCP 제공(Offer) 패킷을 맥 계층에서 처리되도록 변조하는 패킷 변조부; 및 상기 제1 인터페이스부를 통해 상기 단말기가 브로드케스트 하는 상기 DHCP 디스커버 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 디스커버 패킷을 상기 제2 인터페이스부를 통해 기설정된 DHCP 서버로 송신하도록 제어하고, 상기 제2 인터페이스부를 통해 상기 DHCP 서버로부터 상기 DHCP 제공 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 제공 패킷을 상기 제1 인터페이스부를 통해 유니케스트로 상기 단말기로 송신하도록 제어하는 제어부를 포함한다.
이때, 상기 패킷 변조부는, 상기 DHCP 디스커버 패킷을 변조할 때, 상기 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 1 로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 상기 네트워크 장치의 IP 주소로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 상기 네트워크 장치의 IP 주소로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 상기 기설정된 DHCP 서버의 IP 주소로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 기설정된 DHCP 서버의 MAC 주소로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 상기 네트워크 장치의 MAC 주소로 변경하고, 상기 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하고 수정하여서 상기 변조된 DHCP 디스커버 패킷을 생성할 수 있다.
이때, 상기 패킷 변조부는, 상기 DHCP 제공 패킷을 변조할 때, 상기 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경하고, 상기 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경하고, 상기 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 상기 수신한 DHCP 제공 패킷의 your_ip 값으로 변경하고, 상기 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경하고, 상기 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하고 수정하여서 상기 DHCP 제공 패킷을 생성할 수 있다.
이때, 상기 패킷 변조부는 DHCP 요청(Request) 패킷을 맥 계층에서 처리되도록 변조하고, DHCP 긍정응답(ACK) 패킷을 맥 계층에서 처리되도록 변조하고, 상기 제어부는 상기 제1 인터페이스부를 통해 상기 단말기로부터 상기 DHCP 요청 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 요청 패킷을 상기 제2 인터페이스부를 통해 기설정된 DHCP 서버로 송신하도록 제어하고, 상기 제2 인터페이스부를 통해 상기 DHCP 서버로부터 상기 DHCP ACK 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP ACK 패킷을 상기 제1 인터페이스부를 통해 상기 단말기로 송신하도록 제어할 수 있다.
일 실시 예에서 DHCP 서버와 단말기 사이에서 DHCP 패킷을 맥 계층에서 처리되도록 변조하여 중계하기 때문에, 응용 계층에서 처리하던 기존의 DHCP Relay Agent 보다 상대적으로 빠른 처리 성능과 상대적으로 적은 메모리를 사용하는 효과를 가진다. 또한, 외부 네트워크에 오작동하는 DHCP 서버가 존재하는 경우에, 정상 동작하는 DHCP 서버에서 처리되도록 DHCP 서버를 특정할 수 있다.
도 1은 본 발명의 일 실시예에 따라 동적 호스트 설정 통신 규약을 위한 전체 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라 릴레이 에이전트 기능을 수행하는 네트워크 장치의 구성을 도시한 도면이다.
도 3은 IPv4DHCP 패킷의 패킷 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 장치에서 릴레이 에이전트 기능을 수행하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 네트워크 장치에서 DHCP 디스커버 패킷을 변조하는 과정을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 네트워크 장치에서 DHCP 제공 패킷을 변조하는 과정을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 네트워크 장치의 중계를 통해 단말기에서 IP 주소를 할당받는 과정을 도시한 도면이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서는, 본 발명의 일 실시 예에 따른 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법을 첨부된 도 1 내지 도 7을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따라 동적 호스트 설정 통신 규약을 위한 전체 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 단말기(110)는 IP 주소를 할당받기 위해서 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol) 디스커버(Discover) 패킷을 제1 네트워크(140)로 브로드케스트(broadcast) 한다.
동일한 네트워크에 존재하는 제1 DHCP 서버(131)과 제2 DHCP 서버(132)는 DHCP 디스커버 패킷에 응답으로 할당할 IP 주소를 포함하는 DHCP 제공(Offer) 패킷을 제1 네트워크(140)로 브로드케스트 한다.
하지만, 제1 네트워크(140) 내에 DHCP 서버가 존재하지 않거나 존재하더라도 정상적으로 동작하지 않으면, 단말기(110)는 다른 네트워크(120)로부터 IP 주소를 할당 받아야 한다.
네트워크 장치(120)는 제1 네트워크(140)에 존재하는 단말기(110)와 제2 네트워크(150)에 존재하는 제3 DHCP 서버(130) 사이에서 IP 주소 할당을 위한 DHCP 패킷을 중계한다. 이때, 네트워크 장치(120)는 중계하는 DHCP 패킷을 맥 계층에서 처리되도록 변조한다. 이때, 네트워크 장치(120)는 단말기(110)와는 브로드케스트로 통신하고, 제3 DHCP 서버(130)와는 유니케스트(unicast)로 통신할 수 있다. 그리고, 네트워크 장치(120)는 브리지 모듈(Bridge module)을 포함하여 구성할 수 있다.
도 2는 본 발명의 일 실시예에 따라 릴레이 에이전트 기능을 수행하는 네트워크 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 네트워크 장치(120)는 제1 인터페이스부(210), 제2 인터페이스부(220), 제어부(230) 및 패킷 변조부(240)를 포함할 수 있다.
제1 인터페이스부(210)는 브로드케스트로 단말기와 DHCP 패킷을 송/수신한다.
제2 인터페이스부(220)는 유니케스트로 기설정된 DHCP 서버와 DHCP 패킷을 송/수신한다.
패킷 변조부(240)는 제1 인터페이스부(210)를 통해 수신하는 DHCP 패킷을 맥 계층(layer)에서 처리되도록 변조하고, 제2 인터페이스부(220)를 통해 수신하는 DHCP 패킷을 맥 계층에서 처리되도록 변조한다.
DHCP 패킷은 DHCP 디스커버(Discover) 패킷, DHCP 제공(Offer) 패킷, DHCP 요청(Request) 패킷 및 DHCP 긍정응답(ACK) 패킷이 될 수 있다. 여기서, DHCP 디스커버 패킷은 IP 주소의 할당을 요청하기 위해 제일 처음 생성되는 패킷으로 단말기에 의해서 생성된다. DHCP 제공 패킷은 DHCP 디스커버 패킷을 수신한 DHCP 서버에서 IP 주소를 제공하기 위해 생성하는 패킷이다. DHCP 요청 패킷은 DHCP 제공 패킷을 수신한 단말기에서 할당된 IP 주소를 사용하겠다고 요청하는 패킷이다. DHCP ACK 패킷은 DHCP 요청 패킷은 수신한 DHCP 서버에서 DHCP 요청 패킷을 수신하였음을 단말기로 알리는 패킷이다.
DHCP 패킷의 구조는 도 3을 참조할 수 있다.
도 3은 IPv4DHCP 패킷의 패킷 구조를 도시한 도면이다.
도 3을 참조하여, DHCP 패킷을 변조하는 방법을 보다 상세히 후술한다.
패킷 변조부(240)는 DHCP 디스커버 패킷을 변조할 때, 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops의 값을 1 로 변경하고, 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 네트워크 장치의 IP 주소로 변경하고, 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 네트워크 장치의 IP 주소로 변경하고, 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 기설정된 DHCP 서버의 IP 주소로 변경하고, 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 기설정된 DHCP 서버의 MAC 주소로 변경하고, 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 네트워크 장치의 MAC 주소로 변경하고, 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하고 수정하여서 변조된 DHCP 디스커버 패킷을 생성한다.
패킷 변조부(240)는 DHCP 요청 패킷도 DHCP 디스커버 패킷과 동일한 방법으로 변조한다.
패킷 변조부(240)는 DHCP 제공 패킷을 변조할 때, 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경하고, 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경하고, 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 수신한 DHCP 제공 패킷의 your_ip 값으로 변경하고, 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경하고, 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하고 수정하여서 변조된 DHCP 제공 패킷을 생성한다.
패킷 변조부(240)는 DHCP ACK 패킷도 DHCP 제공 패킷과 동일한 방법으로 변조한다.
제어부(230)는 제1 인터페이스부(210)를 통해 단말기가 브로드케스트 하는 DHCP 디스커버 패킷을 수신하면 패킷 변조부(240)를 통해 변조하도록 제어하고, 변조된 DHCP 디스커버 패킷을 제2 인터페이스부(220)를 통해 기설정된 DHCP 서버로 송신하도록 제어한다.
제어부(230)는 제2 인터페이스부(220)를 통해 DHCP 서버로부터 DHCP 제공 패킷을 수신하면 패킷 변조부(240)를 통해 변조하도록 제어하고, 변조된 DHCP 제공 패킷을 제1 인터페이스부(210)를 통해 유니케스트로 단말기로 송신하도록 제어한다.
제어부(230)는 제1 인터페이스부(210)를 통해 단말기로부터 DHCP 요청 수신하면 패킷 변조부(240)를 통해 변조하도록 제어하고, 변조된 DHCP 요청 패킷을 제2 인터페이스부(220)를 통해 기설정된 DHCP 서버로 송신하도록 제어한다.
제어부(230)는 제2 인터페이스부(220)를 통해 DHCP 서버로부터 DHCP ACK 패킷을 수신하면 패킷 변조부(240)를 통해 변조하도록 제어하고, 변조된 DHCP ACK 패킷을 제1 인터페이스부(210)를 통해 단말기로 송신하도록 제어한다.
한편, 제어부(230)는 복수개의 DHCP 서브들 중에서 기설정된 순서에 따라서 기설정된 DHCP 서버를 선택할 수도 있다.
제어부(230)는 네트워크 장치(120)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(230)는 패킷 변조부(240)의 기능을 수행할 수 있다. 제어부(230)와 패킷 변조부(240)를 구분하여 도시한 것은 각 기능을 구별하여 설명하기 위함이다. 따라서 제어부(230)는 패킷 변조부(240)의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 네트워크 장치에서 중계할 때 맥 계층에서 DHCP가 처리되도록 하는 방법을 아래에서 도면을 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 네트워크 장치에서 릴레이 에이전트 기능을 수행하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 네트워크 장치(120)는 단말기가 브로드케스트 하는 DHCP 디스커버 패킷을 수신한다(410). 그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷을 맥 계층에서 처리되도록 변조한다(412). 변조하는 방법은 도 5를 통해 후술한다.
그리고, 네트워크 장치(120)는 변조된 DHCP 디스커버 패킷을 기설정된 DHCP 서버로 송신한다(414). 그리고, 네트워크 장치(120)는 DHCP 서버로부터 DHCP 제공(Offer) 패킷을 수신한다(416). 그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조한다(418). 변조하는 방법은 도 6을 통해 후술한다.
그리고, 네트워크 장치(120)는 변조된 DHCP 제공 패킷을 브로드케스트하여 단말기로 송신한다(420).
이후, 네트워크 장치(120)는 단말기로부터 DHCP 요청 패킷을 수신하면(422), 수신한 DHCP 요청 패킷을 맥 계층에서 처리되도록 변조한다(424). DHCP 요청 패킷을 변조하는 방법은 DHCP 디스커버 패킷을 변조하는 방법과 동일하며, 도 5를 참조하여 후술한다.
그리고, 네트워크 장치(120)는 변조된 DHCP 요청 패킷을 DHCP 서버로 송신한다(426).
그리고, 네트워크 장치(120)는 DHCP 서버로부터 DHCP 긍정응답(ACK) 패킷을 수신한다(428). 그리고, 네트워크 장치(120)는 수신한 DHCP ACK 패킷을 맥 계층에서 처리되도록 변조한다(430). DHCP ACK 패킷을 변조하는 방법은 DHCP 제공 패킷을 변조하는 방법과 동일하며, 도 6을 참조하여 후술한다.
그리고, 네트워크 장치(120)는 변조된 DHCP ACK 패킷을 유니케스트로 단말기로 송신한다(432).
도 5는 본 발명의 일 실시예에 따른 네트워크 장치에서 DHCP 디스커버 패킷을 변조하는 과정을 도시한 흐름도이다.
도 5를 참조하면, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 1 로 변경한다(510).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 네트워크 장치의 IP 주소로 변경한다(520).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 네트워크 장치의 IP 주소로 변경한다(530).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 기설정된 DHCP 서버의 IP 주소로 변경한다(540).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 기설정된 DHCP 서버의 MAC 주소로 변경한다(550).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 네트워크 장치의 MAC 주소로 변경한다(560).
그리고, 네트워크 장치(120)는 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하여 수정한다(570).
도 6은 본 발명의 일 실시예에 따른 네트워크 장치에서 DHCP 제공 패킷을 변조하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 네트워크 장치(120)는 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경한다(710).
그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경한다(720).
그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 수신한 DHCP 제공 패킷의 your_ip 값으로 변경한다(730).
그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조한다(740).
그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경한다(750).
그리고, 네트워크 장치(120)는 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하여 수정한다(760).
도 7은 본 발명의 일 실시예에 따라 네트워크 장치의 중계를 통해 단말기에서 IP 주소를 할당받는 과정을 도시한 도면이다.
도 7을 참조하면, 단말기(110)가 네트워크 장치(120)의 중계를 통해 DHCP 서버(130)로부터 IP 주소를 할당받는 과정은 크게 디스커버 단계(710), 제공 단계(720), 요청 단계(730) 및 응답 단계(740)의 4단계로 구분할 수 있다.
디스커버 단계(710), 제공 단계(720), 요청 단계(730) 및 응답 단계(740)를 보다 상세히 설명하면 다음과 같다.
단말기(110)는 IP 주소의 할당을 요청하는 DHCP 디스커버 패킷을 브로드케스트 한다(711).
네트워크 장치(120)는 DHCP 디스커버 패킷을 수신하면, 맥 계층에서 처리되도록 변조하고(712), 변조된 DHCP 디스커버 패킷을 DHCP 서버(130)로 송신한다(713).
DHCP 서버(130)는 변조된 DHCP 디스커버 패킷을 수신하면, IP 주소를 할당하고, 할당된 IP 주소를 포함하는 DHCP 제공 패킷을 네트워크 장치(120)로 송신한다(721).
네트워크 장치(120)는 DHCP 제공 패킷을 수신하면, 맥 계층에서 처리되도록 변조하고(722), 변조된 DHCP 제공 패킷을 유니케스트로 단말기(110)로 송신한다(723).
이후, 단말기(110)는 변조된 DHCP 제공 패킷에 포함된 IP 주소를 사용하고자 하는 경우, IP 주소를 사용을 요청하는 DHCP 요청 패킷을 브로드케스트 한다(731). 이때, DHCP 요청 패킷은 옵션 필드(option field)에 요청 패킷임이 표시된다.
네트워크 장치(120)는 DHCP 요청 패킷을 수신하면, 맥 계층에서 처리되도록 변조하고(732), 변조된 DHCP 요청 패킷을 DHCP 서버(130)로 송신한다(733).
DHCP 서버(130)는 변조된 DHCP 요청 패킷을 수신하면, 할당한 IP 주소가 사용됨을 확인하고, DHCP 요청 패킷을 수신하였음을 알리는 DHCP ACK 패킷을 네트워크 장치(120)로 송신한다(741). 이때, DHCP ACK 패킷은 옵션 필드(option field)에 릴레이 패킷(relay packet) 임이 표시된다.
네트워크 장치(120)는 DHCP ACK 패킷을 수신하면, 맥 계층에서 처리되도록 변조하고(742), 변조된 DHCP ACK 패킷을 유니케스트로 단말기(110)로 송신한다(743).
본 발명의 일 실시 예에 따른 네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
120; 네트워크 장치
210; 제1 인터페이스부
220; 제2 인터페이스부
230; 제어부
240; 패킷 변조부

Claims (10)

  1. 단말기가 브로드케스트 하는 동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol) 디스커버(Discover) 패킷을 수신하는 단계;
    상기 수신한 DHCP 디스커버 패킷을 맥 계층(layer)에서 처리되도록 변조하는 단계;
    상기 변조된 DHCP 디스커버 패킷을 기설정된 DHCP 서버로 송신하는 단계:
    상기 DHCP 서버로부터 DHCP 제공(Offer) 패킷을 수신하는 단계;
    상기 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조하는 단계; 및
    상기 변조된 DHCP 제공 패킷을 유니케스트로 상기 단말기로 송신하는 단계를 포함하고,
    상기 수신한 DHCP 디스커버 패킷을 맥 계층에서 처리되도록 변조하는 단계는,
    상기 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 1 로 변경하는 단계;
    상기 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 네트워크 장치의 IP 주소로 변경하는 단계;
    상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 상기 네트워크 장치의 IP 주소로 변경하는 단계;
    상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 상기 기설정된 DHCP 서버의 IP 주소로 변경하는 단계;
    상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 기설정된 DHCP 서버의 MAC 주소로 변경하는 단계;
    상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 상기 네트워크 장치의 MAC 주소로 변경하는 단계; 및
    상기 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하여 수정하는 단계를 포함하는
    네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 수신한 DHCP 제공 패킷을 맥 계층에서 처리되도록 변조하는 단계는,
    상기 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경하는 단계;
    상기 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경하는 단계;
    상기 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 상기 수신한 DHCP 제공 패킷의 your_ip 값으로 변경하는 단계;
    상기 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경하는 단계; 및
    상기 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하여 수정하는 단계를 포함하는
    네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법.
  4. 제1항에 있어서,
    상기 변조된 DHCP 제공 패킷을 유니케스트로 상기 단말기로 송신한 후에,
    상기 단말기로부터 DHCP 요청(Request) 패킷을 수신하는 단계;
    상기 수신한 DHCP 요청 패킷을 맥 계층에서 처리되도록 변조하는 단계;
    상기 변조된 DHCP 요청 패킷을 상기 DHCP 서버로 송신하는 단계:
    상기 DHCP 서버로부터 DHCP 긍정응답(ACK) 패킷을 수신하는 단계;
    상기 수신한 DHCP ACK 패킷을 맥 계층에서 처리되도록 변조하는 단계; 및
    상기 변조된 DHCP ACK 패킷을 유니케스트로 상기 단말기로 송신하는 단계를 더 포함하는
    네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법.
  5. 제1항에 있어서,
    상기 기설정된 DHCP 서버는,
    복수개의 DHCP 서버들 중에서 기설정된 순서에 따라서 선택된 DHCP 서버인
    네트워크 장치에서 릴레이 에이전트 기능을 수행하는 방법.
  6. 제1항, 제3항, 제4항 및 제5항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  7. 단말기와 통신하는 제1 인터페이스부;
    동적 호스트 설정 통신 규약(DHCP; dynamic host configuration protocol) 서버와 통신하는 제2 인터페이스부;
    DHCP 디스커버(Discover) 패킷을 맥 계층(layer)에서 처리되도록 변조하고, DHCP 제공(Offer) 패킷을 맥 계층에서 처리되도록 변조하는 패킷 변조부; 및
    상기 제1 인터페이스부를 통해 상기 단말기가 브로드케스트 하는 상기 DHCP 디스커버 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 디스커버 패킷을 상기 제2 인터페이스부를 통해 기설정된 DHCP 서버로 송신하도록 제어하고, 상기 제2 인터페이스부를 통해 상기 DHCP 서버로부터 상기 DHCP 제공 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 제공 패킷을 상기 제1 인터페이스부를 통해 유니케스트로 상기 단말기로 송신하도록 제어하는 제어부를 포함하고,
    상기 패킷 변조부는,
    상기 DHCP 디스커버 패킷을 변조할 때,
    상기 수신한 DHCP 디스커버 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 1 로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 relay_ip의 값을 네트워크 장치의 IP 주소로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 소스 IP 주소를 상기 네트워크 장치의 IP 주소로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 IP 헤더의 목적지 IP 주소를 상기 기설정된 DHCP 서버의 IP 주소로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 기설정된 DHCP 서버의 MAC 주소로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 이더넷 헤더의 소스 MAC 주소를 상기 네트워크 장치의 MAC 주소로 변경하고,
    상기 수신한 DHCP 디스커버 패킷의 체크섬(checksum)을 재계산하고 수정하여서 상기 변조된 DHCP 디스커버 패킷을 생성하는
    네트워크 장치.
  8. 삭제
  9. 제7항에 있어서,
    상기 패킷 변조부는,
    상기 DHCP 제공 패킷을 변조할 때,
    상기 수신한 DHCP 제공 패킷에서 DHCP 중계 여부를 나타내는 u8 hops 값을 0으로 변경하고,
    상기 수신한 DHCP 제공 패킷의 relay_ip의 값을 0으로 변경하고,
    상기 수신한 DHCP 제공 패킷의 IP 헤더의 목적지 IP 주소를 상기 수신한 DHCP 제공 패킷의 your_ip 값으로 변경하고,
    상기 수신한 DHCP 제공 패킷의 이더넷 헤더의 목적지 MAC 주소를 상기 수신한 DHCP 제공 패킷의 hw_addr 값으로 변경하고,
    상기 수신한 DHCP 제공 패킷의 체크섬(checksum)을 재계산하여 수정하는
    네트워크 장치.
  10. 제7항에 있어서,
    상기 패킷 변조부는,
    DHCP 요청(Request) 패킷을 맥 계층에서 처리되도록 변조하고, DHCP 긍정응답(ACK) 패킷을 맥 계층에서 처리되도록 변조하고,
    상기 제어부는,
    상기 제1 인터페이스부를 통해 상기 단말기로부터 상기 DHCP 요청 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP 요청 패킷을 상기 제2 인터페이스부를 통해 기설정된 DHCP 서버로 송신하도록 제어하고, 상기 제2 인터페이스부를 통해 상기 DHCP 서버로부터 상기 DHCP ACK 패킷을 수신하면 상기 패킷 변조부를 통해 변조하도록 제어하고, 상기 변조된 DHCP ACK 패킷을 상기 제1 인터페이스부를 통해 상기 단말기로 송신하도록 제어하는
    네트워크 장치.
KR1020150022570A 2015-02-13 2015-02-13 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법 KR101634033B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150022570A KR101634033B1 (ko) 2015-02-13 2015-02-13 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150022570A KR101634033B1 (ko) 2015-02-13 2015-02-13 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101634033B1 true KR101634033B1 (ko) 2016-06-27

Family

ID=56344660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150022570A KR101634033B1 (ko) 2015-02-13 2015-02-13 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101634033B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006712A1 (en) * 2002-06-22 2004-01-08 Huawei Technologies Co., Ltd. Method for preventing IP address cheating in dynamic address allocation
KR20050038448A (ko) * 2003-10-22 2005-04-27 주식회사 케이티 적응적 동적 ip 주소 관리 시스템 및 관리 방법
WO2013086870A1 (en) * 2011-12-15 2013-06-20 Hangzhou H3C Technologies Co., Ltd. Method and device for dynamically selecting a dhcp server for a client terminal device
KR101382527B1 (ko) * 2012-11-23 2014-04-07 유넷시스템주식회사 에이알피 포이즈닝 방지를 위한 네트워크 보안방법 및 보안시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006712A1 (en) * 2002-06-22 2004-01-08 Huawei Technologies Co., Ltd. Method for preventing IP address cheating in dynamic address allocation
KR20050038448A (ko) * 2003-10-22 2005-04-27 주식회사 케이티 적응적 동적 ip 주소 관리 시스템 및 관리 방법
WO2013086870A1 (en) * 2011-12-15 2013-06-20 Hangzhou H3C Technologies Co., Ltd. Method and device for dynamically selecting a dhcp server for a client terminal device
KR101382527B1 (ko) * 2012-11-23 2014-04-07 유넷시스템주식회사 에이알피 포이즈닝 방지를 위한 네트워크 보안방법 및 보안시스템

Similar Documents

Publication Publication Date Title
US8539055B2 (en) Device abstraction in autonomous wireless local area networks
US9438555B2 (en) Communicating with a distribution system via an uplink access point
KR20190013964A (ko) IoT 디바이스 접속, 발견 및 네트워킹
US20200008126A1 (en) Route delivery method and device
US9756148B2 (en) Dynamic host configuration protocol release on behalf of a user
WO2020038325A1 (zh) 网络接入方法、无线终端接入设备以及下接设备
US11902047B2 (en) Virtual intranet acceleration method and system, configuration method, storage medium, and computer apparatus
JP6693799B2 (ja) 中継方法並びに対応する通信ネットワークデバイス、システム、コンピュータプログラム及びコンピュータ可読記憶媒体
CN114342332A (zh) 一种通信方法、装置及系统
WO2012136006A1 (zh) 多归属站点内主机的路由选择方法和装置
US20150319132A1 (en) Method, terminal, and server for providing communication service
US9503418B2 (en) Method and apparatus for obtaining remote IP address
EP3703343A1 (en) Method and device for configuring service flow
US9948598B2 (en) Delivery control device, data delivery system, delivery control method, and non-transitory computer readable medium storing delivery control program
US9825906B2 (en) System and method for interconnecting local systems and cloud systems to provide seamless communications
US20180152345A1 (en) Domain name system address configuration method and device and computer storage medium
KR20170014853A (ko) Sdn 기반의 트래픽 처리 방법
CN111669309B (zh) 一种建立VxLAN的方法及无线控制器、交换机
WO2016177185A1 (zh) 媒体访问控制mac地址的处理方法及装置
KR101634033B1 (ko) 릴레이 에이전트 기능을 포함하는 네트워크 장치 및 방법
US20220321565A1 (en) Forwarding method and device, and broadband remote access server forwarding plane
KR101842971B1 (ko) 서버 장치 및 통신 중계 장치를 포함하는 네트워크 시스템과 통신 중계 방법, ip 할당 방법
US20180077112A1 (en) Ip address allocation method in d2d communication and user equipment
WO2017219777A1 (zh) 一种报文处理方法及装置
EP4117251A1 (en) Method, apparatus and system for realizing carrier grade network address translation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 4