KR100477698B1 - IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 - Google Patents
IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 Download PDFInfo
- Publication number
- KR100477698B1 KR100477698B1 KR10-2003-0002086A KR20030002086A KR100477698B1 KR 100477698 B1 KR100477698 B1 KR 100477698B1 KR 20030002086 A KR20030002086 A KR 20030002086A KR 100477698 B1 KR100477698 B1 KR 100477698B1
- Authority
- KR
- South Korea
- Prior art keywords
- header
- ipv6
- data
- register
- processing module
- Prior art date
Links
Classifications
-
- 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/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명에 따라 IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법이 개시된다. 상기 본 발명에 따른 IPv6 헤더 수신 장치는, 하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하고, 상기 저장된 IPv6 헤더 데이터를 그 기본 헤더 또는 확장 헤더 타입에 따라 IPv6 확장헤더 타입별 처리모듈로 전송하는 옥텟의 정수배 크기의 레지스터와, 상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함한다. 이상과 같은 본 발명에 의하면, 메모리의 낭비없이 IPv6 헤더 데이터를 실시간으로 처리할 수 있다.
Description
본 발명은 IP 헤더를 수신하여 처리하는 장치 및 방법에 관한 것으로, 좀더 구체적으로는, 하드웨어적으로 구현될 수 있는 IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법에 관한 것이다.
네트워크와 IP 노드의 빠른 증가로 인해 32비트 IP 주소 고갈 문제를 해결하기 위해 1960년대초 IETF는 IPv4 프로토콜을 대신할 프로토콜을 찾기 시작해서 IPv6를 만들었다. IPv6는 IPv4로 축적된 경험들을 바탕으로 IPv4에 다른 모습들을 부가시켜서 설계되었다.
이러한 IPv6 구현의 대부분은 소프트웨어적으로 구현되어 있다. 즉, 종래의 소프트웨어적으로 구현된 IP의 경우 하부 레이어에서 전달받은 패킷을 메모리에 카피시킨 후 처리하는 개념이며, 각각의 레이어 사이의 데이터 전송은 포인터를 이용한 메모리 버퍼 체이닝 방식으로 구현된다.
도 1에 종래기술에 따른 IPv6 입력 모듈의 구조가 도시되어 있다.
도 1에서 데이터 링크층과 물리층의 처리를 하는 MAC 컨트롤러(120)에 1 프레임이 모두 쌓이게 되면 MAC 컨트롤러는 CRC 첵섬을 통해 프레임의 이상 유무를 판단한다. 이상이 없으면 MAC 컨트롤러는 컨트롤러 내부의 전용 인터럽트 단자를 이용하여 패킷을 머신(110)에 쓰게 되고, 머신(110)내에서는 프로세서(111)가 포인터(112)를 이용하여 메모리(113)에 저장된 데이터를 가져와서 처리하고 다시 메모리에 쓰는 방식으로, 각각의 레이어마다 메모리 카피를 통해 처리가 이루어지게 된다.
그러나, 이와 같이 소프트웨어로 구현시 패킷을 저장해 둘 메모리가 필수적이며, 그에 따른 메모리 액세스를 위한 중복 시간이 요구된다. 이러한 시간은 패킷 전체를 놓고 볼 때 상당량의 래턴시가 되며 결과적으로 TCP/IP가 포팅된 머신에 적지 않은 오버헤드가 된다.
도 2는 IPv6 확장 헤더 포맷을 나타낸다.
IPv6 헤더는 4비트 인터넷 프로토콜 버전 번호를 나타내는 버전 필드, 8비트 트래픽 클래스 필드, 20 비트 흐름 라벨, IPv6 페이로드의 길이를 나타내는 16 비트 부호없는 정수로 이루어진 페이로드 길이 필드, 8비트 셀렉터로서, IPv6 헤더 바로 다음에 오는 헤더의 타입을 식별하는 넥스트 헤더 필드, 8비트 홉리미트 필드, 패킷의 근원지를 나타내는 128 비트 근원지 어드레스 필드, 패킷의 수신지를 나타내는 128비트 목적지 어드레스 필드를 포함한다.
IPv6에서, 선택적인 인터넷-레이어 정보가 패킷의 IPv6 헤더와 상위 계층 헤더 사이에 위치될 수 있는 별도의 헤더에 인코드된다. IPv6 패킷은 0, 1, 또는 그이상의 확장 헤더를 가질 수 있는데, 각각은 이전 헤더의 넥스트 헤더 필드에 의해 식별된다.
각 확장헤더는 8 옥텟 길이의 정수 배의 길이이다.
그리고, IPv6 의 전체 구현은 6개의 확장 헤더를 포함하며, 하나 이상의 확장 헤더가 하나의 패킷에 사용될 때 그러한 헤더들은 다음과 같은 순서, IPv6 헤더, 홉바이홉 옵션 헤더, 데스티네이션 옵션 헤더, 라우팅 헤더, 프래그먼트 헤더, 인증 헤더, 데스티네이션 옵션 헤더, 상위 계층 헤더로 나타날 수 있다.
홉바이홉 옵션는 패킷의 전달 경로를 따라서 각 노드에 의해 검사되어져야 하는 선택적인 정보를 운반하는데 사용된다.
넥스트 헤더는 8 비트 셀렉터로서, 홉바이홉 옵션 헤더 바로 다음에 나오는 헤더의 타입을 식별한다. 헤더 확장길이는 8 비트 부호없는 정수로서 8 옥텟 단위의 홉바이홉 옵션 헤더의 길이를 나타낸다. 그 다음 필드는 가변 길이 필드로서, 옵션을 포함한다. 상기 넥스트 헤더 필드와 헤더 확장 길이 필드는 모든 확장 헤더에서 공통적으로 적용된다.
라우팅 헤더는 IPv6 소스에 의해 패킷의 목적지까지 도중에 방문될 하나 이상의 중간 노드들을 리스트하는데 사용된다.
프래그먼트 헤더는 IPv6 소스에 의해 MTU(최대 전송 유닛) 경로에 적당한 크기보다 더 큰 패킷을 그 목적지로 보내는데 사용된다.
데스티네이션 옵션 헤더는 패킷의 목적지 노드에 의해 검사될 필요가 있는 선택적인 정보를 운반하는데 사용된다.
도 3a 내지 3c는 각종 링크 레이어상의 IPv6 헤더 구조를 나타낸다.
도 3a에 도시된 이더넷상의 IPv6 헤더는 데스티네이션 이더넷 어드레스와 소소오스 이더넷 어드레스와 IPv6 헤더 및 페이로드를 포함한다.
도 3b에 도시된 FDDI 상의 IPv6 헤더는 데스티네이션 FDDI 어드레스와 소오스 FDDI 어드레스와, IPv6 헤더 및 페이로드를 포함한다.
도 3c에 도시된 토큰링상의 IPv6 헤더는 데스티네이션 어드레스와 소오스 어드레스와 IPv6 헤더 및 페이로드를 포함한다.
상기와 같은 각종 링크 레이어상의 IPv6 헤더는 어느 링크레이어상에 있더라도 8옥텟 단위로 데이터 처리가 수행될 수 있음을 알 수 있다.
상기 종래의 기술에 따른 IPv6 수신 장치는 많은 메모리 액세스로 인해 래턴시가 많아지는 단점이 있으며, 하드웨어로 구현시 고정되지 않은 확장 헤더 길이를 예측하고, 카운트함으로써 발생하는 부가적인 공간적인 측면에서도 단점이 있다.
한편, "IPv6 프로토콜 구현장치와 이 장치에 사용되는 물리매체 인터페이스 유닛, IPv6 헤더 처리 유닛, 상위계층 인터페이스 유닛"이라는 발명의 명칭으로 출원한 대한민국공개특허(2002년 특허출원 제34230호)는 소프트웨어나 OS 에 의해 처리되던 IPv6와 ICMPv6 인터넷 통신 프로토콜을 하드웨어 장치를 통해 통신 속도의 손실없이 실시간으로 구현하기 위한 것으로, 이러한 IPv6 구현장치는 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛과, IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛과, TCP, UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛을 포함한다.
상기 대한민국공개특허가 IPv6 구현 장치를 하드웨어로 구현한다고는 개시하고 있지만 구체적으로 어떠한 구성에 의해 IPv6 헤더를 수신하여 저장하는지에 대해서는 구체적으로 개시되지 않고 있다.
본 발명은 상기와 같은 과제를 해결하여 메모리의 낭비없이 실시간으로 IPv6 헤더를 처리할 수 있는 IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, IPv6 헤더 수신 장치에 있어서, 하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하고, 상기 저장된 IPv6 헤더 데이터를 그 기본 헤더 또는 확장 헤더 타입에 따라 IPv6 확장헤더 타입별 처리모듈로 전송하는 옥텟의 정수배 크기의 레지스터와, 상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것이다.
본 발명의 다른 특징은, IPv6 헤더 수신 장치에 있어서, 한번에 전송되는 옥텟의 정수배 크기의 IPv6 확장헤더 데이터의 양을 카운트하는 카운터와, 하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하고, 상기 저장된 IPv6 헤더 데이터를 상기 카운터의 카운트가 완료되면 그 기본 헤더 또는 확장 헤더 타입에 따라 IPv6 확장헤더 타입별 처리모듈로 전송하는 옥텟의 정수배 크기의 레지스터와, 상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것이다.
본 발명의 또다른 특징은, IPv6 헤더 수신 장치에 있어서, 옥텟의 정수배 크기의 IPv6 확장헤더 데이터의 양을 카운트하는 옥텟 인디케이터와, 하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하는 옥텟의 정수배 크기의 레지스터와, 상기 레지스터에 저장된 IPv6 헤더 데이터를 분석하여 그 헤더의 타입과 길이를 결정하고, 상기 레지스터에 저장된 상기 IPv6 헤더 데이터를 상기 옥텟 인디케이터의 카운트가 완료되면 상기 결정된 헤더의 타입과 길이 정보에 따라서 IPv6 확장헤더 타입별 처리모듈로 전송하도록 지시하는 제어부와, 상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것이다.
본 발명의 또다른 특징은, IPv6 헤더 처리 방법에 있어서, 하위 계층으로부터 소정 단위로 전송되는 IPv6 헤더 데이터를 레지스터에 채우는 단계와, 상기 레지스터에 채워진 IPv6 헤더 데이터를 분석하여 상기 헤더의 타입을 식별하는 단계와, 상기 레지스터에 옥텟의 소정 정수배 크기의 데이터가 채워지면, 상기 식별된 헤더 타입 정보에 따라 상기 레지스터에 채워진 IPv6 헤더 데이터를 IPv6 확장헤더 타입별 처리모듈로 전송하는 단계를 포함하는 것이다.
본 발명은 IPv6 헤더 포맷의 모든 처리가 8 옥텟 기반으로 이루어지므로, 8 옥텟을 모니터링할 수 있는 부가 장치를 이용하여 IPv6 구현 장치를 하드웨어로 구현할 수 있다는 것에 착안한 것이다.
도 4는 본 발명에 따른 IPv6 구현 장치의 일 예의 블록도를 도시한다.
상기 IPv6 구현장치는 IPv6 헤더를 8 옥텟씩 수신하여 레지스터 파일(450)로 넘겨주는 IP 수신 모듈(400)과, IPv6 헤더를 수신하여 처리하는 레지스터 파일(450)을 포함한다.
상기 IP 수신 모듈(400)은 제어부(410)와, 임시 레지스터(420)와, 시프트 레지스터(430)와, 옥텟 인디케이터(440)를 포함한다.
임시 레지스터(420)는 하위 링크 레이어(440)로부터 인터페이스에 따른 정보의 양 만큼을 받아들여 저장한다. 예를 들어, 인터페이스가 PCMCIA 인터페이스라면 임시 레지스터의 크기는 2 옥텟이 될 것이다.
제어부(410)는 임시 레지스터에 데이터가 저장되는 순간 바로 데이터를 분석하고, 시프트 레지스터(430)로 전송 지시를 행하며, 옥텟 인디케이터(440)로 다이나믹하게 받아들일 데이터의 양을 알려준다.
제어부(410)의 구성을 좀더 구체적으로 설명하면, 헤더 분석부(411)와, 넥스트 헤더 상태 레지스터(412)와, 길이 레지스터(413)와, 경로 결정부(414)를 포함한다.
헤더 분석부(411)는 임시 레지스터(420)에 저장된 데이터를 가져와서 분석을 하여 어떤 타입의 헤더이며, 그 헤더의 길이가 얼마인지를 파악하여 넥스트 헤더 상태 레지스터(412)와 길이 레지스터(413)에 설정한다. 즉, 도 2에 도시된 바와 같은 IPv6 확장 헤더에는 8비트의 넥스트 헤더 필드와 8 비트의 헤더 확장 길이 필드가 포함되어 있다. 상기 넥스트 헤더 필드를 분석하면 다음에 나올 헤더가 어떤 헤더인지 헤더 타입을 알 수 있고, 헤더 확장 길이 필드를 분석하면 그 해당 확장 헤더의 길이를 알 수 있다. 이와 같은 분석 결과를 넥스트 헤더 상태 레지스터와 길이 레지스터에 설정한다.
넥스트 헤더 상태 레지스터(412)는 존재하는 확장 헤더의 타입을 표시하는 정보를 저장한다. 넥스트 헤더 상태 레지스터(412)의 세부적인 구성이 도 5에 도시되어 있다.
도 5를 참조하면, 넥스트 헤더 상태 레지스터(412)는 DOH(Destination Option Header(Destination node)) 비트, ESP(Encapsulating Security Payload) 비트, AH(Authentication Header) 비트, FH(Fragment Header) 비트, RH(Routing Header) 비트, DOH(Destination Option Header(Intermediate node)) 비트, HBH(Hop By Hop Header) 비트, 예약 비트를 포함한다. 각 비트는 각 확장 헤더가 존재할 경우에는 true로 설정되고, 패킷 처리가 종료되면 false로 설정된다.
이와 같은 넥스트 헤더 상태 레지스터는 또한 상위 레이어의 첵섬 계산을 위해 필요한 필드 정보를 제공하고, 헤더 필드 에러 또는 네트워크 미디어의 문제 등으로 ICMP 메시지를 발생시키고자 할 때의 제어신호를 제공한다.
길이 레지스터(413)는 확장 헤더의 길이 정보를 저장한다.
경로 결정부(414)는 넥스트 헤더 상태 레지스터(412)와 길이 레지스터(413)에 저장된 정보를 이용하여 시프트 레지스터(430)에 저장된 데이터를 레지스터 파일(450)의 어느 모듈로 얼만큼의 길이만큼 전송할 것인지를 시프트 레지스터(430)로 지시한다.
시프트 레지스터(430)는 임시 레지스터(420)로부터 2 옥텟씩 데이터를 수신하여, 8 옥텟의 데이터가 쌓일 때까지 대기하며, 8옥텟의 데이터가 모두 축적되면 경로 결정부(414)의 정보를 이용하여 축적된 데이터를 레지스터 파일(450)로 시프트한다.
옥텟 인디케이터(440)는 8 옥텟의 데이터를 하부 레이어의 데이터 버스를 통해 받아들이며 제어부(410)로부터 받아들일 정보의 양을 실시간으로 전달받아 그 양을 모두 받아들이게 되면 동작이 만료되어 다음 패킷을 받을 때까지 대기하도록 카운트 역할을 한다.
보조 카운터(441)는 시프트 레지스터에 채워지는 데이터의 양인 8 옥텟 즉, 레지스터 파일로 한번에 전송되는 데이터의 양을 카운트하고, 메인 카운터(442)는 각 확장 헤더의 최대 유효 길이를 카운트한다. 메인 카운터(442)는 헤더 분석부(411)로부터 헤더 확장 길이에 해당하는 정보를 수신하여, 그 길이에 해당하는 양만큼 데이터를 받아들여 그 데이터를 그 해당 헤더를 처리하는 레지스터 파일의 모듈로 전송하도록 도와준다.
레지스터 파일(450)은 베이직 헤더 모듈(451)과, 라우팅 헤더 모듈(452)과, 인증 헤더 모듈(453)과, ESP 모듈(454)과, 데스티네이션 옵션 헤더 모듈(455)과, 홉바이홉 헤더 모듈(456)과, 상위 레이어 모듈(457)을 포함한다.
이와 같은 레지스터 파일의 각 모듈은 시프트 레지스터로부터 소정 단위로 데이터를 수신하여 해당 헤더의 내용이 다 수신되면, 그 헤더를 처리한다.
도 6에 본 발명에 따라 IPv6 헤더를 처리하는 동작을 나타내는 흐름도가 도시되어 있다.
IP 수신 모듈(400)은 링크 레이어로부터 데이터 전송을 대기한다(S610).
다음, MAC 계층에서 L3 데이터를 소정단위로 IP 수신 모듈(400)로 전송한다(S620).
그러면, IP 수신 모듈(400)은 수신한 데이터를 소정 단위로 임시 레지스터에 저장한다(S630). 예를 들어, 본 발명에 따른 일 예에서는 2 옥텟씩 저장할 수 있다.
제어부(410)의 헤더분석부(411)는 임시 레지스터(420)에 저장된 데이터를 가지고 와서 분석하여 시프트 레지스터의 경로를 경로 결정부에 알려준다(S640). 즉, 헤더분석부(411)는 임시레지스터(420)에 저장된 데이터를 분석하여, 다음 헤더의 타입을 알 수 있고, 그 헤더의 길이를 알 수 있다. 다음 헤더의 타입은 넥스트 헤더 상태 레지스터(412)에 저장하고, 그 헤더의 길이는 길이 레지스터(413)에 저장한다. 그리고, 헤더의 길이 정보는 메인 카운터(442)에 전송하여 각 헤더 모듈로 전송할 데이터의 양을 알려준다. 이와 같이 넥스트 헤더 상태 레지스터(412)와 길이 레지스터(413)에 저장된 데이터는 경로 결정부(414)에 의해 시프트 레지스터에 저장된 데이터를 어느 모듈로 보낼지를 결정하는 데에 이용된다.
다음, 임시 레지스터의 데이터를 시프트 레지스터로 이동한다(S650).
다음, 보조 카운터가 만료되었는지를 판단한다(S660). 예를 들어, 임시 레지스터의 크기가 2 옥텟이고, 시프트 레지스터의 크기가 8옥텟이라면, 보조 카운터는 4를 카운트하는 시점에서 만료될 것이다.
판단결과 만료되지 않은 경우에는 MAC 계층에서 수신한 데이터를 임시 레지스터에 저장하는 단계로 진행한다.
판단결과 만료된 경우에 경로결정부(414)는 8옥텟의 시프트 레지스터의 값을 상위 모듈 즉 레지스터 파일에 한번에 전송하도록 지시한다(S670).
다음, 메인 카운터값이 소정의 값을 초과하는지를 판단한다(S680). 메인 카운터(442)는 해당 헤더의 길이 정보를 가지고 있어서, 그 해당 헤더의 데이터를 그 헤더를 처리하는 모듈로 계속 전송하도록 하는 것을 도와준다.
판단 결과, 메인 카운터 값이 소정값 즉, 해당 헤더의 길이를 초과하지 않은 경우에는 S620으로 진행하여 MAC 계층에서 L3 데이터를 소정 단위로 전송한다.
판단결과, 소정값을 초과한 경우에는 다음 패킷을 수신한다(S690). 이와 같이 소정값을 초과한 경우, 즉, 헤더 확장 길이에 들어있는 길이 정보에 들어있는 값보다 실제 데이터의 양이 더 많은 경우, 그 확장 헤더에 오류가 난 것이라고 판단될 수 있고, 이러한 경우에는 그 확장 헤더 다음에 오는 확장 헤더를 받아들이는 것이 아니라 그 확장 헤더가 들어 있는 패킷은 모두 버리고 다음 패킷을 처리하도록 다음 패킷을 수신한다.
이상과 같은 본 발명에 의하면, IPv6 수신장치를 메모리가 필요없는 하드웨어로 구현함으로써 실시간 처리가 가능해져 처리 시간, 메모리 용량, 비용의 절감이 가능하다.
도 1은 종래기술에 따른 IPv6 수신단의 구성의 일 예를 도시하는 도면,
도 2는 IPv6 확장 헤더 포맷을 보여주는 도면,
도 3a 내지 3c는 각종 링크레이어상의 IPv6 헤더 구조를 보여주는 도면,
도 4는 본 발명에 따른 IPv6 구현 장치의 일 예의 블록도,
도 5는 도 4에 도시된 넥스트 헤더 상태 레지스터의 세부적인 구성을 보여주는 도면,
도 6은 본 발명에 따른 IPv6 헤더를 처리하는 동작을 나타내는 흐름도.
Claims (8)
- IPv6 헤더 수신 장치에 있어서,하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하고, 상기 저장된 IPv6 헤더 데이터를 그 기본 헤더 또는 확장 헤더 타입에 따라 IPv6 확장헤더 타입별 처리모듈로 전송하는 옥텟의 정수배 크기의 레지스터와,상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- IPv6 헤더 수신 장치에 있어서,한번에 전송되는 옥텟의 정수배 크기의 IPv6 확장헤더 데이터의 양을 카운트하는 카운터와,하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하고, 상기 저장된 IPv6 헤더 데이터를 상기 카운터의 카운트가 완료되면 그 기본 헤더 또는 확장 헤더 타입에 따라 IPv6 확장헤더 타입별 처리모듈로 전송하는 8 옥텟의 정수배 크기의 레지스터와,상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- IPv6 헤더 수신 장치에 있어서,옥텟의 정수배 크기의 IPv6 확장헤더 데이터의 양을 카운트하는 옥텟 인디케이터와,하위 계층으로부터 IPv6 헤더 데이터를 8 옥텟의 정수배 단위로 수신하여 저장하는 옥텟의 정수배 크기의 레지스터와,상기 레지스터에 저장된 IPv6 헤더 데이터를 분석하여 그 헤더의 타입과 길이를 결정하고, 상기 레지스터에 저장된 상기 IPv6 헤더 데이터를 상기 옥텟 인디케이터의 카운트가 완료되면 상기 결정된 헤더의 타입과 길이 정보에 따라서 IPv6 확장헤더 타입별 처리모듈로 전송하도록 지시하는 제어부와,상기 레지스터로부터 전송된 데이터를 수신하여 수신된 데이터를 처리하는 IPv6 확장헤더 타입별 처리모듈을 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- 제3항에 있어서,상기 레지스터는,하위 계층으로부터 IPv6 헤더 데이터를 옥텟의 정수배 단위로 수신하여 저장하는 옥텟의 정수배 크기의 임시 레지스터와,상기 임시 레지스터로부터 옥텟의 정수배 단위의 IPv6 헤더 데이터를 상기 임시레지스터의 크기만큼씩 수신하여 IPv6 확장헤더 타입별 처리모듈로 한번에 전송될 양 만큼의 데이터가 채워지면 상기 IPv6 확장헤더 타입별 처리모듈로 전송하는 시프트 레지스터를 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- 제4항에 있어서,상기 제어부는,상기 임시 레지스터에 저장된 데이터를 가져와서 분석하는 헤더분석부와,상기 분석 결과에 따라 넥스트 헤더의 타입 정보를 저장하는 넥스트 헤더 상태 레지스터와,상기 분석 결과에 따라 헤더 확장 길이 정보를 저장하는 길이 레지스터와,상기 넥스트 헤더 상태 레지스터와 상기 길이 레지스터에 저장된 정보에 따라 시프트 레지스터의 데이터를 어느 헤더 처리 모듈로 얼만큼의 길이만큼 전송할 지를 상기 시프트 레지스터에 지시하는 경로 결정부를 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- 제5항에 있어서,상기 옥텟 인디케이터는, 상기 시프트 레지스터에 저장되는 데이터의 양을 카운트하는 보조 카운터와, 상기 길이 레지스터에 저장된 확장 헤더 길이 정보에 따른 데이터의 양을 카운트하는 메인 카운터를 포함하며,상기 제어부는 상기 메인 카운터에 의해 카운트된 값이 상기 확장 헤더 길이 정보에 따른 값을 초과한 경우에 다음 패킷 데이터를 수신하도록 지시하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- 제3항에 있어서,상기 IPv6 확장헤더 처리 모듈은,베이직 헤더 처리 모듈과, 라우팅 헤더 처리 모듈과, 데스티네이션 옵션 헤더 처리 모듈과, 인증 헤더 처리 모듈과, ESP 헤더 처리 모듈과, 홉바이홉 헤더 처리 모듈과, 상위 레이어 처리 모듈을 포함하는 것을 특징으로 하는 IPv6 헤더 수신 장치.
- IPv6 헤더 처리 방법에 있어서,하위 계층으로부터 소정 단위로 전송되는 IPv6 헤더 데이터를 레지스터에 채우는 단계와,상기 레지스터에 채워진 IPv6 헤더 데이터를 분석하여 상기 헤더의 타입을 식별하는 단계와,상기 레지스터에 옥텟의 소정 정수배 크기의 데이터가 채워지면, 상기 식별된 헤더 타입 정보에 따라 상기 레지스터에 채워진 IPv6 헤더 데이터를 IPv6 확장헤더 타입별 처리모듈로 전송하는 단계를 포함하는 것을 특징으로 하는 IPv6 헤더 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0002086A KR100477698B1 (ko) | 2003-01-13 | 2003-01-13 | IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 |
US10/754,704 US20040141524A1 (en) | 2003-01-13 | 2004-01-12 | IPv6 header receiving apparatus and IPV6 header processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0002086A KR100477698B1 (ko) | 2003-01-13 | 2003-01-13 | IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040065000A KR20040065000A (ko) | 2004-07-21 |
KR100477698B1 true KR100477698B1 (ko) | 2005-03-18 |
Family
ID=32709859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0002086A KR100477698B1 (ko) | 2003-01-13 | 2003-01-13 | IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040141524A1 (ko) |
KR (1) | KR100477698B1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003903480A0 (en) * | 2003-07-07 | 2003-07-17 | Canon Kabushiki Kaisha | A Low Power Chip Architecture |
US7162253B2 (en) * | 2003-09-08 | 2007-01-09 | Nokia Corporation | Geographical position extension in messaging for a terminal node |
WO2005050925A1 (en) * | 2003-11-21 | 2005-06-02 | Canon Kabushiki Kaisha | A MODULAR APPROACH TO THE TCP/IPv6 HARDWARE IMPLEMENTATION |
US7330726B2 (en) * | 2004-06-07 | 2008-02-12 | Spyder Navigation Llc | Determining geographical position in IPv6 networks |
WO2006079139A1 (en) * | 2004-10-12 | 2006-08-03 | Canon Kabushiki Kaisha | Concurrent ipsec processing system and method |
GB2426897A (en) * | 2005-06-01 | 2006-12-06 | Agilent Technologies Inc | Transferring control and signalling data between protocol stack layers by inserting it into Destination Options Headers of IPv6 packets |
KR100759819B1 (ko) * | 2006-05-26 | 2007-09-18 | 한국전자통신연구원 | IPv6 패킷의 확장헤더를 검사하는 장치 및 방법 |
US7715397B2 (en) * | 2006-09-21 | 2010-05-11 | Sprint Communications Company L.P. | Data communications method and structure |
KR100798926B1 (ko) | 2006-12-04 | 2008-01-29 | 한국전자통신연구원 | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 |
US8194665B2 (en) * | 2006-12-20 | 2012-06-05 | Gibson Guitar Corp. | Data packet, method, and device of transmitting payload information within an extendable header |
US20090149244A1 (en) * | 2007-12-10 | 2009-06-11 | Lutnick Howard W | Products and processes for a point exchange |
KR100912545B1 (ko) * | 2007-09-21 | 2009-08-18 | 한국전자통신연구원 | 패킷 처리 장치 및 방법 |
US8635352B2 (en) * | 2011-02-22 | 2014-01-21 | Qwilt, Inc. | System and method for symmetric receive-side scaling (RSS) |
KR102652451B1 (ko) | 2018-01-29 | 2024-04-01 | 코닌클리케 필립스 엔.브이. | 블루투스 기반 ipv6 저전력 네트워킹 |
CN109086307B (zh) * | 2018-06-22 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 文件处理的方法及装置 |
JP7390879B2 (ja) * | 2019-12-05 | 2023-12-04 | 三菱重工業株式会社 | 通信処理装置、通信処理方法およびプログラム、並びにネットワーク層のヘッダ部のデータ構造 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3638195A (en) * | 1970-04-13 | 1972-01-25 | Battelle Development Corp | Digital communication interface |
US4418382A (en) * | 1980-05-06 | 1983-11-29 | Allied Corporation | Information exchange processor |
US6944168B2 (en) * | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
JP4342128B2 (ja) * | 2001-09-18 | 2009-10-14 | 富士通株式会社 | パケット処理プロセッサ及びパケット処理プロセッサシステム |
US6976154B1 (en) * | 2001-11-07 | 2005-12-13 | Juniper Networks, Inc. | Pipelined processor for examining packet header information |
-
2003
- 2003-01-13 KR KR10-2003-0002086A patent/KR100477698B1/ko not_active IP Right Cessation
-
2004
- 2004-01-12 US US10/754,704 patent/US20040141524A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20040141524A1 (en) | 2004-07-22 |
KR20040065000A (ko) | 2004-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100477698B1 (ko) | IPv6 헤더 수신 장치 및 IPv6 헤더 처리 방법 | |
EP3520267B1 (en) | Router with bilateral tcp session monitoring | |
JP5883920B2 (ja) | パケット重複排除のためのシステムおよび方法 | |
US5815516A (en) | Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation | |
US7006526B1 (en) | Mechanisms for avoiding problems associated with network address protocol translation | |
JP4038223B2 (ja) | パケット転送方法及び装置 | |
US7263071B2 (en) | Connectionless TCP/IP data exchange | |
EP1065844B1 (en) | Connection selection method | |
US7103674B2 (en) | Apparatus and method of reducing dataflow distruption when detecting path maximum transmission unit (PMTU) | |
US20040218623A1 (en) | Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter | |
EP3574617B1 (en) | Method and apparatus for managing routing disruptions in a computer network | |
EP1226694A1 (en) | A method and apparatus for header compression | |
JP2005529523A (ja) | Iscsiおよびipsecプロトコルをサポートするギガビットイーサネットアダプタ | |
KR20020037361A (ko) | 패킷통신에서 개선된 성능을 위한 헤더필드 처리 | |
US10757230B2 (en) | Efficient parsing of extended packet headers | |
JP4875126B2 (ja) | Iscsiおよびipsecプロトコルをサポートするギガビットイーサネットアダプタ | |
US10009282B2 (en) | Self-protecting computer network router with queue resource manager | |
JP2009278364A (ja) | パケット受信装置及びその処理方法 | |
EP4057576A1 (en) | Packet encapsulating method and apparatus, and packet decapsulating method and apparatus | |
US20200128113A1 (en) | Efficient reassembly of internet protocol fragment packets | |
JPH09331348A (ja) | ネットワーク間接続装置 | |
US20170331721A1 (en) | Apparatus and Method of Selecting Next Hops for a Session | |
US20120233344A1 (en) | Communication apparatus | |
CN106878308B (zh) | 一种icmp报文匹配***及方法 | |
US7453874B1 (en) | Method and system for incrementally updating a checksum in a network data packet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080228 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |