KR101152956B1 - 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 - Google Patents
중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR101152956B1 KR101152956B1 KR1020080119464A KR20080119464A KR101152956B1 KR 101152956 B1 KR101152956 B1 KR 101152956B1 KR 1020080119464 A KR1020080119464 A KR 1020080119464A KR 20080119464 A KR20080119464 A KR 20080119464A KR 101152956 B1 KR101152956 B1 KR 101152956B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- transmission unit
- maximum transmission
- information
- state
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000013467 fragmentation Methods 0.000 title abstract description 31
- 238000006062 fragmentation reaction Methods 0.000 title abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 57
- 238000001514 detection method Methods 0.000 claims abstract description 39
- 239000012634 fragment Substances 0.000 claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
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
멀티캐스트 환경 및 유니캐스트 환경에서 발생할 수 있는 중복 IP 패킷 분할을 검출하는 장치가 개시된다. 본 발명의 중복 분할 패킷 검출 장치는, 수신된 패킷을 캡처하는 패킷 캡처부; 상기 캡처된 패킷이 중복 분할된 패킷인지를 검출하는 중복 분할 검출부; 및 상기 검출된 패킷이 중복 분할된 패킷이면, 상기 중복 분할 검출부에 의해 획득된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 상기 패킷을 송출한 서버로 전송하는 경로 최대전송단위 정보 전송부;를 포함한다. 이에 의해 서버로 하여금 경로 최대전송단위를 재조정하여 패킷을 송출할 수 있게 함으로써, IP 패킷의 중복 분할을 방지한다.
Description
본 발명은 패킷 통신에 관한 것으로, 특히 멀티캐스트 환경에서 발생할 수 있는 중복 IP 패킷 분할을 차단하는 기술에 관한 것이다.
본 연구는 지식경제부 및 정보통신연구진흥원의 원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다.[과제명: 광가입자망(FTTH) 서비스 개발 실험사업]
종단 대 종단(end to end) 통신에 있어서, 효율적인 통신을 위해서는 가능한 가장 적은 수의 패킷을 전송해야 한다. 이를 만족하기 위해서는 종단 대 종단 경로에서 지원 가능한 가장 큰 패킷 크기로 전송해야 한다. 네트워크 경로 상의 각 링크에서 지원하는 최대 전송 단위(Maximum Transmission Unit, MTU)들 중 가장 작은 것을 PMTU(Path MTU)라 하고, IP 패킷 송신 서버에서는 PMTU에 맞춰 패킷을 전송해야 IP 패킷 분할(Packet Framentation)을 피하면서 가장 적은 수의 패킷을 전송할 수 있다.
IPv4(Internet Protocol version 4) 유니캐스트(Unicast) 방식에서는 ICMP(Internet Control Message Protocol)의 ‘Packet Too Big’에러 메시지를 이용하는, IETF(Internet Engineering Task Force)에서 정한 고전적인 기법(rfc1063)을 이용해서 PMTU를 검출할 수 있다. 그러나 최근에는 네트워크 보안이나 운영상의 문제로 네트워크 관리자 및 사업자들이 ICMP를 지원하지 않고 있다. 따라서 ICMP를 이용하는 방안은 현실적으로 사용할 수 없게 되었다.
IMC2005(Internet Measurement Conference 2005)에서 Matthew Luckie가 발표한 논문인 “Inferring and Debugging Path MTU Discovery Failures”에서는 고전적인 PMTU 검색 방법이 실패 여부를 검출하고, 시험 패킷과 ICMP Feedback 정보를 이용하여 PMTU를 검색하며, PMTU 검색 실패 지점을 찾는 도구를 제안하였다. 그러나 이 기법은 멀티캐스트 환경을 고려하고 있지 않다.
가장 최근에는 IETF에서 TCP(Transmission Control Protocol)와 같은 Packetization 계층에서 시험 트래픽을 네트워크에 공격적으로 유입시키는 방식으로 PMTU를 검출하는 표준(rfc4821)을 제정하였다. 그러나 이 표준은 멀티캐스트 환경을 언급하고는 있으나, 구체적인 기법을 제시하지 않고 있다.
본 발명은 이 같은 배경에서 도출된 것으로, 멀티캐스트 환경에서 발생할 수 있는 중복 IP 패킷 분할을 막아 응용 서비스에 영향을 주는 패킷 손실을 방지함을 목적으로 한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 중복 분할 패킷 검출 장치는, 수신된 패킷을 캡처하는 패킷 캡처부; 상기 캡처된 패킷이 중복 분할된 패킷인지를 검출하는 중복 분할 검출부; 및 상기 검출된 패킷이 중복 분할된 패킷이면, 상기 중복 분할 검출부에 의해 획득된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 상기 패킷을 송출한 서버로 전송하는 경로 최대전송단위 정보 전송부;를 포함한다.
상기 패킷 캡처부는, 수신된 패킷을 데이터링크 계층에서 캡처한다.
상기 중복 분할 검출부는, 상기 캡처된 패킷의 아이피 헤더 내의 일부 정보를 이용하여 중복 분할된 패킷인지를 검출한다.
상기 경로 최대전송단위 정보 전송부는, 사전에 약속된 포트 번호로 상기 경로 최소전송단위 정보를 상기 패킷을 송출한 서버로 전송한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 서비스 트래픽을 송출하는 서버에 구현된 경로 최대전송단위 제어 장치는, 상기 서버로부터 송출된 패킷을 수신하여 중복 분할되었는지 검출하는 장치로부터 전송된 경로 최대전송단 위(Path Maximum Transmission Unit) 정보를 수신하는 경로 최대전송단위 정보 수신부; 및 상기 수신된 경로 최대전송단위 정보로 송출하고자 하는 패킷의 최대 크기를 상기 서버에 의해 송출되는 트래픽에 적용하는 경로 최대전송단위 정보 적용부;를 포함한다.
상기 경로 최대전송단위 정보 수신부는, 사전에 약속된 포트 번호를 통해 경로 최대전송단위 정보를 수신한다.
상기 경로 최대전송단위 정보 적용부는, 상기 수신된 경로 최대전송단위 정보를 데이터링크 계층에 적용하여 송출하고자 하는 패킷 단위를 제어한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 액세스 망에 위치하여 서버로부터 송출되는 패킷을 수신하는 장치에서 수행되는 방법은, 수신 패킷을 캡처하는 단계; 상기 캡처된 패킷이 중복 분할된 패킷인지를 검출하는 단계; 및 상기 검출 결과 중복 분할된 패킷이면, 상기 검출 단계에서 획득된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 상기 패킷을 송출한 서버로 전송하는 단계;를 포함한다.
본 발명은 멀티캐스트 환경에서 발생할 수 있는 중복 IP 패킷 분할을 자동 검출하여 새 PMTU 값을 적용함에 의해 패킷 손실을 방지하여 서비스 품질을 높이는 효과를 창출한다. 또한 본 발명은 멀티캐스트 환경뿐 아니라 유니캐스트 환경에서도 동일한 효과를 창출한다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 중복 IP 패킷 분할이 발생하는 네트워크 구성 및 본 발명에 따른 PMTU 검출 절차 예시도이다.
도 1은 중복 IP 패킷 분할(이하 ‘IP Fragmentation’이라 한다)이 발생할 수 있는 네트워크의 일 예와, 멀티캐스트 서비스 제공시 패킷 손실이 발생할 수 있는 상황을 보여주고 있다. 미디어 서버(100)에서 송출된 미디어 트래픽 패킷은 MTU 값인 1500bytes 단위로 송출된다. 송출된 패킷은 제1라우터(210)에서 첫 번째 IP Fragmentation이 발생되며, 패킷의 최대 크기가 1400bytes 단위로 조정되어 다음 노드로 전송된다. 그리고 제2라우터(220)에서 두 번째 IP Fragmentation이 발생되며, 패킷의 최대 크기가 1300bytes 단위로 조정되어 다음 노드로 전송된다. 이에 따라 클라이언트 단말(300)에 수신되는 패킷에는 손실이 발생하게 된다.
이상에서와 같이, 도 1에 도시된 네트워크 환경에서는 IP Fragmentation이 2회 발생할 수 있는 링크가 중간에 존재하기 때문에, IP Fragmentation이 중복해서 발생한다. 즉, IP Fragmentation이 각 라우터의 출력 링크의 MTU 값에 의해 발생하는데, 이 외에도 단대단 통신 중에 미들 박스(middle box)에서 패킷 내에 데이터를 추가함으로써 IP Fragmentation이 발생할 수도 있다. 예를 들면, 몇몇 IPTV DRM(Digital Right Management) 시스템에서는 IPTV 스트림을 미들 박스에서 실시간 암호화를 수행하는데, 이때 복호화에 필요한 정보를 IPTV 스트림 속에 삽입하는 경우가 있다. 이때, 암호화 수행하는 미들 박스의 출력 인터페이스의 MTU 사이즈보다 큰 패킷이 발생하게 되는데, 이런 경우 IP Fragmentation가 발생한다. 한편, 미설명된 도면부호 400에 대해서는 후술하기로 한다.
도 2는 중복 IP Fragmentation 발생에 따른 패킷 손실을 나타낸 예시도이다.
도시된 바와 같이, 원본 패킷은 MTU에 맞게 IP Fragmentation이 중복으로 이루어지며, 분할된 각각의 패킷은 목적지 호스트에 수신된다. 목적지 호스트의 IP 계층에서는 분할된 패킷들을 재조합해서 UDP 계층으로 전달하고, UDP 계층은 체크섬(checksum)을 수행한 후 최종적으로 응용 프로그램으로 전달한다. 이때 UDP 계층에서의 체크섬 과정에서 2차 분할된 패킷은 체크섬 에러로 인해 폐기된다. 따라서 패킷 손실이 발생한다.
도 3은 본 발명에 따른 중복 분할 패킷 검출 장치를 포함한 IPTV 품질 측정 장치 블록도로써, IPTV 품질 측정 장치가 수신하는 미디어 트래픽으로부터 중복 IP Fragmentation을 검출하기 위한 중복 분할 패킷 검출 장치를 설명하기 위한 도면이다.
본 발명의 중복 분할 패킷 검출 장치(410)를 포함한 IPTV 품질 측정 장치(400)는 도 1에 도시된 바와 같이 네트워크상에 구현, 구체적으로는 액세스 망에 위치함이 바람직한다. 여기서 중복 분할 패킷 검출 장치(410)가 IPTV 품질 측정 장치(400)에 구현된다는 것은 예시적인 것으로, 일반적인 트래픽 모니터링 장치나 미디어 트래픽을 최종 수신하는 종단 클라이언트 단말(300)에 구현될 수도 있다.
중복 분할 패킷 검출 장치(410)는 패킷 캡처부(411), 중복 분할 검출부(412), PMTU 정보 저장부(413), 및 PMTU 정보 전송부(414)를 포함한다. 패킷 캡처부(411)는 IPTV 품질 측정 장치(400)에 수신된 패킷을 캡처한다. 바람직하게 패킷 캡처부(411)는 데이터링크(datalink) 계층에서 수신된 패킷을 캡처한다. 미디어 트래픽 중 2회 이상 IP Fragmentation이 발생한 패킷들의 일부는 IDP 계층에서의 check error check 과정에서 오류로 인해 폐기되고 일부는 비정상 패킷으로 IP 계층에서 폐기되기 때문이다. 따라서 패킷 캡처부(411)는 수신된 패킷의 일부가 폐기되기 이전인 datalink 계층에서 패킷을 캡처함이 바람직하다. datalink 계층에서 캡처되는 패킷은 도 4에 예시되어 있다.
패킷 캡처부(411)는 캡처된 패킷을 중복 분할 검출부(412)로 전달한다. 이때 패킷 캡처부(411)는 필터링을 통해 관심 있는 패킷들만 걸러 중복 분할 검출부(412)로 전달할 수 있다. 일 예로, 특정 IP 주소 대역만을 필터링한다.
중복 분할 검출부(412)는 패킷 캡처부(411)로부터 전달된 패킷들이 중복 IP Fragmentation이 이루어진 패킷들인지를 검출한다. 중복 분할 검출부(412)는 패킷들의 IP header 내의 일부 정보, 구체적으로 헤더 길이(header length), 전체 길이(total length), 식별자(identification), 플래그(flag), 오프셋(offset) 정보를 이용하여 중복 IP Fragmentation이 이루어진 패킷들인지를 검출한다. 중복 분할 검출부(412)는 중복 IP Fragnettation을 검출하는 과정에서 PMTU 정보를 획득하게 되며, 획득된 PMTU 정보를 PMTU 정보 저장부(413)에 저장한다. 이때 IP header에 포함된 정보들 중 소스 주소 정보를 PMTU와 함께 PMTU 정보 저장부(413)에 저장함이 바람직하다. 그리고 PMTU 정보를 PMTU 정보 저장부(413)에 저장시킨 중복 분할 검출부(412)는 PMTU 정보 전송부(414)로 PMTU 정보를 전송하라는 이벤트를 전달한다. 이상에서 중복 분할 검출부(412)가 중복 IP Fragmentation을 검출하고, 그 과정에서 PMTU를 획득하는 구체적인 알고리즘에 대한 설명은 생략되었으며, 이에 대해서는 후술하기로 한다.
이벤트를 받은 PMTU 정보 전송부(414)는 PMTU 정보 저장부(413)에 저장된 PMTU 정보를 미디어 트래픽 패킷을 송출한 미디어 서버(100)로 전송한다. 미디어 서버(100)의 주소는 PMTU 정보 전송부(414)에 PMTU 정보와 함께 저장된 소스 주소 정보이므로, PMTU 정보 전송부(414)는 이 소스 주소 정보를 이용하여 미디어 서버(100)로 PMTU 정보를 전송할 수 있다. 그리고 PMTU 정보 전송부(414)는 사전에 약속된 포트 번호(port number)를 사용하여 PMTU 정보를 미디어 서버(100)로 전송한다.
이에 미디어 서버(100)에는 IPTV 품질 측정 장치(400)로부터 전송된 PMTU 정보를 수신하고, 수신된 PMTU 정보를 패킷 송출 시스템에 새로이 적용함으로써. 중복 IP Fragmentation에 따른 패킷 손실을 방지할 수 있다.
한편, 상술한 IPTV 품질 측정 장치(400)는 서비스 트래픽이 유입되는 액세스 망에 위치하여 다수의 서비스 세션들을 측정해야 하기 때문에, 확장성을 고려해 설계되어야 한다.
도 5는 도 3의 중복 분할 검출부(412)에서 중복 IP Fragmentation을 검출하기 위해 필요한 상태 천이도이다.
수신되는 패킷은 IP identification 별로 관리된다. 초기 상태에서 IP Fragmentation이 일어난 첫 번째 패킷을 수신했을 때, 즉 IP header 내부의 ‘Flags == 1 && Offset == 0’인 패킷을 수신했을 때, ‘1stPkt_Frag’상태로 천이된다. 여기서 ‘1stPkt_Frag’상태라 함은 IP Fragmentation이 발생한 첫 번째 패킷을 수신한 상태를 말한다.
‘1stPkt_Frag’상태에서 마지막 fragmented 패킷, 즉 동일한 identification을 갖고 Flag 값이 ‘0’인 패킷을 수신하면 ‘LstPkt_Frag’상태로 천이되고, 그렇지 않고 일정시간 동안 마지막 fragmented 패킷을 수신하지 못하면 다시 초기 상태로 천이된다. 여기서 ‘LstPkt_Frag’ 상태라 함은 IP Fragmentation이 발생한 첫 번째 패킷 수신 후 마지막 패킷을 수신한 상태를 말한다.
‘LstPkt_Frag’상태에서 또다시 마지막 fragmented 패킷을 의미하는 패킷, 즉 동일한 identification을 갖고 Flag 값이 ‘0’인 패킷을 다시 수신했을 경우, 다음 ‘수학식 1’조건을 만족하게 되면 ‘Dup_Frag’상태로 전이된다. 여기서 ‘Dup_Frag’상태라 함은 중복 IP Fragmentation을 검출한 상태를 말한다.
즉, D.C1과 Offset2이 일치하거나 (D.C2와 Offset1이 일치하느냐 하는 것이다. 여기서 D.C는 Detection Clue의 준말로, 중복 IP Fragmentation을 검출하는데 필요한 정보를 의미한다. D.C1은 ‘LstPkt_Frag’상태로 천이될 때 수신한 패킷으로부터 계산된 D.C 값(제1값)이고, Offset1은 그 헤더로부터 얻은 값이다. 그리고 D.C2 는 ‘Dup_Frag’상태로 천이될 때 수신한 패킷으로부터 계산된 D.C 값(제2값)이고, Offset2는 그 헤더로부터 얻은 값이다. D.C 값은 다음과 같이 계산된다. 아래 수학식 2에서 ‘IP header length’값에 4를 곱한 것은 패킷 헤더에서 읽은 ‘IP header length’값을 바이트 단위로 표현하기 위함이다. 실제로 ‘IP header length’는 20bytes이나 헤더에서 읽힌 값은 ‘5’이어서 4를 곱하여 바이트 단위로 표현한 것이다.
‘Dup_Frag’상태에서는 탐색된 PMTU 정보를 서버에 전송하도록 이벤트를 발생하고 다시 초기 상태로 천이된다.
한편, 위에서는 (D.C1 == Offset2) ? (D.C2 == Offset1)을 조건으로 하고 있 으나, D.C1 == Offset2만을 만족하는지를 판단할 수도 있다. D.C1 == Offset2조건을 추가로 두는 이유는 패킷 순서에 문제가 발생할 수 있으므로, 이를 고려한 것이다.
또한 (D.C1 == Offset2) ? (D.C2 == Offset1)을 조건을 두는 이유는 만약의 경우를 대비한 것으로, 정상적으로 한 번만 IP Fragmentation이 발생했는데, fragmented된 두 번째 패킷이 경로 상에서 복제가 되었다고 가정한다면, 이를 검출하는 장비에서 ID 값과 flag 값만으로 두 번 Fragmentation 발생한 것으로 오판할 수 있기 때문이다. 이런 경우를 방지하기 위해 offset 값 등을 계산해서 비교하는 것이다.
도 6은 본 발명에 따라 PMTU 정보를 시스템에 적용하는 PMTU 제어 장치(110)를 포함한 미디어 서버(100) 블록도이다.
본 발명의 PMTU 제어 장치(110)는 PMTU 정보 수신부(111), PMTU 정보 저장부(112), 및 PMTU 정보 적용부(113)를 포함한다. 응용프로그램 모듈은 서비스 트래픽을 독립적으로 전송(unicast or munticast)하고, PMTU 정보 수신부(111)는 상술한 중복 분할 패킷 검출 장치(410)의 PMTU 정보 전송부(414)에 의해 전송된 PMTU 정보를 수신한다. 언급한 바와 같이 사전에 약속된 포트 번호를 이용하므로, PMTU 정보 수신부(111)는 해당 포트 번호의 통신 소켓을 통해 PMTU 정보를 수신한다. PMTU 정보 수신부(111)는 수신된 PMTU 정보를 PMTU 정보 저장부(112)에 저장하며, PMTU 정보 적용부(113)로 새로 저장된 PMTU 정보를 송출하고자 하는 서비스 트래픽 에 적용하라는 이벤트를 전달한다.
이벤트를 받은 PMTU 정보 적용부(113)는 PMTU 정보 저장부(112)에 새로이 저장된 PMTU를 시스템에 적용시켜, 응용프로그램 모듈에 의해 송출되는 서비스 트래픽 패킷의 최대 전송 단위를 제어한다. 구체적으로 PMTU 정보 적용부(113)는 미디어 서버(100)의 Datalink 계층에 새로운 PMTU를 적용시켜, 응용프로그램 모듈에 의해 송출되는 서비스 트래픽 패킷의 최대 전송 단위를 제어한다.
도 7 내지 도 9는 본 발명에 따른 중복 분할 패킷 검출 장치(410)에서 수행되는 중복 IP Fragmentation 검출 흐름도이다.
본 발명에 따른 중복 IP Fragmentation 탐색이 개시되면, 우선 수신된 패킷을 데이터링크 계층에서 캡처한다. 일 실시예에 있어서, 중복 분할 패킷 검출 장치(410)는 특정 IP 주소 대역의 패킷만을 캡처한다(단계 S700). 그 다음 캡처된 패킷의 IP header에 기록된 identification 값을 검사하여 이미 등록된 identification인지 아닌지를 확인한다(단계 S710).
단계 S710에서의 확인 결과 새로운 identification이면, 수신된 패킷이 IP Fragmentation이 일어난 첫 번째 패킷인지 아닌지를 확인한다(단계 S720). 이는 IP 헤더 내부의 Flag 값과 Offset 값이 ‘Flags == 1 && Offset == 0’을 만족하는 패킷인지를 확인함에 의해 이루어진다.
IP 헤더 내부의 Flag 값과 Offset 값이 ‘Flags == 1 && Offset == 0’이면, 중복 분할 패킷 검출 장치(410)는 새로운 ID에 대한 자료 구조를 생성하고(단계 S730), 그 자료 구조에 패킷의 IP 헤더에 기록된 목적지 주소, 소스 주소, identification 값, total length 값을 기록한다(단계 S740). 그리고 상태를 ‘1stPkt_Frag’로 천이시킨다(단계 S750).
한편, 단계 S710에서의 확인 결과 새로운 identification이면 현재 상태를 검사한다(단계 S800). ‘1stPkt_Frag’상태이면, 이 상태에서 마지막 fragmented 패킷이 수신되는지를 판단한다(단계 S810). 즉, IP 헤더에 기록된 Flag 값이 ‘Flags == 0’인지를 확인하는 것이다. ‘Flags == 0’이면, D.C1값을 계산하여 저장하고, 또한 IP 헤더에 기록된 Offset1값을 저장한다(단계 S820). 그리고 상태를‘LstPkt_Frag’로 천이시킨다(단계 S830).
한편, 단계 S800에서의 검사 결과 현재 상태가 ‘LstPkt_Frag’상태이면, 이 상태에서 마지막 fragmented 패킷이 또다시 수신되는지를 판단한다(단계 S900). 즉, IP 헤더에 기록된 Flag 값이 ‘Flags == 0’인지를 확인하는 것이다. ‘Flags == 0’이면, D.C2값을 계산하여 저장하고, 또한 IP 헤더에 기록된 Offset2 값을 저장한다(단계 S910). 그 다음 D.C1과 Offset1, D.C2와 Offset2 값의 관계를 검사한다. 구체적으로 D.C1값과 Offset2값이 일치하거나, D.C2값과 Offset1값이 일치하는지를 확인한다(단계 S920). 검사 결과 둘 중에 하나가 일치하면, PMTU 값을 저장한다(단계 S930). 그리고 PMTU 값이 포함된 PMTU 정보 패킷을 생성한 후 미디어 서버(100)로 전송한다(단계 S940)(단계 S950). 최종적으로 해당 identification에 대해 생성된 정보를 모두 제거하고, 초기 상태로 천이한다(단계 S960)(단계 S970).
이상에서와 같이, 본 발명은 다수의 클라이언트가 존재하는 멀티캐스트 특성을 고려하여 별도의 시험 패킷을 이용하는 out-of-band 방식의 PMTU 탐색 방식보다는 실제 미디어 트래픽으로부터 PMTU를 검출할 수 있는 in-band 방식의 기법을 제안하였으며, PMTU를 탐색할 때 IP Fragmentation 이 발생함을 검출하여야 하는데, 1회 발생하는 단순 IP Fragmentation과 2회 이상 발생하는 중복 IP Fragmentation을 구별할 수 있는 기법을 제안하였다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 중복 IP Fragmentation이 발생하는 네트워크 구성 및 본 발명에 따른 중복 IP 패킷 분할 검출 절차 예시도.
도 2는 중복 IP Fragmentation 발생시 패킷 분할 과정과 이에 따른 패킷 손실을 나타낸 예시도.
도 3은 중복 IP Fragmentation을 검출하기 위해 캡처해야 할 패킷들의 패턴 예시도.
도 4는 본 발명에 따라 미디어 트래픽으로부터 중복 IP Fragmentation을 검출하기 위한 중복 분할 패킷 검출 모듈을 포함한 IPTV 품질 측정 장치 블록도.
도 5는 본 발명에 따른 중복 IP Fragmentation 검출을 위한 상태 천이도.
도 6은 본 발명에 따라 PMTU 정보를 시스템에 적용하는 PMTU 제어 모듈을 포함한 미디어 서버 블록도.
도 7 내지 도 9는 본 발명에 따른 IP Fragmentation 검출 흐름도.
Claims (20)
- 수신된 패킷을 캡처하는 패킷 캡처부;상기 캡처된 패킷이 중복 분할된 패킷인지를 검출하는 중복 분할 검출부; 및상기 검출된 패킷이 중복 분할된 패킷이면, 상기 중복 분할 검출부에 의해 획득된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 상기 패킷을 송출한 서버로 전송하는 경로 최대전송단위 정보 전송부;를 포함하되,상기 중복 분할 검출부는, 상기 캡처된 패킷의 아이피 헤더 내의 일부 정보를 이용하여 중복 분할된 패킷인지를 검출하는 것을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 패킷 캡처부는, 수신된 패킷을 데이터링크 계층에서 캡처함을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 패킷 캡처부는, 특정 아이피(IP) 주소 대역에 속한 패킷만을 캡처함을 특징으로 하는 중복 분할 패킷 검출 장치.
- 삭제
- 제1항에 있어서,상기 중복 분할 검출부는, 헤더 길이(header length), 전체 길이(total length), 식별자(identification), 플래그(flag), 오프셋(offset) 정보를 이용하여 중복 분할된 패킷인지를 검출함을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 중복 분할 검출부에 의해 얻어진 경로 최대전송단위 정보는, 동일 식별자를 가진 패킷들 중 최초 패킷의 전체 길이 정보임을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 경로 최대전송단위 정보 전송부는, 사전에 약속된 포트 번호로 상기 경로 최소전송단위 정보를 상기 패킷을 송출한 서버로 전송함을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 수신된 패킷은, 실제 미디어 트래픽 패킷임을 특징으로 하는 중복 분할 패킷 검출 장치.
- 제1항에 있어서,상기 중복 분할 패킷 검출 장치는, 액세스 망에 위치함을 특징으로 하는 중복 분할 패킷 검출 장치.
- 서비스 트래픽을 송출하는 서버에 구현된 장치에 있어서,상기 서버로부터 송출된 패킷을 수신하여 아이피 헤더 내의 일부 정보를 이용하여 중복 분할되었는지 검출하는 장치로부터 전송된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 수신하는 경로 최대전송단위 정보 수신부; 및상기 수신된 경로 최대전송단위 정보로 송출하고자 하는 패킷의 최대 크기를 상기 서버에 의해 송출되는 트래픽에 적용하는 경로 최대전송단위 정보 적용부;를 포함하는 것을 특징으로 하는 경로 최대전송단위 제어 장치.
- 제10항에 있어서,상기 경로 최대전송단위 정보 수신부는, 사전에 약속된 포트 번호를 통해 경로 최대전송단위 정보를 수신함을 특징으로 하는 경로 최대전송단위 제어 장치.
- 제10항에 있어서,상기 경로 최대전송단위 정보 적용부는, 상기 수신된 경로 최대전송단위 정보를 데이터링크 계층에 적용하여 송출하고자 하는 패킷 단위를 제어함을 특징으로 하는 경로 최대전송단위 제어 장치.
- 액세스 망에 위치하여 서버로부터 송출되는 패킷을 수신하는 장치에서 수행되는 방법에 있어서,수신 패킷을 캡처하는 단계;상기 캡처된 패킷이 중복 분할된 패킷인지를 검출하는 단계; 및상기 검출 결과 중복 분할된 패킷이면, 상기 검출 단계에서 획득된 경로 최대전송단위(Path Maximum Transmission Unit) 정보를 상기 패킷을 송출한 서버로 전송하는 단계;를 포함하되,상기 검출 단계는, 상기 캡처된 패킷의 아이피 헤더 내의 일부 정보를 이용하여 중복 분할된 패킷인지를 검출하는 것을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 제13항에 있어서,상기 캡처 단계는, 수신 패킷을 데이터링크 계층에서 캡처함을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 삭제
- 제13항에 있어서, 상기 검출 단계는 :상기 캡처된 패킷의 식별자 정보가 기저장되어 있는지 확인하는 단계;상기 확인 결과 상기 캡처된 패킷의 식별자 정보가 저장되어 있지 않으면 그 패킷의 아이피 헤더 내의 플래그 값과 오프셋 값을 확인하여 분할된 최초 패킷인지를 판단하고, 판단 결과 분할된 최초 패킷이면 상기 캡처된 패킷의 식별자의 상태를 최초 분할 상태로 기록하는 단계;상기 확인 결과 상기 캡처된 패킷의 식별자 정보가 저장되어 있으면, 그 식별자의 상태가 최초 분할 상태인지 최후 분할 상태인지 확인하는 단계;상기 확인 결과 최초 분할 상태이면, 최초 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 플래그 값을 확인하여 분할된 마지막 패킷인지를 판단하고, 판단 결과 분할된 마지막 패킷이면 상기 식별자의 상태를 최후 분할 상태로 기록하는 단계; 및상기 판단 결과 최후 분할 상태이면, 최후 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 플래그 값을 확인하여 분할된 마지막 패킷인지를 판단하고, 판단 결과 분할된 마지막 패킷이면 상기 식별자의 상태를 중복 분할 상태로 기록하고 경로 최대전송단위 정보를 저장하는 단계;를 포함하는 것을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 제16항에 있어서,상기 최후 분할 상태로 기록하는 단계는, 최초 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 오프셋(offset) 값에 전체 길이(total length) 값을 더하고 아이피 헤더 길이(IP header length) 값을 감하여 구해진 제1값과 오프셋 값을 저장한 후 상기 식별자의 상태를 최후 분할 상태로 기록하며,상기 경로 최대전송단위 정보를 저장하는 단계는, 최후 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 오프셋(offset) 값에 전체 길이(total length) 값을 더하고 아이피 헤더 길이(IP header length) 값을 감하여 구해진 제2값과 오프셋 값을 저장한 후, 제1값과 상기 최후 분할 상태에서 저장된 오프셋 값이 동일한지를 비교하여 동일하면 상기 식별자의 상태를 중복 분할 상태로 기록함을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 제16항에 있어서,상기 최후 분할 상태로 기록하는 단계는, 최초 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 오프셋(offset) 값에 전체 길이(total length) 값을 더하고 아이피 헤더 길이(IP header length) 값을 감하여 구해진 제1값과 오프셋 값을 저장한 후 상기 식별자의 상태를 최후 분할 상태로 기록하며,상기 경로 최대전송단위 정보를 저장하는 단계는, 최후 분할 상태에서 상기 캡처된 패킷의 아이피 헤더 내의 오프셋(offset) 값에 전체 길이(total length) 값을 더하고 아이피 헤더 길이(IP header length) 값을 감하여 구해진 제2값과 오프 셋 값을 저장한 후, 상기 제1값과 상기 최후 분할 상태에서 저장된 오프셋 값이 동일하거나 상기 제2값과 상기 최초 분할 상태에서 저장된 오프셋 값이 동일한지를 비교하여 동일하면 상기 식별자의 상태를 중복 분할 상태로 기록함을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 제16항에 있어서, 상기 경로 최대전송단위 정보는, 동일 식별자를 가진 패킷들 중 최초 패킷의 전체 길이 정보임을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
- 제16항에 있어서,상기 경로 최대전송단위 정보 전송 후 상기 식별자 및 그에 관련되어 기록된 정보를 모두 삭제하는 단계;를 더 포함하는 것을 특징으로 하는 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080119464A KR101152956B1 (ko) | 2008-11-28 | 2008-11-28 | 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 |
PCT/KR2009/003972 WO2010062020A2 (en) | 2008-11-28 | 2009-07-17 | System for controlling path maximum transmission unit by detecting repetitional ip packet fragmentation and method thereof |
US13/131,847 US8817820B2 (en) | 2008-11-28 | 2009-07-17 | System for controlling path maximum transmission unit by detecting repetitional IP packet fragmentation and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080119464A KR101152956B1 (ko) | 2008-11-28 | 2008-11-28 | 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100060736A KR20100060736A (ko) | 2010-06-07 |
KR101152956B1 true KR101152956B1 (ko) | 2012-06-08 |
Family
ID=42226194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080119464A KR101152956B1 (ko) | 2008-11-28 | 2008-11-28 | 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8817820B2 (ko) |
KR (1) | KR101152956B1 (ko) |
WO (1) | WO2010062020A2 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069727B2 (en) * | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
CN102256182A (zh) * | 2011-07-26 | 2011-11-23 | 重庆大唐科技股份有限公司 | 一种基于rtp协议的视频流分片组帧方法 |
US20130094515A1 (en) * | 2011-08-31 | 2013-04-18 | Nils Gura | Systems, apparatus, and methods for removing duplicate data packets from a traffic flow of captured data packets transmitted via a communication network |
TW201328387A (zh) * | 2011-12-20 | 2013-07-01 | Acer Inc | 網際協定分割之方法及相關無線網路系統 |
US10218756B2 (en) | 2012-01-06 | 2019-02-26 | Comcast Cable Communications, Llc | Streamlined delivery of video content |
US20150100670A1 (en) | 2013-10-04 | 2015-04-09 | International Business Machines Corporation | Transporting multi-destination networking traffic by sending repetitive unicast |
US9356879B2 (en) * | 2014-05-22 | 2016-05-31 | Dell Products L.P. | Optimized path maximum transmission unit discovery |
CN105515885B (zh) * | 2014-09-30 | 2019-01-08 | 华为技术有限公司 | 统计丢包方法、控制设备、分片设备和重组设备 |
US10419356B1 (en) * | 2017-07-22 | 2019-09-17 | Juniper Networks, Inc | Apparatus, system, and method for discovering network path maximum transmission units |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076850A1 (en) | 2001-10-22 | 2003-04-24 | Jason James L. | Determining packet size in networking |
US20050058131A1 (en) | 2003-07-29 | 2005-03-17 | Samuels Allen R. | Wavefront detection and disambiguation of acknowledgments |
US20050281288A1 (en) | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | Method and apparatus for discovering path maximum transmission unit (PMTU) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341375A (en) * | 1992-11-12 | 1994-08-23 | Motorola, Inc. | Transmission of broadcast packets in an RF system |
JP3557998B2 (ja) * | 2000-04-28 | 2004-08-25 | 日本電気株式会社 | フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置 |
US6891855B2 (en) * | 2000-07-27 | 2005-05-10 | Corrigent Systems, Ltd. | Dynamic packet fragmentation |
KR100453055B1 (ko) | 2002-03-29 | 2004-10-15 | 삼성전자주식회사 | Ip 네트워크 상에서의 경로 mtu 탐색 방법 및 그 장치 |
US8325717B2 (en) * | 2003-07-30 | 2012-12-04 | Foundry Networks, Llc | Method and system for IP fragmentation handling |
KR100506529B1 (ko) * | 2003-08-06 | 2005-08-03 | 삼성전자주식회사 | 데이터 통신 네트워크에서의 경로 엠티유 발견 네트워크장치, 시스템 및 그 방법 |
JP4649315B2 (ja) * | 2005-11-02 | 2011-03-09 | キヤノン株式会社 | 通信装置及び通信方法 |
US7773630B2 (en) * | 2005-11-12 | 2010-08-10 | Liquid Computing Corportation | High performance memory based communications interface |
US7738495B2 (en) * | 2006-01-23 | 2010-06-15 | Cisco Technology, Inc. | Method of determining a maximum transmission unit value of a network path using transport layer feedback |
US7995478B2 (en) * | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
JP2009065429A (ja) * | 2007-09-06 | 2009-03-26 | Hitachi Communication Technologies Ltd | パケット転送装置 |
US7792031B2 (en) * | 2008-07-03 | 2010-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimal fragmentation of multicast packets |
-
2008
- 2008-11-28 KR KR1020080119464A patent/KR101152956B1/ko not_active IP Right Cessation
-
2009
- 2009-07-17 WO PCT/KR2009/003972 patent/WO2010062020A2/en active Application Filing
- 2009-07-17 US US13/131,847 patent/US8817820B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076850A1 (en) | 2001-10-22 | 2003-04-24 | Jason James L. | Determining packet size in networking |
US20050058131A1 (en) | 2003-07-29 | 2005-03-17 | Samuels Allen R. | Wavefront detection and disambiguation of acknowledgments |
US20050281288A1 (en) | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | Method and apparatus for discovering path maximum transmission unit (PMTU) |
Also Published As
Publication number | Publication date |
---|---|
US20110243138A1 (en) | 2011-10-06 |
KR20100060736A (ko) | 2010-06-07 |
US8817820B2 (en) | 2014-08-26 |
WO2010062020A2 (en) | 2010-06-03 |
WO2010062020A3 (en) | 2010-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101152956B1 (ko) | 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법 | |
US8219675B2 (en) | System and method for correlating IP flows across network address translation firewalls | |
US10455303B2 (en) | Packet-optical in-band telemetry (POINT) flow tracing and proof-of-transit | |
US10454984B2 (en) | Method for streaming packet captures from network access devices to a cloud server over HTTP | |
US10419322B2 (en) | Method of collecting information about test devices in a network | |
US9313116B2 (en) | Enhanced retry method | |
KR100910818B1 (ko) | 비-macsec 노드들을 통해 macsec 패킷들을터널링하기 위한 방법 및 시스템 | |
CN113132342B (zh) | 方法、网络装置、隧道入口点装置及存储介质 | |
US8817792B2 (en) | Data forwarding method, data processing method, system and relevant devices | |
US20160380894A1 (en) | Path maximum transmission unit handling for virtual private networks | |
US20140244733A1 (en) | Method, Apparatus, Device and System for Generating DHCP Snooping Binding Table | |
CN105071989A (zh) | 视频内容分发质量监控***及其监控方法 | |
CN105553809B (zh) | 一种stun隧道管理方法及装置 | |
CN114390049A (zh) | 一种应用数据获取方法及装置 | |
US8693359B2 (en) | Communication control device and communication quality measurement method | |
US20230327983A1 (en) | Performance measurement in a segment routing network | |
KR101081433B1 (ko) | IPv6 기반 네트워크의 공격 패킷의 역추적 방법 및 그 기록매체 | |
CN114095108A (zh) | 一种应用于客户端的智慧广播方法 | |
KR102134895B1 (ko) | 멀티호밍 sctp노드 상에서 동작하는 sctp 유저 어플리케이션의 패킷 분석 시스템 및 그 방법 | |
CN117499267B (zh) | 网络设备的资产测绘方法、设备及存储介质 | |
WO2024119923A1 (zh) | 一种应用识别方法以及相关设备 | |
Stokes et al. | ICMP covert channel resiliency | |
Pluskal et al. | Network Forensic Investigations of Tunneled Traffic: A Case Study | |
CN117880200A (zh) | 数据传输方法、装置及*** | |
JP2023125089A (ja) | 情報処理システム、推定方法及びプログラム |
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 |