KR100624686B1 - 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법 - Google Patents

패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법 Download PDF

Info

Publication number
KR100624686B1
KR100624686B1 KR1020040060590A KR20040060590A KR100624686B1 KR 100624686 B1 KR100624686 B1 KR 100624686B1 KR 1020040060590 A KR1020040060590 A KR 1020040060590A KR 20040060590 A KR20040060590 A KR 20040060590A KR 100624686 B1 KR100624686 B1 KR 100624686B1
Authority
KR
South Korea
Prior art keywords
packet
big message
ipv6
mtu
router
Prior art date
Application number
KR1020040060590A
Other languages
English (en)
Other versions
KR20060011656A (ko
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 KR1020040060590A priority Critical patent/KR100624686B1/ko
Publication of KR20060011656A publication Critical patent/KR20060011656A/ko
Application granted granted Critical
Publication of KR100624686B1 publication Critical patent/KR100624686B1/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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

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

Abstract

본 발명은 IPv6 천이 터널을 사용시 IPv6 패킷에 대한 MTU 정보를 포함한 packet too big 메시지를 미리 브로드캐스트하여 패킷이 유실되는 것을 방지하기 위한 패킷 투 빅 메시지 포맷과 이를 이용하여 아이피브이식스 천이 터널에서 최대전송단위를 설정하는 시스템 및 그 방법에 관한 것으로서, IPv4(Internet Protocol version 4) 망 내에 IPv6(Internet Protocol version 6) 천이(transit) 터널(tunnel)이 구성되는 단계; IPv6 천이 라우터에서 터널 인터페이스에 대한 MTU를 설정시 해당 인터페이스의 기본 MTU에서 캡슐화될 IPv4 헤더의 길이만큼 줄여서 MTU를 설정하여 packet too big 메시지를 송신측 노드로 브로드캐스트하는 단계; 및 송신측 노드에 해당하는 라우터는 packet too big 메시지를 수신하여 해당 MTU 정보에 따라 패킷을 단편화(fragmentation)하여 IPv6 천이 라우터로 전송하는 단계를 포함하여 특징이 있다.
IPv6, IPv4, 트랜지션, MTU, Packet Too Big, ICMPv6, MTU 디스커버리

Description

패킷 투 빅 메시지를 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법{System and Method for setting packet Maximum Transmission Unit of IPv6 transition tunnel using Packet too big message}
도 1은 일반적인 IPv6 천이 망 구조를 개략적으로 도시한 도면,
도 2a는 일반적인 path MTU 디스커버리 과정의 첫 번째 단계에 관한 도면,
도 2b는 도 2a 과정 이후의 단계에 관한 도면,
도 2c는 도 2b 과정 이후의 단계에 관한 도면,
도 3은 종래의 path MTU 디스커버리 과정에 관한 흐름도,
도 4는 종래의 path MTU 디스커버리 과정시 전달되는 packet to discovery 메시지 포맷에 관한 도면,
도 5는 본 발명에 따라 path MTU 디스커버리 과정시 전달되는 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 경우의 개략적인 구성도,
도 6은 본 발명에 따라 path MTU 디스커버리 과정시 전달되는 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에 Loop 이 발생되는 경우에 관한 개략적인 구성도,
도 7은 본 발명을 구현하기 위한 path MTU 디스커버리 과정시 전달되는 packet to discovery 메시지 포맷에 관한 도면,
도 8은 본 발명의 제 1실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에 관한 흐름도,
도 9는 본 발명의 제 2실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에서 Loop 발생되는 경우에 관한 흐름도,
도 10은 본 발명의 제 3실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에서 Loop 발생되는 경우에 관한 흐름도.
<도면의 주요 부분에 대한 부호 설명>
F1 : 타입 필드 F2 : 코드 필드
F3 : 검사합 필드 F4 : MTU 필드
F5 : IP 데이터그램 필드 F6 : 시퀀스 No. 필드
본 발명은 IPv6 천이 메커니즘에 관한 것으로서, 특히 IPv6 천이 터널을 사용시 IPv6 패킷에 대한 MTU 정보를 포함한 packet too big 메시지를 미리 브로드캐스트하여 패킷이 유실되는 것을 방지하기 위한 패킷 투 빅 메시지 포맷를 이용하여 아이피브이식스 천이 터널에서 최대전송단위를 설정하는 시스템 및 그 방법에 관한 것이다.
인터넷에는 엄청나게 많은 시스템이 존재하기 때문에 IPv4에서 IPv6로 천이 가 급격하게 일어날 수는 없다. 인터넷상의 모든 시스템이 IPv4에서 IPv6로 전환하는데는 많은 시간이 필요하다. 따라서 천이는 IPv4 시스템과 IPv6 시스템 사이에 발생되는 문제를 방지하기 위해 점진적으로 이루어져야 한다.
이러한 전략은 IETF에 의해 고안되었는데, 세가지(이중 스택, 터널링, 헤더 변환) 천이 전략으로 구분된다.
이중 스택(dual stack)은 버전 6으로 완전하게 이전하기 전에 모든 호스트가 이중스택 프로토콜을 갖는 것을 의미한다. 즉, 인터넷의 모든 시스템이 IPv6를 사용할 때까지 IPv4와 IPv6를 동시에 운용해야 한다는 것이다.
헤더 변환(header translation)은 대부분의 인터넷이 IPv6을 사용하지만 아직도 일부 시스템이 IPv4를 사용하는 경우에 필요하다. 송신자는 IPv6을 사용하길 원하나 수신자는 IPv6를 이해하지 못할 때 패킷이 수신자가 이해할 수 있는 IPv4 형식으로 되어야 하기 때문에 터널링은 이러한 상황에서는 동작하지 않으므로 이때 헤더변환이 필요하다.
본 발명은 터널링에 관련된 기술로서, 종래의 IPv6 천이 메커니즘 중 터널링에 관하여 설명하기로 한다.
터널링(tunneling)은 도 1을 참조하여 설명하기로 한다.
도 1은 일반적인 IPv6 천이 망 구조를 개략적으로 도시한 도면이다.
IPv6를 사용하는 두 컴퓨터가 서로 통신하려고 하는데 IPv4를 사용하는 영역을 통과해야만 할 때 사용되는 전략으로서, 이 영역을 통과하기 위해 패킷은 IPv4 주소를 가져야만 한다. IPv6 패킷은 그 영역에 들어갈 때 IPv4 패킷 내에 캡슐화되 고, 그 영역을 나올 때 역캡슐화된다. 이것은 마치 IPv6 패킷의 터널의 한쪽으로 들어가 다른 쪽으로 빠져나오는 것과 같다.
이때 IPv6 패킷에 대한 최대전송단위(Maximum Transmission Unit, 이하 'MTU'라 함)는 IPv4 헤더의 길이(20바이트)만큼 줄어들 수 밖에 없고, IPv6망에서는 IPv4망과 다르게 전송된 패킷을 중간노드에서 분할할 수 없기 때문에 소스 노드에서 path MTU 디스커버리를 수행하여야 한다.
IPv6 천이 터널을 통과하기 위해서는 IPv6 패킷에 IPv4 헤더 20바이트를 추가하여야 한다. 이러한 캡슐화과정에서 패킷 사이즈는 IPv6 패킷 사이즈에 20바이트를 추가한 크기가 된다.
이더넷으로 구성된 망에서 모든 MTU가 기본값인 1500으로 설정되어 있다면, IPv6패킷의 크기가 1500바이트인 패킷이 IPv6 천이 터널을 통과하면 1520바이트가 되므로 터널을 통과할 수 없다. IPv6에서는 어떤 패킷도 중간노드에서 다시 분할될 수 없으므로 path MTU 디스커버리를 수행해야 한다.
상기와 같은 현상을 도면을 참조하여 상세히 설명하면 다음과 같다.
도 2a는 일반적인 path MTU 디스커버리 과정의 첫 번째 단계에 관한 도면이고, 도 2b는 도 2a 과정 이후의 단계에 관한 도면이고, 도 2c는 도 2b 과정 이후의 단계에 관한 도면이다. 도 2a,2b,2c 과정은 RFC1981에 상세히 제시되어 있다.
A 노드에서 B 노드로 1500바이트의 패킷을 전송하면, B 노드와 C 노드의 MTU(1480바이트)는 전송해야 할 패킷 사이즈 1500바이트보다 작게 설정되어 있으므로 packet too big 메시지를 송신측에 전송하여 더 작은 패킷 사이즈로 분할하여 재전송하도록 한다. A 노드는 packet too big 메시지 내의 MTU 필드로부터 패킷 사이즈 정보(1480바이트)를 추출하여 이후 1480 바이트 단위의 패킷을 전송한다.
그런데, 만약 D 노드의 MTU가 1460이면, C 노드는 packet too big 메시지를 송신측에 전송하여, 더 작은 패킷 사이즈로 분할하도록 한다.
A 노드는 packet too big 메시지 내의 MTU 필드로부터 패킷 사이즈 정보(1460바이트)를 추출하여 이후 1460 바이트 단위의 패킷을 전송한다.
상기 과정은 다음과 같은 흐름으로 전개될 수 있다.
도 3은 종래의 path MTU 디스커버리 과정에 관한 흐름도이다.
임의의 노드에서 이전 노드로부터 패킷을 수신하게 되면(S1), 패킷 크기가 설정된 MTU 보다 큰지를 비교하여(S2), MTU와 같은 크기의 패킷이거나 작은 패킷인 경우 다음 노드로 패킷을 전달한다(S6).
MTU보다 큰 크기의 패킷인 경우, 이전 노드(송신측)로 packet too big 메시지를 전송한다(S3).
상기 packet too big 메시지는 도 4를 참조하여 후술하기로 한다.
이전 노드(송신측)는 packet too big 메시지 내의 MTU 필드에 기록된 패킷 최대 전송 단위 만큼 패킷을 단편화(fragmentation)하여(S4), 패킷을 재전송한다(S5).
packet too big 메시지를 설명하기 전에 기본적인 ICMP(Internet Control Message Protocol)메시지 형식을 알아보기로 한다.
본 발명에서 적용되는 ICMP는 ICMPv6를 의미하며, ICMPv6를 이해하기 위해서 는 ICMPv4에 대한 이해가 선행되어야 할 것이다.
이하, ICMPv4를 설명하면, 인터넷 제어 메시지 프로토콜(ICMP:Internet Control Message Protocol)(ICMPv4를 의미함)은 IP 프로토콜의 단점인 오류 제어와 지원 메커니즘을 보완하기 위해서 설계된 프로토콜로서, ICMP 메시지는 표 1과 같이 오류 보고 메시지(Error-reporting messages)와 질의 메시지(query messages)로 나눌 수 있다.
Category Type Message
Error reporting messages 3 Destination unreachable
4 Source quench
11 Time exceeded
12 Parameter problem
5 Redirection
Query messages 8 또는 0 Echo request 또는 reply
13 또는 14 Timestamp request 또는 reply
17 또는 18 Address mask request 또는 reply
10 또는 9 Router solicitation 또는 advertisement
ICMPv6은 ICMPv4와 동일한 전략과 목적을 가지며 IPv6에 더 잘 적응되도록 수정된 버전이다. 또한 버전 4에서 독립적이었던 일부 프로토콜(ARP와 IGMP 등등)이 ICMPv6에 합쳐졌다.
ICMP 메시지의 일반적인 형식이 각 메시지 형태에 따라 서로 다르더라도 첫 4바이트는 모두 Type이라는 필드로 공통적으로 사용된다.
Type은 메시지의 유형을 의미하며, 코드는 그 메시지 안에서 상세한 정보를 표시할 필요있을 때 사용되는 필드이다.
packet too big 메시지는 버전 6에서 추가된 유형으로서, 라우터가 데이터그 램이 통과해야 하는 네트워크의 최대전송단위 크기보다 더 큰 데이터그램을 받게 되면 두가지 일이 발생한다. 먼저 라우터는 데이터그램을 버린다. 그리고 나서 ICMP 오류 패킷을 발신지로 보내는데 이때 보내지는 메시지가 packet too big 메시지인 것이다.
도 4는 종래의 path MTU 디스커버리 과정시 전달되는 packet to discovery 메시지 포맷에 관한 도면이다.
도 4를 참조하면, packet too big 메시지는 type 필드(F1)에서 2의 값을 가지며, code 필드(F2)는 오직 한 개의 0값 만이 존재하고, 검사합 필드(F3)가 있으며, MTU 필드(F4)는 송신자에게 네트워크에 의해 받아들여지는 최대 크기의 패킷을 알리며, IP 데이터그램 필드가 포함된다.
상기와 같이 이루어지는 종래기술은, path MTU 디스커버리 과정 자체가 최초 패킷이 전송된 이후 다음 노드로부터 packet too big 메시지가 되돌아와서 다시 패킷을 재전송할 때까지의 패킷들은 모두 다음 노드에서 버려지며, 이렇게 버려지는 패킷들은 망에 부하가 될 수 있고, 이러한 과정 자체에 걸리는 시간으로 인해 전송지연이 발생하는 문제점이 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, IPv6 천이 터널이 생성될 시점이나 시스템 초기화시에 미리 packet too big 메시지를 브로드캐스트하여 path MTU 디스커버리 과정을 수행토록 하고, 이러한 브로드캐스트 패킷이 네트워크내에서 loop되지 않도록 하는 알고리즘을 제공하는데 목적이 있다.
이러한 이러한 목적을 달성하기 위한 본 발명에 따른 패킷 투 빅 메시지 포맷은, 메시지 형식을 정의하는 타입 필드; 같은 유형(Type)안에서 루프(loop)가 발생되지 않는 망구조와 상기 루프가 발생되는 망구조에 따라 세분화되는 코드 필드; 메시지 오류 체크를 위한 검사합필드; 패킷 최대 전송 단위를 나타내는 MTU 필드; 실제 데이터에 대한 IP 데이터그램 필드; 상기 코드 필드의 값이 상기 루프 발생에 따른 망구조의 값을 갖는 경우, 송신측 IPv6 라우터가 이전에 수신한 packet too big 메시지와의 메시지 비교를 수행하도록 제공하는 시퀀스 No. 필드를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 시스템은, IPv4 망 내에 IPv6 천이 터널이 구성되면, 상기 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키고, 상기 감소된 MTU가 포함된 packet too big 메시지를 송신측 노드로 브로드캐스트하는 IPv6 천이 라우터; 상기 IPv6 천이 라우터로부터 상기 packet too big 메시지를 수신하여, 상기 포함된 MTU 정보에 따라 패킷을 단편화하고, 더 이전의 송신측 노드로 상기 수신된packet too big 메시지를 브로드캐스트하는 다수개의 송신측 IPv6 라우터를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법은, IPv4 망 내에 IPv6 터널이 구성되는 단계; IPv6 천이 라우터가 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키고, 상기 감소된 MTU가 포함된 packet too big 메시지를 송신측 노드로 브로드캐스트하는 단계; 상기 송신측 노드에 포함된 다수개의 라우터가 상기 packet too big 메시지를 수신하여, 상기 포함된 MTU 정보에 따라 패킷을 단편화하고, 상기 단편화된 패킷을 상기 IPv6 천이 라우터로 전송하는 단계를 포함한다.
이하, 본 발명이 속하는 분야에 통상의 지식을 지닌자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
IPv6 천이 망을 구성시, IPv6 천이를 위해 캡슐화를 수행하는 천이 라우터에 터널(tunnel)을 설정하는데, 이 터널 인터페이스에 대한 MTU는 해당 인터페이스의 기본 MTU(이더넷의 경우 1500바이트)에서 캡슐화될 IPv4 헤더의 길이(20바이트)만큼 줄어들게 설정되어야 한다.
이 시점에서 천이 라우터는 해당 터널 인터페이스를 제외한 IPv6 패킷이 수신될 다른 모든 인터페이스로 IPv6 packet too big 메시지를 브로드캐스트한다.
이러한 패킷 packet too big 메시지를 수신한 라우터는 도 5와 같이 packet too big 메시지를 처리한다.
도 5는 본 발명에 따라 path MTU 디스커버리 과정시 전달되는 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 경우의 개략적인 구성도이다.,
도 5를 참조하면, IPv6 천이 라우터에서 송신측 이전 노드들로 packet too big 메시지를 브로드캐스트하면, 이를 받은 라우터는 송신측 이전노드에 해당하는 라우터로 packet too big 메시지를 브로드캐스트하여 전달하여 준다.
한편, 이러한 망 구조에서는 문제가 없지만 도 6과 같이 loop이 발생되는 구조에서는 무한대로 packet too big 메시지가 반복 전송될 수 있다.
상기 loop 발생여부는 시스템 관리자 또는 운영자가 망을 구성시 그 구조를 알 수 있으므로, loop 발생 여부에 따라 운영자가 packet too big 메시지의 내의 코드 필드 값을 서로 다른 값으로 세팅하여 packet too big 메시지가 반복 전송되는 것을 방지할 수 있다.
도 6은 본 발명에 따라 path MTU 디스커버리 과정시 전달되는 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에 Loop이 발생되는 경우에 관한 개략적인 구성도이다.
도 6과 같이 loop이 발생되는 구조에서는 ICMPv6 packet too big 메시지 구조에 수정이 필요한데 도 4에 도시된 packet too big 메시지 구조를 살펴보면, code 필드의 값이 항상 0이므로 수신측에서는 code 필드의 값에 대해 고려할 필요가 없었다. 따라서, code 필드의 값을 0과 1로 구분할 수 있도록 하여 0인 경우와 1인 경우에 packet too big 메시지 브로드캐스트 방법을 달리하도록 한다.
이때, 상기 code 필드의 값은 0, 1 이외의 다른 값으로도 세팅가능하며, 본 발명에서는 0, 1로 구분하는 것을 예로 들어 설명하기로 한다.
도 7은 본 발명을 구현하기 위한 path MTU 디스커버리 과정시 전달되는 packet to discovery 메시지 포맷에 관한 도면이다.
도 7을 참조하면, type 필드(F1)는 packet too big 메시지 유형을 나타내기 위해 2값을 나타내며, code 필드(F2)는 0 또는 1 값을 나타내어 packet too big 메시지 브로드캐스트 여부를 알 수 있도록 하며, 검사합(checksum) 필드(F3)와 MTU 필드(F4) 그리고 IP 데이터그램 필드(F5)가 종래와 동일하게 제공되고, 코드 필드(F2)의 값이 1 인 경우, 시퀀스 No.를 붙이도록 하여 브로드캐스트되어 오는 packet too big 메시지가 이전에 수신했던 packet too big 메시지인지의 여부를 체크할 수 있도록 한다.
만약 코드 필드(F2)의 값이 0이면, 이 경우는 시퀀스 No.와 무관하게 기존과 동일한 방식으로 packet too big 메시지를 처리한다.
이하, 상기 도 5에 도시된 구조의 시스템에서 packet too big 메시지를 브로드캐스트 하는 과정을 살펴보기로 한다.
도 8은 본 발명의 제 1실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에 관한 흐름도이다.
도 8을 참조하면, 먼저 IPv6 천이 망을 구성하여, IPv6 천이를 위해 캡슐화를 수행하는 천이 라우터에 터널(tunnel)을 설정하기 위한 시스템 초기화가 수행된다(S11).
이때 초기화 과정은 이 터널 인터페이스에 대한 MTU를 설정시, 해당 인터페이스의 기본 MTU(이더넷의 경우 1500바이트)에서 캡슐화될 IPv4 헤더의 길이(20바이트)만큼 줄어들게 설정되어야 한다.
이러한 과정이 완료되자 마자, IPv6 천이 라우터는 송신측에 해당하는 이전노드로 packet too big 메시지를 브로드캐스트한다(S12).
packet too big 메시지를 수신한 노드는 packet too big 메시지에 포함한 MTU 값과 노드에 설정된 path MTU 값을 비교하여 값이 다르면 path MTU 값을 수정하고, 이 값에 따라 패킷을 단편화(fragmentation)한 후(S13), IPv6 천이 라우터로 패킷을 송신한다.
한편, loop이 발생되는 구조에서의 packet too big 메시지를 브로드캐스트 하는 과정을 살펴보면, 두가지 실시예로 나눌수 있다.
두가지 실시예는, loop 발생을 억제하기 위해 시퀀스 No.를 추가하는 방법에 있어서 IPv6 천이 라우터에서 브로드캐스트할 packet too big 메시지 발생시 마다 시퀀스 No.를 변경하는 경우와, 각 노드에 있는 라우터에서 packet too big 메시지 수신시 시퀀스 No.를 1씩 증가시키는 경우로 구분된다.
먼저 전자의 실시예를 설명하면 다음과 같다.
도 9는 본 발명의 제 2실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에서 Loop 발생되는 경우에 관한 흐름도이다.
먼저 IPv6 천이 망을 구성하여, IPv6 천이를 위해 캡슐화를 수행하는 천이 라우터에 터널(tunnel)을 설정하기 위한 시스템 초기화가 수행된다(S21).
이때 초기화 과정은 이 터널 인터페이스에 대한 MTU를 설정시, 해당 인터페이스의 기본 MTU(이더넷의 경우 1500바이트)에서 캡슐화될 IPv4 헤더의 길이(20바이트)만큼 줄어들게 설정되어야 한다.
이러한 과정이 완료되자 마자, IPv6 천이 라우터는 packet too big 메시지의 코드 필드(F2)를 1로 설정하고 시퀀스 No.를 부여하여 송신측에 해당하는 이전노드로 packet too big 메시지를 브로드캐스트한다(S22).
packet too big 메시지를 수신한 노드는 코드 필드(F2)를 체크하여 코드필드가 0이면 기존의 방식과 동일하게 시퀀스 No.와 무관하게 packet too big 메시지를 브로드캐스트한다.
그러나, 코드 필드(F2)를 체크하여 코드필드가 1이면 시퀀스 No.를 체크하여(S23), 시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No.와 같은지를 비교한다(S24).
시퀀스 No.가 같을 경우 packet too big 메시지에 포함한 MTU 값과 노드에 설정된 path MTU 값을 비교하여 값이 다르면 path MTU 값을 수정하고, 이 값에 따라 패킷을 단편화(fragmentation) IPv6 천이 라우터로 패킷을 송신한다(S25).
시퀀스 No.가 다를 경우 이전에 수신한 packet too big 메시지로 간주하여 packet too big 메시지를 버린다(discard)(S26).
이러한 과정을 통해 송신측에서 패킷을 전송하기 전에 송신측 노드로 packet too big 메시지가 미리 브로드캐스트되면 packet too big 메시지가 되돌아오면 패킷을 다시 분할하여 재전송하는 동안 유실되던 것을 해결할 수 있게 된다.
이하, 후자의 실시예를 설명하면 다음과 같다.
도 10은 본 발명의 제 3실시예에 따라 packet too big 메시지를 패킷 수신전에 브로드캐스트하는 과정에서 Loop 발생되는 경우에 관한 흐름도이다.
먼저 IPv6 천이 망을 구성하여, IPv6 천이를 위해 캡슐화를 수행하는 천이 라우터에 터널(tunnel)을 설정하기 위한 시스템 초기화가 수행된다(S31).
이때 초기화 과정은 이 터널 인터페이스에 대한 MTU를 설정시, 해당 인터페이스의 기본 MTU(이더넷의 경우 1500바이트)에서 캡슐화될 IPv4 헤더의 길이(20바이트)만큼 줄어들게 설정되어야 한다.
이러한 과정이 완료되자 마자, IPv6 천이 라우터는 packet too big 메시지의 코드 필드(F2)를 1로 설정하고 시퀀스 No.를 부여하여 송신측에 해당하는 이전노드로 packet too big 메시지를 브로드캐스트한다(S32).
packet too big 메시지를 수신한 노드는 코드 필드(F2)를 체크하여 코드필드가 0이면 기존의 방식과 동일하게 시퀀스 No.와 무관하게 packet too big 메시지를 브로드캐스트한다.
그러나, 코드 필드(F2)를 체크하여 코드필드가 1이면 시퀀스 No.를 체크하여(S33), 시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No.보다 큰지를 비교한다(S34).
시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No.보다 큰 경우, packet too big 메시지에 포함한 MTU 값과 노드에 설정된 path MTU 값을 비교하여 값이 다르면 path MTU 값을 수정하고(S35), 시퀀스 No. 필드의 값을 1 증가시킨 후(S36), 패킷을 단편화(fragmentation)하여 IPv6 천이 라우터로 패킷을 송신한다(S37).
S34에서, 시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No. 보다 크지 않은 경우 즉 같거나 작은 경우, 이전에 수신한 packet too big 메시지로 간주하여 packet too big 메시지를 버린다(discard)(S38).
이러한 과정을 통해 송신측에서 패킷을 전송하기 전에 송신측 노드로 packet too big 메시지가 미리 브로드캐스트되면 packet too big 메시지가 되돌아오면 패킷을 다시 분할하여 재전송하는 동안 유실되던 것을 해결할 수 있게 된다.
상기 제 1 실시예, 제 2실시예 및 제 3실시예에 설명하지는 않았지만, path MTU가 설정되면 일정한 기간동안 유지되는데, 이 시간이 경과되면 path MTU값이 사라지고 원래 인터페이스의 MTU 값으로 변경되므로 이때 다시 종래의 path MTU 디스커버리가 수행되면 몇몇 패킷들은 버려지게 된다.
이러한 것을 방지하기 위해 주기적으로 코드 필드(F2)값 1을 가지는 packet too big 메시지를 전송해주면 된다.
RFC1981에서는 packet too big 메시지 최소 간격을 5분으로 제한하였으므로, 본 발명에서도 5분 주기로 코드 필드값 1을 가지는 packet too big 메시지를 전송해주는 것이 바람직하다.
본 발명은 IPv6 천이 터널을 통과하는 패킷이 빈번한 억세스 네트워크에 적용하면 더욱 큰 효과를 볼 수 있다. 또한 IPv6-in-IPv6와 같은 종류의 터널에서도 활용가능한 특징이 있다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이상 설명한 바와 같이, 본 발명에 따르면 IPv6 천이 망 구성시 packet too big 메시지를 미리 브로드캐스트함으로써 패킷이 전송된 후 packet too big 메시지가 전송되던 기존의 방식에서 패킷 전달이 지연되고 때론 유실(drop)되던 문제를 해결할 수 있다.

Claims (20)

  1. IPv4(Internet Protocol version 4)망에서 IPv6(Internet Protocol version 6) 천이(transit) 망을 구성하기 위한 천이 터널(tunnel)의 구성시,
    기본 MTU(Maximum trasmission unit)에서 상기 IPv4망에 관계된 특정값을 차감하여 상기 터널의 인터페이스에 대한 MTU를 설정하고, 상기 설정된 MTU가 포함된 packet too big 메시지를 브로드캐스트하는 IPv6 천이 라우터; 및
    상기 IPv6 천이 라우터로부터 상기 packet too big 메시지를 수신하여, 상기 포함된 MTU에 따라 전송될 패킷을 단편화(fragmentation)하고, 상기 수신된 packet too big 메시지를 다른 라우터로 브로드캐스트하는 다수개의 IPv6 라우터를 포함하는 패킷 최대전송단위 설정 시스템.
  2. IPv4 망 내에 IPv6 천이 터널이 구성되면, 상기 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키고, 상기 감소된 MTU가 포함된 packet too big 메시지를 송신측 노드로 브로드캐스트하는 IPv6 천이 라우터; 및
    상기 IPv6 천이 라우터로부터 상기 packet too big 메시지를 수신하여, 상기 포함된 MTU 정보에 따라 패킷을 단편화하고, 더 이전의 송신측 노드로 상기 수신된packet too big 메시지를 브로드캐스트하는 다수개의 송신측 IPv6 라우터를 포함하는 패킷 최대전송단위 설정 시스템.
  3. 제 2항에 있어서,
    상기 IPv6 천이 라우터가 생성하는 packet too big 메시지는,
    메시지 형식을 정의하는 타입 필드;
    같은 유형(Type)안에서 루프(loop)가 발생되지 않는 망구조와 상기 루프가 발생되는 망구조에 따라 세분화되는 코드 필드;
    메시지 오류 체크를 위한 검사합필드;
    패킷 최대 전송 단위를 나타내는 MTU 필드;
    실제 데이터에 대한 IP 데이터그램 필드; 및
    상기 코드 필드의 값이 상기 루프 발생에 따른 망구조의 값을 갖는 경우, 상기 송신측 IPv6 라우터가 이전에 수신한 packet too big 메시지와의 메시지 비교를 수행하도록 제공하는 시퀀스 No. 필드를 포함하는 것을 특징으로 하는 패킷 최대전송단위 설정 시스템.
  4. 제 2항에 있어서,
    상기 IPv6 천이 라우터는,
    기 설정된 주기에 따라 상기 packet too big 메시지를 브로드캐스트하는 것을 특징으로 하는 패킷 최대전송단위 설정 시스템.
  5. 제 3항에 있어서,
    상기 IPv6 천이 라우터는,
    상기 루프가 발생되지 않는 망구조에서는 상기 packet too big 메시지 내의 상기 코드 필드값을 제 1값으로 셋팅하고, 상기 루프가 발생되는 망구조에서는 상기 코드 필드값을 제 2값으로 셋팅하여 상기 다수개의 송신측 IPv6 라우터로 브로드캐스트하는 것을 특징으로 하는 패킷 최대전송단위 설정 시스템.
  6. 제 5항에 있어서,
    상기 송신측 IPv6 라우터는,
    상기 수신되는 packet too big 메시지 내의 코드 필드값이 상기 제 1값이면 상기 packet too big 메시지를 더 이전의 송신측 노드로 브로드캐스트하고,
    상기 수신되는 packet too big 메시지 내의 코드 필드값이 상기 제 2값이면 상기 시퀀스 No. 필드의 값을 체크하여 이전에 수신된 packet too big 메시지인지의 여부를 판단하고, 이전에 수신되지 않을 것으로 판단되는 경우, 상기 수신된 packet too big 메시지에 포함된 MTU 정보에 따라 패킷을 단편화하여, 더 이전의 송신측 노드로 상기 packet too big 메시지를 브로드캐스트하는 것을 특징으로 하는 패킷 최대전송단위 설정 시스템.
  7. 제 6항에 있어서,
    상기 송신측 IPv6 라우터는,
    상기 수신된 packet too big 메시지 내의 코드 필드값이 상기 제 2값이고, 상기 시퀀스 No. 필드의 값의 체크에 따라 상기 수신된 packet too big 메시지가 이전에 수신된 것으로 판단되면, 상기 수신된 packet too big 메시지를 버리는(discard) 것을 특징으로 하는 패킷 최대전송단위 설정 시스템.
  8. IPv4 망 내에 IPv6 터널이 구성되는 단계;
    IPv6 천이 라우터가 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키고, 상기 감소된 MTU가 포함된 packet too big 메시지를 송신측 노드로 브로드캐스트하는 단계; 및
    상기 송신측 노드에 포함된 다수개의 라우터가 상기 packet too big 메시지를 수신하여, 상기 포함된 MTU 정보에 따라 패킷을 단편화하고, 상기 단편화된 패킷을 상기 IPv6 천이 라우터로 전송하는 단계를 포함하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  9. 제 8항에 있어서,
    IPv6 천이 라우터가 상기 packet too big 메시지를 브로드캐스트하는 단계는,
    기 설정된 주기에 따라 상기 packet too big 메시지를 브로드캐스트하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  10. 제 8항에 있어서,
    상기 송신측 노드에 포함된 다수개의 라우터가 상기 수신된 packet too big 메시지를 더 이전의 송신측 노드로 브로드캐스트하는 단계를 더 포함하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  11. IPv4 망 내에 IPv6 천이 터널이 구성되는 단계;
    IPv6 천이 라우터가 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키며, 상기 감소된 MTU가 포함된 packet too big 메시지의 코드 필드를 0 또는 1로 설정하여 시퀀스 No.를 부여하고, 상기 packet too big 메시지를 송신측 노드로 브로드캐스트하는 단계;
    상기 송신측 노드에 포함된 다수의 라우터가 상기 packet too big 메시지의 수신에 따라 상기 코드 필드를 체크하고, 상기 체크된 코드필드가 1이면, 상기 시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No.와 동일한지 여부를 파악하는 단계; 및
    상기 송신측의 라우터가 상기 파악결과, 상기 두 시퀀스 No.가 동일한 것으로 판단되면, 상기 수신된 packet too big 메시지에 포함한 MTU 값과 노드에 설정된 path MTU 값을 비교하여, 상기 두 값이 다른 경우 상기 path MTU 값을 수정하고, 상기 수정된 값에 따라 패킷을 단편화하여 상기 IPv6 천이 라우터로 송신하는 단계를 포함하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  12. 제 11항에 있어서,
    IPv6 천이 라우터가 상기 packet too big 메시지를 브로드캐스트하는 단계는,
    기 설정된 주기에 따라 상기 packet too big 메시지를 브로드캐스트하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  13. 제 11항에 있어서,
    상기 송신측의 라우터가 상기 체크된 packet too big 메시지의 코드 필드가 0이면, 상기 수신된 packet too big 메시지를 더 이전의 송신측 노드로 브로드캐스트하는 단계를 더 포함하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  14. 제 11항에 있어서,
    상기 송신측의 라우터가, 상기 비교된 두 시퀀스 No.가 동일한 것으로 판단되면, 상기 수신된 packet too big 메시지를 버리는 단계를 더 포함하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  15. 삭제
  16. IPv4 망 내에 IPv6 천이 터널이 구성되는 단계;
    IPv6 천이 라우터가 터널 인터페이스의 기본 MTU를 캡슐화될 IPv4 헤더의 길이만큼 감소시키며, 상기 감소된 MTU가 포함된 packet too big 메시지의 코드 필드를 0 또는 1로 설정하여 시퀀스 No.를 부여하고, 상기 packet too big 메시지를 송신측 노드로 브로드캐스트하는 단계;
    상기 송신측 노드에 포함된 다수의 라우터가 상기 packet too big 메시지의 수신에 따라 상기 코드 필드를 체크하는 단계;
    상기 송신측의 라우터가 상기 체크된 코드 필드 값이 1이면 상기 시퀀스 No.를 파악하여, 상기 시퀀스 No.가 이전에 수신한 packet too big 메시지의 시퀀스 No.보다 큰지를 파악하는 단계; 및
    상기 송신측의 라우터가 상기 파악결과, 상기 수신된 시퀀스 No.가 상기 이전에 수신된 것보다 큰 것으로 판단되면, 상기 packet too big 메시지에 포함한 MTU 값과 노드에 설정된 path MTU 값을 비교하여, 상기 두 값이 다른 경우 상기 path MTU 값을 수정하고, 상기 수정된 값에 따라 패킷을 단편화하여 IPv6 천이 라우터로 송신하는 단계를 포함하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  17. 제 16항에 있어서,
    IPv6 천이 라우터가 상기 packet too big 메시지를 브로드캐스트하는 단계는,
    기 설정된 주기에 따라 상기 packet too big 메시지를 브로드캐스트하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  18. 제 16항에 있어서,
    상기 송신측의 라우터가 상기 체크된 코드 필드 값이 0이면, 상기 수신된 packet too big 메시지를 더 이전의 송신측 노드로 브로드캐스트하는 단계를 더 포함하는 것을 특징으로 하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  19. 제 16항에 있어서,
    상기 송신측의 라우터가 상기 파악결과, 상기 수신된 시퀀스 No.가 상기 이전에 수신된 것보다 작거나 같은 것으로 판단되면, 상기 수신된 packet too big 메시지를 버리는 단계를 더 포함하는 패킷 투 빅 메시지 포맷을 이용하여 아이피브이식스 천이 터널에서 패킷 최대전송단위를 설정하는 방법.
  20. 삭제
KR1020040060590A 2004-07-30 2004-07-30 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법 KR100624686B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040060590A KR100624686B1 (ko) 2004-07-30 2004-07-30 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040060590A KR100624686B1 (ko) 2004-07-30 2004-07-30 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060011656A KR20060011656A (ko) 2006-02-03
KR100624686B1 true KR100624686B1 (ko) 2006-09-19

Family

ID=37121677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040060590A KR100624686B1 (ko) 2004-07-30 2004-07-30 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100624686B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778348B1 (ko) * 2006-12-07 2007-11-22 한국전자통신연구원 IPv6 라우터의 라인 카드에서 터널 포워딩 정보 구축방법
CN101977156B (zh) * 2010-11-18 2012-11-21 北京星网锐捷网络技术有限公司 一种最大传输单元的学习方法、装置及路由设备
CN106411783A (zh) * 2016-09-30 2017-02-15 杭州华三通信技术有限公司 一种报文发送方法及装置

Also Published As

Publication number Publication date
KR20060011656A (ko) 2006-02-03

Similar Documents

Publication Publication Date Title
US9603057B2 (en) Method for configuring the link maximum transmission unit (MTU) in a user equipment (UE)
US7978681B2 (en) Network apparatus, system and method for discovering path MTU in data communication network
US20080159150A1 (en) Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
Zhou et al. Goodput improvement for multipath TCP by congestion window adaptation in multi-radio devices
US20220131808A1 (en) Packet Forwarding Method and Device, And Computer-Readable Storage Medium
US20070076618A1 (en) IP communication device and IP communication system therefor
US11108699B2 (en) Method, apparatus, and system for implementing rate adjustment at transmit end
WO2014026571A1 (zh) 一种通用路由封装隧道报文发送方法和装置
WO2000072532A9 (en) System and method for network packet reduction
CN111935009B (zh) 数据包路由方法、装置、设备、系统及存储介质
CN111131179B (zh) 业务处理方法、装置、网络设备及存储介质
US20080170567A1 (en) Packet switch apparatus and method thereof
US20080101237A1 (en) Communication device
CN114980175A (zh) 无线通信模式自适应修正平台
CN113612698A (zh) 一种数据包发送方法及装置
JP4434019B2 (ja) データ配信管理装置およびデータ配信管理方法
US20100067397A1 (en) Method for determining a data transport unit parameter for the communication between two stations in a network of stations, network device adapted to act as a sending station and network device adapted to act as a receiving station in the method
US20040052265A1 (en) Method and system for providing reliable and fast communications with mobile entities
KR100624686B1 (ko) 패킷 투 빅 메시지를 이용하여 아이피브이식스 천이터널에서 패킷 최대전송단위를 설정하는 시스템 및 그 방법
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
US20050027878A1 (en) Method of efficiently transmitting/receiving data using transport layer in a mobile ad hoc network, and network device using the method
Templin The Subnetwork Encapsulation and Adaptation Layer (SEAL)
JP4660346B2 (ja) ブリッジ装置及びブリッジ装置の制御方法
US20070109969A1 (en) Method of ensuring the quality of service in a network
US20240089198A1 (en) Packet processing method and system, and network device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee