KR100475969B1 - Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus - Google Patents

Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus Download PDF

Info

Publication number
KR100475969B1
KR100475969B1 KR10-2002-0034230A KR20020034230A KR100475969B1 KR 100475969 B1 KR100475969 B1 KR 100475969B1 KR 20020034230 A KR20020034230 A KR 20020034230A KR 100475969 B1 KR100475969 B1 KR 100475969B1
Authority
KR
South Korea
Prior art keywords
ipv6
header
data
interface
processing
Prior art date
Application number
KR10-2002-0034230A
Other languages
Korean (ko)
Other versions
KR20020070180A (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 KR10-2002-0034230A priority Critical patent/KR100475969B1/en
Publication of KR20020070180A publication Critical patent/KR20020070180A/en
Priority to AU2003244234A priority patent/AU2003244234A1/en
Priority to PCT/KR2003/001195 priority patent/WO2004002114A1/en
Application granted granted Critical
Publication of KR100475969B1 publication Critical patent/KR100475969B1/en

Links

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]
    • 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
    • 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/12Protocol engines
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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

Abstract

본 발명은 소프트웨어나 OS에 의해 처리되던 IPv6와 ICMPv6 인터넷 통신 프로토콜을 하드웨어 장치를 통해 통신 속도의 손실 없이 실시간으로 구현한다. 본 발명에 따른 IPv6 구현 장치는 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛과, IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛과, TCP와 UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛을 포함한다. IPv6 구현 장치는 서로 분리되어 있는 헤더 버스와 데이터 버스를 포함할 수 있으며, 장치의 내부 유닛들에는 동기화 동작을 위한 기준 신호가 제공되고, 이 기준 신호와 동기된 제어 신호가 사용되며, 상기 데이터 버스를 통한 물리 매체 인터페이스 유닛과 상위 계층 사이의 데이터 송수신은 상기 IPv6 헤더 처리 유닛에 의해 제어된다. 제어 신호는 데이터의 유효 범위를 나타내고 제어 신호를 받는 유닛의 동작을 인에이블(enable)시킨다. 본 발명의 하드웨어 장치는 소프트웨어 방식에 비해 저가이며, 사용이 편리하고, 멀티미디어 응용에서의 지연 최소화 및 고성능의 장점 뿐만 아니라, SoC (System on Chip)적용을 위한 설계자산화에 용이하고, 고가의 복잡한 장치를 사용하지 않는 임베디드 시스템 환경에 유리하게 활용될 수 있고 다양한 형태의 하드웨어와 쉽게 접목할 수 있으며, 낮은 클록 주파수로 고속의 데이터 전송이 가능하며, OS 의존성이 없이 하드웨어적으로 IPv6와 ICMPv6를 처리할 수 있다. 또한, 본 발명 기술은 이동 단말기, 정보가전, 산업용 정보 단말기, 초고속 데이터 처리 장치 등에 유리하게 적용할 수 있다.The present invention implements IPv6 and ICMPv6 Internet communication protocols processed by software or OS in real time without loss of communication speed through a hardware device. An apparatus for implementing IPv6 according to the present invention includes a physical media interface unit connected with a physical interface layer, an IPv6 header processing unit for processing standard headers and extension headers of an IPv6 protocol, and connected with the physical media interface unit, and TCP and UDP. And an upper layer interface unit connected to the upper layer protocol. The IPv6 implementation may include a header bus and a data bus that are separated from each other, and internal units of the device are provided with a reference signal for synchronization operation, a control signal synchronized with the reference signal is used, and the data bus. Data transmission and reception between the physical medium interface unit and the upper layer through the control is controlled by the IPv6 header processing unit. The control signal indicates the effective range of the data and enables the operation of the unit receiving the control signal. The hardware device of the present invention is inexpensive compared to the software method, is easy to use, and has advantages of minimizing delay and high performance in multimedia applications, as well as easy and expensive design of a device for applying a System on Chip (SoC). It can be advantageously used in embedded system environment that does not use it, and it can be easily combined with various types of hardware, enables high-speed data transmission at low clock frequency, and can handle IPv6 and ICMPv6 in hardware without OS dependency. Can be. In addition, the present technology can be advantageously applied to a mobile terminal, an information appliance, an industrial information terminal, an ultrafast data processing device, and the like.

Description

IPv6 프로토콜 구현 장치와 이 장치에 사용되는 물리 매체 인터페이스 유닛, IPv6 헤더 처리 유닛, 상위 계층 인터페이스 유닛 {Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus}Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus}

본 발명은 통신 기술에 관한 것으로서, 좀 더 구체적으로는 IPv6 프로토콜을 통신 속도의 손실 없이 실시간으로 구현하는 하드웨어 장치와 이러한 장치에 사용하기에 적합한 물리 매체 인터페이스 유닛, IPv6 헤더 처리 유닛 및 상위 계층 인터페이스 유닛에 관한 것이다.TECHNICAL FIELD The present invention relates to communication technology, and more particularly, to a hardware device that implements the IPv6 protocol in real time without loss of communication speed, and to a physical media interface unit, an IPv6 header processing unit, and a higher layer interface unit suitable for use in such a device. It is about.

컴퓨터의 인터넷(Internet) 통신을 제공하는 표준 프로토콜인 TCP/IP (Transport Control Protocol/Internet Protocol)는 다른 네트워크 프로토콜과 마찬가지로 계층으로 이루어져 있는데, 이를 프로토콜 스택(stack), 프로토콜 슈트(suite) 또는 프로토콜 구조라고 한다. TCP/IP 프로토콜 스택은 TCP와 IP라는 2개의 가장 중요한 프로토콜을 기반으로 이루어져 있는데, IP 프로토콜은 OSI (Open Systems Interface) 계층 3에 해당하는 프로토콜로 현재 버전 4 (IPv4)가 주로 사용되고 있으며, 물리적인 서브네트워킹들의 연결과 목적지 IP 주소를 찾아가는 경로를 선택하는 기능이 있다. 이를 위해 IP 프로토콜은 인터넷에 연결된 많은 단말(terminals)이나 노드(node; IP 프로토콜을 구현하는 장치)들의 송신 주소와 수신 주소를 부여하고 해석한다. 현재 인터네트워크 층에서는 32-비트 IP 주소를 사용하여 네트워크 상의 호스트들 간에 상호 통신을 한다. IP 주소는 네트워크 IP와 노드 IP(호스트 IP)를 사용하여 특정 노드를 구별한다.Transport Control Protocol / Internet Protocol (TCP / IP), a standard protocol for providing Internet communications to computers, is organized into layers, just like any other network protocol. It is a protocol stack, protocol suite, or protocol structure. It is called. The TCP / IP protocol stack is based on the two most important protocols, TCP and IP. The IP protocol is the OSI (Open Systems Interface) Layer 3 protocol. Version 4 (IPv4) is currently used. Subnetworks have the ability to select a route to the connection and destination IP address. To this end, the IP protocol assigns and interprets the transmission address and the reception address of many terminals or nodes connected to the Internet. At the current internetwork layer, 32-bit IP addresses are used to communicate between hosts on a network. IP addresses use network IPs and node IPs (host IPs) to identify specific nodes.

90년대 이후 인터넷 사용의 폭발적인 증가로 IPv4 프로토콜은 할당 가능한 자원의 부족, 이동성(mobility) 결여, 보안성 결여 등의 단점으로 개선의 필요성이 요구되었고, 이러한 단점을 해결하기 위한 새로운 표준 프로토콜인 IP 버전 6 (IPv6)이 개발되었다. 차세대 IP(IPng; Internet Protocol next generation)라고도 불리는 IPv6 프로토콜은 RFC 2460 표준문서에 기술되어 있다. IPv6 프로토콜은 IP 주소의 길이를 기존의 32-비트에서 128-비트로 확장했기 때문에 인터넷 주소 자원 고갈 문제를 해결할 수 있으며, 멀티미디어 데이터를 실시간으로 처리할 수 있도록 하고, IPv4 프로토콜에서는 보안기능을 위해 'Ipsec (Internet Protocol Security Protocol)'이라는 패치(patch) 형태의 프로토콜을 별도로 설치해야 했던 문제를 해결해 IPsec을 프로토콜 내에 탑재함으로써 보안 기능을 강화할 수 있도록 하는 등의 장점이 있다. 그런데, IPv6 프로토콜은 IPv4 프로토콜과 서로 다른 헤더 구조를 가지고 있기 때문에, 두 프로토콜 사이에는 호환성이 없다. 따라서, 향후에는 IPv4 망이 점차 IPv6 망이나 IPv4와 IPv6를 동시에 지원하는 망으로 대체될 전망이다. 또한, 최근에는 IPv6 프로토콜이 다양한 시험망과 일부 상용망을 통해 그 사용이 점차 확대되고 있다.Since the 1990s, the explosive growth of Internet usage has required the IPv4 protocol to be improved due to the shortage of allocable resources, lack of mobility, and lack of security, and the IP version, a new standard protocol to solve this problem. 6 (IPv6) was developed. The IPv6 protocol, also known as Internet Protocol next generation (IPng), is described in the RFC 2460 standard document. The IPv6 protocol extends the length of the IP address from the existing 32-bit to 128-bit, which solves the problem of depleting Internet address resources, enables multimedia data to be processed in real time, and the IPv4 protocol provides 'Ipsec' for security functions. It solves the problem of having to install a patch-type protocol called 'Internet Protocol Security Protocol' and enables IPsec to be embedded in the protocol to enhance security. However, since the IPv6 protocol has a different header structure from the IPv4 protocol, there is no compatibility between the two protocols. Therefore, in the future, the IPv4 network will gradually be replaced by an IPv6 network or a network supporting both IPv4 and IPv6. In recent years, the use of the IPv6 protocol has been gradually expanded through various test networks and some commercial networks.

도 1은 IPv6을 응용하기 위한 표준 프로토콜의 구성도이다.1 is a configuration diagram of a standard protocol for applying IPv6.

도 1을 참조하면, IPv6 응용 TCP/IP 표준 프로토콜(10)은 응용 계층(12, Application Layer)과 TCP 또는 UDP (User Datagram Protocol)로 구현되는 전송 계층(14, Transport Layer), IPv6 및/또는 ICMPv6 (Internet Control Message Protocol for IPv6)로 구현되는 인터네트워크 계층(16, Internetwork Layer) 및 물리 계층(18, Physical Layer)으로 구성된다.Referring to FIG. 1, the IPv6 application TCP / IP standard protocol 10 includes a transport layer (14) implemented with an application layer (12) and a TCP or User Datagram Protocol (UDP), IPv6 and / or It consists of an internetwork layer (16, Internetwork Layer) and a physical layer (18) implemented by the Internet Control Message Protocol for IPv6 (ICMPv6).

IPv6 데이터그램은 IPv4와 마찬가지로 헤더와 페이로드(payload) 2개 부분으로 구성된다. 페이로드는 2개의 호스트 사이에서 전송될 데이터를 전달하는 부분이다. IPv6 헤더는 40-바이트의 고정 크기를 가지며, IPv4에서 심각한 병목으로 밝혀진 헤더 체크섬 필드를 가지지 않는다. IPv6 프로토콜은 IPv4 프로토콜에서는 지원하지 않는 이동성 지원, 보안성 지원, 멀티미디어 응용의 품질 보장 등을 위하여 도 2와 같은 헤더 구조를 가진다.IPv6 datagrams, like IPv4, consist of two parts: a header and a payload. The payload is the part that carries the data to be transmitted between the two hosts. The IPv6 header has a fixed size of 40-bytes and does not have a header checksum field that has been found to be a serious bottleneck in IPv4. The IPv6 protocol has a header structure as shown in FIG. 2 for mobility support, security support, and quality assurance of multimedia applications that are not supported by the IPv4 protocol.

도 2를 참조하면, IPv6 표준 프로토콜의 헤더(20)는 4-비트의 버전 필드(22), 8-비트의 트래픽 클래스 필드(24), QoS (Quality of Service)와 관련된 20-비트의 흐름 라벨 필드(26), 내용물의 길이를 나타내는 16-비트의 무부호 정수 페이로드 길이 필드(28), IPv6 헤더에서 다음에 이어지는 헤더의 유형을 정의하는 8-비트의 NH (Next Header) 필드(30), 패킷을 포워드하는 각각의 노드에서 1씩 감소하는 8-비트의 무부호 정수 홉 필드(32), 패킷 전송자의 128-비트 주소를 나타내는 발신지 주소 필드(34), 패킷 수신자의 128-비트 주소를 나타내는 목적지 주소 필드(36)를 기본 헤더 필드로 포함한다. IPv6을 완벽하게 구현하기 위해서 포함되는 확장 헤더 필드는 홉-바이-홉 옵션 필드(40), 목적지 옵션 헤더(42), 라우팅 헤더(44), 프레그먼트 헤더(46), 인증 헤더(48), ESP (Encapsulating Security Payload) 헤더(50) 등을 포함한다.2, the header 20 of the IPv6 standard protocol is a 20-bit flow label associated with a 4-bit version field 22, an 8-bit traffic class field 24, and a Quality of Service (QoS). Field 26, a 16-bit unsigned integer payload length field indicating the length of the content 28, and an 8-bit Next Header (NH) field 30 defining the type of header following in the IPv6 header. The 8-bit unsigned integer hop field 32 decremented by 1 at each node forwarding the packet, the source address field 34 representing the 128-bit address of the packet sender, and the 128-bit address of the packet receiver. The destination address field 36 indicated is included as a basic header field. Extended header fields included to fully implement IPv6 include hop-by-hop option fields 40, destination option headers 42, routing headers 44, fragment headers 46, and authentication headers 48. , The Encapsulating Security Payload (ESP) header 50, and the like.

그런데, 이러한 IPv6 표준 프로토콜은 주로 PC를 사용하는 환경에 적합하도록 소프트웨어로 구현되어 있으며, 보통은 윈도(Windows), 리눅스(Linux), 리얼타임 (Real-time) OS 등과 같은 운영체제에 의해 처리되고 있다.However, these IPv6 standard protocols are mainly implemented in software to be suitable for PC environments, and are usually handled by operating systems such as Windows, Linux, and real-time OS. .

도 3은 종래 소프트웨어 IPv6 처리를 위한 시스템의 구조를 나타내며, 도 4는 도 3의 시스템에서 CPU가 IPv6 프로토콜을 구현하는 소프트웨어의 구성을 보여준다.FIG. 3 shows the structure of a system for conventional software IPv6 processing, and FIG. 4 shows the configuration of software in which the CPU implements the IPv6 protocol in the system of FIG.

인터넷으로부터 받은 데이터는 물리 매체 칩(67)을 통과하여 CPU 버스(65)를 통해 CPU(61)에 전달되고 CPU(61)는 도 4와 같은 OS(70) 및 TCP/IPv6 소프트웨어(78)를 수행하여 수신한 데이터를 처리한 후 RAM(63)에 저장한다. 이후 CPU(61)는 도 4의 응용 프로토콜(73)과 응용 프로그램(71)을 처리하면서 RAM(63)에 저장된 데이터를 다시 읽은 후 응용에 맞게 사용한다. 인터넷으로 데이터를 보내는 송신의 경우에는 수신과 반대의 과정을 거쳐 데이터를 보낸다. 즉, 도 4에서 CPU(61)는 응용 프로그램(71)을 처리하여 필요한 데이터를 생성한 후 RAM(63)에 저장하고 OS와 TCP/IP 소프트웨어를 실행하여 RAM(63)의 데이터를 다시 읽어 들여 TCP/IP 처리를 수행한 후 도 3의 CPU 버스(65)를 통해 물리 매체 칩(67)으로 패킷을 전달한다. 도 3에서 물리 매체 칩(67)은 수신한 데이터를 전기적 특성 등을 고려하여 인터넷으로 전송하는 역할을 하는 장치로서, 주로 이더넷 LAN 카드에 사용되는 이더넷 MAC 제어기와 물리 칩을 비롯하여 FDDI (Fiber Distributed-Data Interface), 무선 LAN, 모뎀, PPP (Point-to-Point Protocol) 등과 같이 다양한 칩들이 사용될 수 있다.Data received from the Internet passes through the physical medium chip 67 and is transferred to the CPU 61 via the CPU bus 65, and the CPU 61 receives the OS 70 and TCP / IPv6 software 78 as shown in FIG. The received data is processed and stored in the RAM 63. Thereafter, the CPU 61 reads the data stored in the RAM 63 again while processing the application protocol 73 and the application program 71 of FIG. In the case of sending data to the Internet, data is sent through the reverse process of receiving. That is, in FIG. 4, the CPU 61 processes the application 71 to generate necessary data, stores the data in the RAM 63, executes the OS and the TCP / IP software, and reads back the data in the RAM 63. After the TCP / IP processing is performed, the packet is delivered to the physical medium chip 67 via the CPU bus 65 of FIG. In FIG. 3, the physical medium chip 67 is a device that transmits received data to the Internet in consideration of electrical characteristics, and includes an Ethernet MAC controller and a physical chip mainly used for an Ethernet LAN card. Various chips may be used, such as a data interface, a wireless LAN, a modem, and a point-to-point protocol (PPP).

그런데, 이러한 종래 소프트웨어 구현 방식은 PC와 같은 대형 장치에는 적합하지만, 간단하고 단순한 기능을 반복적으로 수행하고 가격에 민감한 정보가전, 산업체의 원격 제어용 통신 단말, 이동통신 단말 등의 경우에는, 소프트웨어 구동을 위한 메모리 등의 주변 하드웨어 가격 상승, OS의 구매 비용 부담, 멀티미디어 응용에서의 지연 발생, 소프트웨어 처리에 의한 통신성능 저하 등의 단점이 나타난다. However, such a conventional software implementation method is suitable for large devices such as PCs, but in the case of cost-sensitive information appliances, industrial remote control communication terminals, mobile communication terminals, and the like, the software is driven in a simple and simple manner. The disadvantages include the increase in the price of peripheral hardware such as memory, the cost of purchasing OS, delay in multimedia application, and the decrease of communication performance by software processing.

또한, 종래 기술에서는 IPv6, ICMPv6 프로토콜을 처리하기 위해서 항상 소프트웨어를 구동할 수 있는 CPU를 필요로 하며, IPv6와 ICMPv6의 소프트웨어 코드를 저장하고 OS의 코드를 저장하기 위한 코드 ROM이 요구되며 CPU가 OS를 구동하고 IPv6와 ICMPv6 코드를 실행하기 위한 대용량이 RAM이 요구된다. 그러나 이러한 종래 방법은 가정의 정보가전, 저가형 고속의 데이터 처리 장치, 이동 통신용 저전력 단말기, 단순한 기능의 정보 단말기에의 응용에서는 가격, 성능, 데이터 전송의 품질면에서 한계가 있다. 특히, 대량 생산을 위한 시스템-온-칩 기술을 적용하거나 다른 하드웨어와의 접목 등에 응용하기 위해서는 새로운 기술적인 해결책이 절실하다.In addition, the conventional technology requires a CPU capable of running software at all times to handle IPv6 and ICMPv6 protocols, and requires a code ROM for storing software codes of IPv6 and ICMPv6 and storing OS codes. A large amount of RAM is required to run and to run IPv6 and ICMPv6 code. However, these conventional methods have limitations in terms of price, performance, and quality of data transmission in applications to home information appliances, low-cost, high-speed data processing devices, low-power terminals for mobile communication, and simple functional information terminals. In particular, new technical solutions are urgently needed to apply system-on-chip technology for mass production or to integrate with other hardware.

본 발명의 목적은 종래 소프트웨어에 의한 IPv6 처리의 단점을 극복할 수 있는 하드웨어 IPv6 구현 장치를 제공하는 것이다.An object of the present invention is to provide a hardware IPv6 implementation apparatus that can overcome the disadvantages of IPv6 processing by conventional software.

본 발명의 다른 목적은 물리 계층의 통신 속도를 상위 계층에서 손실없이 실현할 수 있는 IPv6 프로토콜 실시간 구현 장치를 제공하는 것이다.It is another object of the present invention to provide an IPv6 protocol real time implementation apparatus capable of realizing a communication speed of a physical layer without loss at a higher layer.

본 발명의 또 다른 목적은 사용이 편리하고 경제적이며 멀티미디어 응용에서 시간 지연이 최소화되고 고성능의 하드웨어 IPv6 구현 장치를 제공하는 것이다.It is still another object of the present invention to provide a hardware IPv6 implementing apparatus that is easy to use, economical, and minimizes time delay in multimedia applications.

본 발명의 또 다른 목적은 SoC (System on Chip)를 위한 반도체 설계자산(IP; Intellectual Property)화가 용이하고 다양한 형태의 하드웨어에 쉽게 접목할 수 있으며 낮은 클록 주파수로 고속의 데이터 전송이 가능하고, OS 의존성 없이 하드웨어적으로 IPv6와 ICMPv6 프로토콜을 처리할 수 있는 기술을 제공하는 것이다. It is still another object of the present invention to easily convert an Intellectual Property (IP) for SoC (System on Chip), to easily integrate various types of hardware, and to enable high-speed data transmission at a low clock frequency, and to provide an OS. It provides a technology that can handle IPv6 and ICMPv6 protocol in hardware without dependency.

본 발명의 또 다른 목적은 임베디드 시스템(Embedded System) 환경에 유리하게 활용될 수 있는 IPv6 구현 장치를 제공하는 것이다.Still another object of the present invention is to provide an IPv6 implementation device that can be advantageously used in an embedded system environment.

본 발명에 따른 IPv6 구현 장치는 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛; IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며, 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛; TCP와 UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛을 포함한다. IPv6 구현 장치는 서로 분리되어 있는 헤더 버스와 데이터 버스를 포함할 수 있으며, 이 장치의 유닛들은 동기화 동작을 위한 기준 신호를 사용하고 이 기준 신호와 동기된 제어 신호를 사용하는데, 제어 신호는 데이터의 유효 범위를 나타냄과 동시에 이 신호를 수신하는 유닛의 동작을 인에이블한다. 데이터 버스를 통한 물리 매체 인터페이스 유닛과 상위 계층 사이의 데이터 송수신은 상기 IPv6 헤더 처리 유닛에 의해 제어된다. 본 발명의 IPv6 구현 장치는 하드웨어로 구성되며 헤더와 데이터를 분리하여 별도로 처리하고, 물리 계층이나 상위 계층이 제공하는 속도의 손실없이 데이터를 실시간으로 처리한다.An apparatus for implementing IPv6 according to the present invention includes a physical medium interface unit connected to a physical interface layer; An IPv6 header processing unit processing a standard header and an extension header of an IPv6 protocol, and connected to the physical medium interface unit; It includes a higher layer interface unit that is connected to a higher layer protocol including TCP and UDP. An IPv6 implementation may comprise a header bus and a data bus that are separate from each other, the units of which use a reference signal for synchronization operation and a control signal synchronized with the reference signal, the control signal of which Indicate the effective range and enable the operation of the unit receiving this signal. Data transmission and reception between the physical medium interface unit and the upper layer via the data bus is controlled by the IPv6 header processing unit. The apparatus for implementing IPv6 of the present invention is composed of hardware and processes headers and data separately, and processes data in real time without loss of speed provided by a physical layer or a higher layer.

본 발명에서, 물리 매체 인터페이스 유닛은, 상기 물리 인터페이스 계층과의 인터페이스를 위한 인터페이스 로직과, 데이터 링크층에서 데이터의 전달을 위해 정보를 프레임화하고 데이터의 오류 검사를 하며 상기 인터페이스 로직과 연결되는 DLC 처리 로직을 포함하고, IPv6 헤더 처리 유닛은, 하위 계층과의 인터페이스를 위한 하위 계층 인터페이스 로직과, 상위 계층과의 인터페이스를 위한 상위 계층 인터페이스 로직과, IPv6 프로토콜의 기본 헤더를 처리하는 기능 블록과 IPv6 프로토콜의 확장 헤더를 처리하는 기능 블록을 포함하는 IPv6 헤더 처리 로직을 포함하며, 상위 계층 인터페이스 유닛은, 상기 IPv6 헤더 처리 유닛과의 인터페이스를 위한 인터페이스 로직과, 상위 계층과의 인터페이스를 담당하는 CPU 인터페이스 로직과, 응용 프로토콜과 명령과 데이터를 주고받는 API 처리 로직을 포함한다.In the present invention, the physical medium interface unit, the interface logic for the interface with the physical interface layer, and the DLC connected to the interface logic and frame the information for error transfer of data in the data link layer, the data is checked for error The IPv6 header processing unit includes processing logic, the lower layer interface logic for interfacing with the lower layer, the upper layer interface logic for interfacing with the upper layer, the function block for processing the basic header of the IPv6 protocol, and the IPv6. An IPv6 header processing logic including a function block for processing an extension header of a protocol, wherein the upper layer interface unit includes interface logic for interfacing with the IPv6 header processing unit and a CPU interface for interfacing with an upper layer. Logic, application protocols and commands It comprises processing logic API to send and receive data.

본 발명의 장치에 사용되는 제어 신호(인에이블 신호)는 상위 계층까지 그대로 전달되어 시간 지연 없이 실시간 데이터 전달과 처리가 가능하고, 물리 계층의 라인 속도를 지원하고 시간 지연 없이 실시간으로 IPv6, ICMPv6 프로토콜을 처리하는 하드웨어 로직이 구현된다. 또한, 장치의 내부 유닛을 송신부와 수신부를 분리하여 병렬 구성함으로써, 송신 동작과 수신 동작을 동시에 독립적으로 처리할 수 있다.The control signal (enable signal) used in the device of the present invention is transmitted to the upper layer as it is, enabling real-time data transmission and processing without time delay, supporting the line speed of the physical layer, and IPv6, ICMPv6 protocol in real time without time delay. Hardware logic to handle this is implemented. In addition, by separating the transmitter unit and the receiver unit in parallel to the internal unit of the apparatus, it is possible to independently process the transmission operation and the reception operation simultaneously.

구현예Embodiment

이하, 도면을 참조로 본 발명의 구체적인 구현예에 대해 설명한다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings.

도 5는 본 발명에 따른 IPv6 구현 장치의 전체 구성도이다.5 is an overall configuration diagram of an IPv6 implementing apparatus according to the present invention.

IPv6 구현 장치(100)는 물리 매체 인터페이스 유닛(110), IPv6 헤더 처리 유닛(130), 제1 버퍼 유닛(140), 상위 계층 인터페이스 유닛(150), ICMPv6 처리 유닛(160), 제1 버퍼 유닛(170)을 포함하며, 서로 분리되어 독립적으로 구성되어 있는 데이터 버스(102)와 헤더 버스(104)를 포함한다. 본 발명의 IPv6 구현 장치(100)는 소프트웨어의 개입 없이 순수하게 하드웨어적으로 IPv6 표준 프로토콜을 처리하며, 프로토콜의 헤더와 데이터를 완전히 분리하여 별도로 처리한다. 즉, 물리 인터페이스 계층(180)에서 헤더 및 데이터 버스(106)를 통해 물리 매체 인터페이스 유닛(110)으로 전달된 데이터그램은 헤더와 데이터로 분리되어, 헤더는 헤더 버스(104)에 실려 IPv6 헤더 처리 유닛(130)에 제공되고, 데이터는 데이터 버스(102)에 실린다. 또한, 본 발명의 IPv6 구현 장치(100)는 그 내부 유닛들의 동기화 동작을 위한 기준 신호를 사용한다. 기준 신호는 내부 유닛들에 공통으로 적용되는 하나의 시스템 클록을 사용하여 실현될 수도 있고, 내부 유닛에 서로 다른 클록 신호를 사용하고 이들 클록 신호들을 동기시킴으로써 실현될 수도 있다.The IPv6 implementation apparatus 100 includes a physical medium interface unit 110, an IPv6 header processing unit 130, a first buffer unit 140, a higher layer interface unit 150, an ICMPv6 processing unit 160, and a first buffer unit. And a data bus 102 and a header bus 104 which are separated from each other and independently configured. The IPv6 implementation apparatus 100 of the present invention processes the IPv6 standard protocol purely in hardware without software intervention, and completely separates the header and data of the protocol. That is, datagrams transmitted from the physical interface layer 180 to the physical media interface unit 110 through the header and data bus 106 are separated into headers and data, and the headers are carried on the header bus 104 to process IPv6 headers. The data is provided to the unit 130 and the data is carried on the data bus 102. In addition, the IPv6 implementation apparatus 100 of the present invention uses a reference signal for the synchronization operation of its internal units. The reference signal may be realized using one system clock commonly applied to the internal units, or may be realized by using different clock signals for the internal units and synchronizing these clock signals.

물리 매체 인터페이스 유닛(110)은 IPv6 표준 프로토콜의 하위 계층인 물리 인터페이스 계층(180) 예컨대, 이더넷(Ethernet), 토큰링(Token Ring), ARCNET (Attached Resource Computer Network), MAN (Metropolitan Area Network) 또는 WAN (Wide Area Network)과 같은 매체 접근 제어기(MAC; Media Access Controller)와 연결되는 논리 회로이다. 물리 매체 인터페이스 유닛(110)과 물리 인터페이스 계층(180)은 패킷 데이터 및 헤더 버스(106)를 통해 연결된다. 물리 매체 인터페이스 유닛(110)의 내부 구성과 동작에 대해서는 도 6과 도 8을 참조로 후술한다.The physical media interface unit 110 may include a physical interface layer 180 that is a lower layer of the IPv6 standard protocol, such as Ethernet, Token Ring, Attached Resource Computer Network (ARCNET), Metropolitan Area Network (MAN) or A logic circuit connected to a Media Access Controller (MAC) such as a wide area network (WAN). The physical media interface unit 110 and the physical interface layer 180 are connected via a packet data and header bus 106. An internal configuration and operation of the physical medium interface unit 110 will be described later with reference to FIGS. 6 and 8.

IPv6 헤더 처리 유닛(130)은 도 2에 나타낸 IPv6 표준 프로토콜의 헤더를 처리하는 하드웨어로서, 표준 헤더와 확장 헤더 각각을 처리하는 기능 블록으로 구성되어 있다. IPv6 헤더 처리 유닛(130)은 물리 매체 인터페이스 유닛(110)과 헤더 버스(104)를 통해 연결되어 있고, 제1 버퍼 유닛(140), 상위 계층 인터페이스 유닛(150), ICMPv6 처리 유닛(160) 및 외부 보안 유닛(185)과 통신하는데, 이것은 도 6과 도 8을 참조로 후술되는 바와 같다. IPv6 헤더 처리 유닛(130)의 내부 구조와 동작에 대해서는 도 9 내지 도 12를 참조로 후술한다.The IPv6 header processing unit 130 is hardware for processing the header of the IPv6 standard protocol shown in FIG. 2 and is composed of functional blocks for processing each of the standard header and the extension header. The IPv6 header processing unit 130 is connected to the physical media interface unit 110 through the header bus 104, and includes a first buffer unit 140, a higher layer interface unit 150, an ICMPv6 processing unit 160, and It communicates with an external security unit 185, as described below with reference to FIGS. 6 and 8. The internal structure and operation of the IPv6 header processing unit 130 will be described later with reference to FIGS. 9 to 12.

제1 버퍼 유닛(140)은 IPv6 프로토콜과 물리 계층을 위한 데이터 저장 공간이다. 예컨대, 물리 계층이 이더넷인 경우 물리 매체 인터페이스 유닛(110)에서는 이더넷으로부터 실시간으로 계속 들어오는 데이터를 오류 검사하는 CRC 검사를 실시하는데, 오류 검사 결과 오류가 없으면 버퍼 유닛(140)에 저장되어 있던 데이터가 데이터 버스(102)에 실려 상위 계층으로 전달되고 오류가 있는 경우에는 버퍼 유닛(140)에 저장되어 있던 데이터가 삭제된다.The first buffer unit 140 is a data storage space for the IPv6 protocol and the physical layer. For example, when the physical layer is Ethernet, the physical media interface unit 110 performs a CRC check for error checking of data continuously received from the Ethernet in real time. If there is no error as a result of the error checking, the data stored in the buffer unit 140 is stored. The data stored in the buffer unit 140 is deleted when the data is loaded on the data bus 102 to the upper layer and there is an error.

상위 계층 인터페이스 유닛(150)은 상위 계층 프로토콜(190) 예컨대, 전송 계층(도 1의 '14')의 TCP 프로토콜이나 UDP 프로토콜과의 접속을 위한 인터페이스 논리 회로이다. 이에 대해서는 도 14를 참조로 후술한다.The upper layer interface unit 150 is an interface logic circuit for connecting with the TCP protocol or the UDP protocol of the upper layer protocol 190, for example, the transport layer ('14' in FIG. 1). This will be described later with reference to FIG. 14.

ICMPv6 처리 유닛(160)은 ICMP 메시지를 처리하는데, ICMPv6는 IPv6 노드에서 패킷 또는 데이터그램을 처리할 때 발생하는 오류를 보고하고 기타 인터넷 계층에서 하는 기능을 수행한다. 이 프로토콜은 RFC 2463 표준문서에 기술되어 있다.ICMPv6 processing unit 160 processes ICMP messages, where ICMPv6 reports errors that occur when processing packets or datagrams at an IPv6 node and performs other Internet layer functions. This protocol is described in the RFC 2463 standard document.

제2 버퍼 유닛(170)은 ICMPv6 프로토콜을 위한 임시 데이터 저장 공간이다.The second buffer unit 170 is a temporary data storage space for the ICMPv6 protocol.

본 발명에 따른 IPv6 구현 장치(100)에서 하위 계층 인터페이스 유닛(110)과 상위 계층 인터페이스 유닛(150)은 어떠한 소프트웨어의 개입없이 순수하게 하드웨어적으로 연결되며, 물리 인터페이스 계층(180)이나 상위 계층(190)이 제공하는 속도의 손실없이 IPv6 구현 장치(100)가 데이터를 교환할 수 있도록 한다.In the IPv6 implementation apparatus 100 according to the present invention, the lower layer interface unit 110 and the upper layer interface unit 150 are purely connected in hardware without any software intervention, and the physical interface layer 180 or the upper layer ( Allows the IPv6 implementation 100 to exchange data without losing the speed provided by 190.

도 5의 IPv6 구현 장치에 대한 앞의 설명으로부터 알 수 있는 것처럼, 본 발명에 따르면, IPv6 응용 표준 통신 프로토콜에서 응용 계층은 소프트웨어로 구현되지만, IPv6 계층의 하위 계층인 물리 계층 하드웨어와의 연결을 제1 하드웨어 인터페이스 로직을 통해 처리하며, 상기 물리 계층 하드웨어를 제어하고 물리 계층 프레임을 생성하고 해석하고 제거하는 기능을 하드웨어적으로 처리하며, IPv6 프로토콜의 헤더를 하드웨어 기능 블록으로 처리하고, IPv6 계층의 상위 계층과의 정보 교환과 명령 교환을 제2 하드웨어 인터페이스 유닛으로 처리하며, 상기 제1 하드웨어 인터페이스 로직은 물리 계층 하드웨어 제어기와 제어 신호와 데이터를 전달하는 인터페이스를 통해 구현한다.As can be seen from the foregoing description of the IPv6 implementing apparatus of FIG. 5, according to the present invention, in the IPv6 application standard communication protocol, the application layer is implemented in software, but the connection with the physical layer hardware that is a lower layer of the IPv6 layer is removed. 1 hardware interface logic, the hardware control of the physical layer hardware, the function of generating, interpreting and removing the physical layer frame in hardware, the processing of the header of the IPv6 protocol as a hardware functional block, the upper part of the IPv6 layer Information exchange and command exchange with a layer is handled by a second hardware interface unit, and the first hardware interface logic is implemented through a physical layer hardware controller and an interface for transmitting control signals and data.

물리 매체 인터페이스 유닛Physical media interface unit

도 6은 본 발명에 따른 IPv6 구현 장치에 사용되기에 적합한 물리 매체 인터페이스 유닛(110)의 세부 구성도이다.6 is a detailed block diagram of a physical medium interface unit 110 suitable for use in an IPv6 implementation device according to the present invention.

도 6을 참조하면, 물리 매체 인터페이스 유닛(110)은 인터페이스 로직(112), DLC (Data Link Control) 처리 로직(114), 다중화/역다중화기(116)를 포함한다. 도 6에는 물리 인터페이스 계층으로서 이더넷 MAC 유닛(180)을 예로 들었지만, 본 발명의 장치가 이더넷 MAC 유닛과 인터페이스 하는 것으로 한정되지 않는다는 점은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 쉽게 알 수 있을 것이다. 이더넷 MAC 유닛(180)은 인터페이스 로직(182)과 MAC 제어기(184)를 포함한다. 본 발명의 구성을 명확하게 하기 위해, 우선 종래 소프트웨어 MAC 제어기(184)를 이용하는 기술을 도 7을 참조로 설명한다.Referring to FIG. 6, the physical medium interface unit 110 includes an interface logic 112, a data link control (DLC) processing logic 114, and a multiplexer / demultiplexer 116. Although FIG. 6 illustrates the Ethernet MAC unit 180 as the physical interface layer, it is easily understood by those skilled in the art that the apparatus of the present invention is not limited to interfacing with the Ethernet MAC unit. Could be. Ethernet MAC unit 180 includes interface logic 182 and MAC controller 184. To clarify the configuration of the present invention, a technique of using the conventional software MAC controller 184 will first be described with reference to FIG.

도 7에서, 종래 이더넷 MAC 유닛(180)은 CPU(80)에서 수행되는 OS(81)와 연동하기 위해 PCI (Peripheral Component Interconnect), ISA (Industry Standard Architecture), PCMCIA (Personal Computer Memory Card International Association) 등의 인터페이스(182a)를 지원하며 MAC 제어기(184a)를 제어하기 위해 CPU(80)에서 실행되는 OS(81) 내부에 구동 프로그램(82)이 탑재되며, DLC 프로토콜은 OS(81) 내부의 소프트웨어(82)에 의해 처리된다. OS(81)는 DLC와 드라이버 프로그램을 처리하는 과정에서 데이터를 메모리(87)에 저장하기도 하고, 메모리(87)로부터 필요한 데이터를 불러온다. 예를 들어, 물리 계층(195)이 이더넷인 경우, OS(81) 내부의 이더넷 구동 프로그램(82)은 PCI 등의 외부 인터페이스(85)를 통해 이더넷 MAC 제어기(184a)로부터 받은 데이터를 이용하여 이더넷 프레임을 해석하고 상위의 IPv6(83)로 전달해 주는 기능을 수행하는 소프트웨어이다. 이러한 종래 방법에서는 LAN 카드에 사용되는 이더넷 MAC 프로토콜과 PC에 사용되는 PCI 인터페이스는 하드웨어로 구현되어 있지만, 이더넷 구동 프로그램(82)과 상위의 IPv6 프로토콜(83)은 소프트웨어로 구현되어 있음을 알 수 있다.In FIG. 7, the conventional Ethernet MAC unit 180 is a Peripheral Component Interconnect (PCI), an Industry Standard Architecture (ISA), and a Personal Computer Memory Card International Association (PCMCIA) to interoperate with an OS 81 performed in a CPU 80. Interface 182a, and the driving program 82 is mounted inside the OS 81 running on the CPU 80 to control the MAC controller 184a, and the DLC protocol is a software inside the OS 81. It is processed by 82. The OS 81 may store data in the memory 87 in the process of processing the DLC and the driver program, and retrieve necessary data from the memory 87. For example, when the physical layer 195 is Ethernet, the Ethernet driving program 82 inside the OS 81 uses the data received from the Ethernet MAC controller 184a through an external interface 85 such as PCI. Software that interprets frames and delivers them to upper IPv6 (83). In this conventional method, the Ethernet MAC protocol used for the LAN card and the PCI interface used for the PC are implemented in hardware, but it can be seen that the Ethernet driving program 82 and the upper IPv6 protocol 83 are implemented in software. .

이에 비해, 도 6에 도시한 본 발명의 물리 매체 인터페이스 유닛(110)은 종래 OS의 구동 프로그램에 의해 소프트웨어적으로 처리되었던 물리 계층 구동 프로그램을 소프트웨어의 개입없이 순수 하드웨어적으로 처리하여 IPv6 프로토콜에 네트워크 데이터를 직접 전달하는 기능을 수행한다. 즉, 물리 매체 인터페이스 유닛(110)은 IPv6 프로토콜 계층까지 소프트웨어의 개입없이 하드웨어적으로 데이터를 전달할 수 있도록 하기 위해, 이더넷 MAC 칩과 같은 물리 계층 하드웨어(195)를 제어하고 기존의 소프트웨어 구동 프로그램에서 수행하던 물리 계층 프레임(header와 trailer)을 생성하거나 해석하고 제거하는 기능을 하드웨어적으로 처리하며 필요한 경우 각종 CRC 검사와 같은 에러 처리를 하드웨어적으로 처리한다.In contrast, the physical medium interface unit 110 of the present invention shown in FIG. 6 processes the physical layer drive program, which has been processed in software by a drive program of the conventional OS, in pure hardware without software intervention, thereby networking the IPv6 protocol. It performs the function of passing data directly. That is, the physical media interface unit 110 controls the physical layer hardware 195, such as an Ethernet MAC chip, and executes it in an existing software driven program, so that data can be transmitted in hardware without software intervention up to the IPv6 protocol layer. The hardware process of creating, interpreting, and removing physical layer frames (headers and trailers) is handled in hardware. If necessary, error processing such as various CRC checks is handled in hardware.

도 6의 물리 매체 인터페이스 유닛(110)에서 인터페이스 로직(112)은 MAC 유닛(180)과 IPv6 구현 장치(100)를 하드웨어적으로 직접 연결하기 위해 제어 신호와 데이터를 전달하는 간단한 인터페이스를 통해 구현된다.In the physical medium interface unit 110 of FIG. 6, the interface logic 112 is implemented through a simple interface for transferring control signals and data to hardware-directly connect the MAC unit 180 and the IPv6 implementation 100. .

DLC 처리 로직(114)은 데이터 링크층에서 데이터의 전달을 위해 정보를 프레임화하고, 전송하는 프레임의 정확한 수신을 위해 프레임 번호를 이용한다. DLC에서 처리되는 프레임은 프리엠블(preamble), IP 헤더, TCP 헤더, 데이터, 테일러(tailer)로 구성될 수 있는데, DLC 처리 로직(114)은 데이터를 CRC 검사한 후 그 결과를 테일러에 들어 있는 값과 비교하여 에러가 있으면 버퍼 유닛(140)에 롤-백 신호(roll-back signal)를 보내 버퍼 유닛(140)에 저장되어 있던 데이터를 삭제하도록 하고, 프리엠블과 테일러를 제거하여 상위로 전달한다. DLC 처리 로직(114)은 제1 버퍼 유닛(140)에 롤백 신호를 보내는데, 이 신호가 없으면 데이터가 오류없는 유효 데이터임을 나타낸다.DLC processing logic 114 frames the information for delivery of data at the data link layer and uses the frame number for accurate reception of the transmitting frame. The frame processed in the DLC may be composed of a preamble, an IP header, a TCP header, data, and a tailor. The DLC processing logic 114 performs a CRC check on the data and then stores the result in the Taylor. If there is an error compared to the value, a roll-back signal is sent to the buffer unit 140 to delete the data stored in the buffer unit 140, and the preamble and the taylor are removed to be transferred to the upper level. do. The DLC processing logic 114 sends a rollback signal to the first buffer unit 140, but the absence of this signal indicates that the data is valid data without error.

다중화 및 역다중화기(116)는 헤더 버스(104) 및 패킷 데이터 버스(102)와 연결된다. 다중화기는 데이터 송신에서 동작하며 헤더와 데이터를 결합하여 패킷으로 만들고 역다중화기는 데이터 수신에서 동작하며 패킷을 헤더와 데이터로 분리하여 헤더는 제어 신호와 함께 헤더 버스(104)에 올리고 데이터는 데이터 버스(102)에 싣는다.The multiplexer and demultiplexer 116 is coupled with the header bus 104 and the packet data bus 102. The multiplexer operates on data transmission and combines headers and data into packets, and the demultiplexer operates on data reception, separates packets into headers and data, the headers are placed on header bus 104 with control signals, and the data 102).

도 8은 본 발명의 IPv6 구현 장치(100)에서 내부 유닛들 사이에서 또는 내부 유닛과 외부 유닛 사이에서 사용하는 인터페이스 신호를 보여준다. 도 8의 인터페이스 신호는 예컨대, 도 6에서 물리 매체 인터페이스 유닛(110)의 인터페이스 로직(112)과 MAC 유닛(180)의 인터페이스 로직(182)이 주고 받는다. 여기서 클록 신호(202)는 IPv6 구현 장치(100)의 내부 유닛들의 동기화를 위한 기준 신호이다. 물리 매체 인터페이스 유닛(110)은 물리 계층으로부터 데이터를 끊김없이 연속적으로 수신하기 위해 물리 계층이 동작하는 클록과 동기화된 클록 신호(202)를 사용하거나, 내부 FIFO(First In First Out) 메모리 등의 완충 버퍼 공간을 이용하여 물리 계층과 서로 다른 클록 신호(202)를 사용할 수 있다. 여기서, 동기화란 하나의 클록이 다른 클록의 정수배의 주기를 가지며, 한 클록의 상승 모서리(rising edge)가 다른 클록이나 신호(예컨대, 인에이블(enable) 신호(204)나 데이터(206) 신호)의 상승 모서리 또는 하강 모서리와 일치하거나 그 차이가 일정한 오차범위 이내에 있음을 의미한다.8 shows an interface signal used between internal units or between an internal unit and an external unit in the IPv6 implementation apparatus 100 of the present invention. For example, the interface signal of FIG. 8 is exchanged between the interface logic 112 of the physical medium interface unit 110 and the interface logic 182 of the MAC unit 180 in FIG. 6. Here, the clock signal 202 is a reference signal for synchronizing internal units of the IPv6 implementation apparatus 100. The physical medium interface unit 110 uses a clock signal 202 synchronized with a clock on which the physical layer operates to continuously receive data from the physical layer continuously, or buffers an internal First In First Out (FIFO) memory or the like. The buffer space may be used to use different clock signals 202 from the physical layer. Here, synchronization means that one clock has a period of an integer multiple of another clock, and the rising edge of one clock has a different clock or signal (for example, an enable signal 204 or a data 206 signal). It means that the coincidence with the rising edge or falling edge of is within a certain error range.

도 8에서 인에이블 신호(204)는 데이터(206)의 유효 범위를 나타내고 인에이블 신호를 받는 유닛의 동작을 인에이블시키는 두 가지의 의미를 가진다. 즉, 인에이블 신호(204)가 활성(active)인 시점에 존재하는 데이터(206)는 유효 데이터이다. 도 8에서는 인에이블 신호(204)가 하이(high)인 경우 활성인 것을 예시하였지만, 인에이블 신호(204)가 로우(low)인 경우에 활성이 되도록 구성하는 것도 가능하다. 마찬가지로, 클록 신호(202)가 하이로 갈 때, 인에이블 신호(204)와 데이터(206)의 전환이 일어나는 것을 나타내었지만, 클록 신호(202)의 하강 모서리에서 신호(204)와 데이터(206) 전환이 일어나도록 구성할 수도 있다. 여기서 데이터(206)는 4-비트, 8-비트, 16비트, 32-비트 또는 64-비트의 데이터 폭을 가질 수 있는 데이터 버스이다. 또한, 데이터(206)는 헤더 데이터가 될 수도 있고, TCP 세그먼트나 UDP 데이터그램이 될 수도 있다.In FIG. 8, the enable signal 204 represents the effective range of the data 206 and has two meanings for enabling the operation of a unit receiving the enable signal. That is, the data 206 present at the time when the enable signal 204 is active is valid data. Although FIG. 8 illustrates that the enable signal 204 is high, the active signal 204 may be configured to be active when the enable signal 204 is low. Likewise, when the clock signal 202 goes high, it indicates that the enable signal 204 and data 206 are switched, but at the falling edge of the clock signal 202 the signal 204 and the data 206. You can also configure the switch to take place. Here data 206 is a data bus that may have a data width of 4-bit, 8-bit, 16-bit, 32-bit, or 64-bit. In addition, the data 206 may be header data or may be a TCP segment or a UDP datagram.

이상, 물리 매체 인터페이스 유닛(110)의 내부 구성과 클록, 제어 신호에 대해서 설명하였는데, 도 5의 IPv6 헤더 처리 유닛(130), 제1 버퍼(140), 상위 계층 인터페이스 유닛(150), ICMPv6 처리 유닛(160) 및 제2 버퍼(170) 사이에도 데이터 전달을 위해 물리 매체 인터페이스 유닛(110)의 인터페이스 로직(112)과 도 8의 인터페이스 신호를 사용할 수 있다. 또한, 도 6에서 물리 계층(195)은 이더넷 뿐만 아니라, 무선 LAN, 전력선 통신선로(Power-line Communication), 불루투쓰 (Bluetooth), 홈 PNA (Home Phoneline Networking Alliance), 홈 RF (Home Radio Frequency), CDMA (Code Division Multiple Access), GSM (Global System for Mobile communication) 등 다양한 물리 계층을 포함한다.The internal configuration, the clock, and the control signal of the physical medium interface unit 110 have been described above, but the IPv6 header processing unit 130, the first buffer 140, the upper layer interface unit 150, and the ICMPv6 processing of FIG. The interface signals of FIG. 8 and the interface logic 112 of the physical medium interface unit 110 may also be used for data transfer between the unit 160 and the second buffer 170. In addition, in FIG. 6, the physical layer 195 is not only an Ethernet, but also a wireless LAN, a power-line communication, a Bluetooth, a home phoneline networking alliance (PNA), and a home radio frequency (RF). And various physical layers such as Code Division Multiple Access (CDMA) and Global System for Mobile communication (GSM).

도 6과 도 8을 참조로 설명한 바와 같이, IPv6 프로토콜을 하드웨어로 처리하는 상위 계층과 하위 계층 간의 데이터 전달을 위한 인터페이스 블록(120)은, 상위 계층에 속한 제1 인터페이스 로직(예컨대, 도 6의 '112')과 하위 계층에 속한 제2 인터페이스 로직(예컨대, 도 6의 '182')을 포함한다. 여기서 제1 인터페이스 로직과 제2 인터페이스 로직은, 상위 계층의 동작과 하위 계층의 동작이 동기되도록 하는 기준 신호와, 이 기준 신호에 동기된 제어 신호를 사용하며, 상기 제어 신호는 상기 데이터의 유효 범위를 나타내고 이 제어 신호를 받는 유닛의 동작을 인에이블하는 것을 특징으로 한다.As described with reference to FIGS. 6 and 8, the interface block 120 for data transfer between an upper layer and a lower layer that processes the IPv6 protocol by hardware may include first interface logic (eg, FIG. 6 of FIG. 6). '112') and second interface logic belonging to a lower layer (eg, '182' of FIG. 6). Here, the first interface logic and the second interface logic use a reference signal for synchronizing the operation of the upper layer and the operation of the lower layer, and a control signal synchronized with the reference signal, wherein the control signal is an effective range of the data. And enable operation of the unit receiving the control signal.

IPv6 헤더 처리 유닛IPv6 header processing unit

물리 계층의 라인 속도를 보장하기 위해 IPv6의 기본 헤더와 확장 헤더를 지연없이 처리하기 위한 구조와 제어 방법에 대해 설명한다.In order to guarantee the line speed of the physical layer, a structure and a control method for processing the IPv6 basic header and extended header without delay are described.

도 9는 본 발명의 IPv6 구현 장치(100)의 IPv6 헤더 처리 유닛(130)의 내부 구성을 나타내는 블록도이다. IPv6 헤더 처리 유닛(130)은 하위 계층 인터페이스 로직(132), IPv6 헤더 처리 로직(135), 상위 계층 인터페이스 로직(138)을 포함한다. 인터페이스 로직들(132, 138)은 앞에서 도 8을 참조로 설명했던 인터페이스 신호를 사용한다. IPv6 헤더 처리 로직(135)은 IPv6 프로토콜의 기본 헤더를 처리하는 기능 블록 BH(210)와 확장 헤더를 처리하는 기능 블록들 HOH(212), DOH(214), RH(216), FH(218), AH(220), ESPH(222), DOH(224)과, 제어 신호선(226), 헤더 버스(228)을 포함한다. 헤더 처리 기능 블록들은 도 9에 도시한 순서로 배열되는 것이 바람직하며, 확장 헤더들의 순서를 바뀌는 것은 가능하지만, HOH 헤더는 BH 헤더 바로 다음에 위치하여야 한다. IPv6 헤더 처리 유닛(130)에는 동기화를 위한 기준 신호가 제공되고, 제어 신호선(226)에는 인에이블 신호가 유통된다.9 is a block diagram showing the internal structure of the IPv6 header processing unit 130 of the IPv6 implementation apparatus 100 of the present invention. The IPv6 header processing unit 130 includes a lower layer interface logic 132, an IPv6 header processing logic 135, and a higher layer interface logic 138. The interface logics 132 and 138 use the interface signal described above with reference to FIG. 8. The IPv6 header processing logic 135 is the function block BH 210 for processing the basic header of the IPv6 protocol and the function blocks HOH 212, DOH 214, RH 216, FH 218 for processing the extended header. , AH 220, ESPH 222, DOH 224, control signal line 226, and header bus 228. The header processing functional blocks are preferably arranged in the order shown in Fig. 9, although it is possible to change the order of extension headers, but the HOH header should be located immediately after the BH header. The reference signal for synchronization is provided to the IPv6 header processing unit 130, and the enable signal is distributed to the control signal line 226.

기능 블록들의 명칭과 기능은 아래의 표 1과 같으며, 확장 헤더의 처리를 위한 기능 블록들은 응용 기술에 따라 생략되거나 추가될 수 있다는 점은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 쉽게 이해할 것이다. 예컨대, DOH 헤더 다음에 상위 계층 헤더가 추가될 수 있다. The names and functions of the functional blocks are shown in Table 1 below, and the functional blocks for the processing of the extended header may be omitted or added according to an application technology, as long as those skilled in the art to which the present invention pertains. Will be easy to understand. For example, a higher layer header may be added after the DOH header.

기능 블럭Function block 명칭 및 기능 Name and function BH BH IPv6 Basic Header 처리 블럭 IPv6 Basic Header Processing Block HOH HOH Hop-by-Hop Options Header 처리 블럭 Hop-by-hop options header processing block DOH DOH Destination Options Header 처리 블럭 Destination Options Header Processing Block RH RH Routing Header 처리 블럭 Routing Header Processing Block FH FH Fragment Header 처리 블럭 Fragment Header Processing Block AH AH Authentication Header 처리 블럭 Authentication Header processing block ESP ESP Encapsulation Security Payload 헤더 처리 블럭 Encapsulation Security Payload Header Processing Block DOH DOH Destination Options Header 처리 블럭 Destination Options Header Processing Block

위의 표에서 기능 블록 BH(210)는 도 2에 나타낸 IPv6 프로토콜 헤더 중 기본 헤더에 해당하는 버전 필드(22)에서 목적지 주소 필드(36)까지의 40-바이트를 하드웨어적으로 처리하는 블록이다. HOH 기능 블록(212)과 제1 DOH 기능 블록(214)은 TLV(Type-Length-Value) 부호화된 옵션들의 변수를 전달하는데, 이 변수는 옵션 유형-옵션 데이터 길이-옵션 데이터의 포맷으로 되어 있다. HOH 기능 블록(212)은 어느 패킷의 전송 경로상에 존재하는 모든 노드에 의해 조사되어야만 하는 추가 정보(옵션 정보)를 전달한다. IPv6 헤더의 NH 필드의 값 0에 의해 HOH 옵션 헤더를 식별한다. RH 기능 블록(216)은 패킷의 목적지로 가는 동안 방문해야 하는 중간 노드(intermediate node)들을 IPv6 소스가 리스트하는 데에 사용된다. RH 헤더는 그 앞단에 존재하는 헤더의 NH 필드의 값 43에 의해 식별된다. FH 기능 블록(218)은 목적지까지의 경로에서 처리할 수 있는 최대전송 단위(MTU; Maximum Transmission Unit)로 수용할 수 있는 것 이상의 패킷을 IPv6 소스가 전달하는 데에 사용된다. FH 헤더는 그 앞단에 존재하는 헤더의 NH 필드의 값 44에 의해 식별된다. AH 기능 블록(220)과 ESP 기능 블록(222)은 보안 기능을 제공하는데, 예컨대 IPsec의 기능을 수행하며, 전송 모드(transport mode) 또는 터널 모드(tunnel mode)로 구현될 수 있다. AH 기능 블록(220)은 IP 데이터그램의 인증과 무결성을 제공하며, ESP 기능 블록(222)은 IP 데이터그램의 무결성과 기밀성(confidentiality)을 보장한다. 제2 DOH 기능 블록(224)은 패킷의 목적지 노드에서만 조사할 필요가 있는 추가 정보를 전달하는 데에 사용된다.In the above table, the function block BH 210 is a block for hardware-processing 40-bytes from the version field 22 corresponding to the basic header of the IPv6 protocol header shown in FIG. 2 to the destination address field 36. HOH function block 212 and first DOH function block 214 convey a variable of Type-Length-Value (TLV) coded options, which are in the format of option type-option data length-option data. . The HOH function block 212 carries additional information (optional information) that must be examined by all nodes present on the transmission path of a packet. The HOH option header is identified by the value 0 in the NH field of the IPv6 header. RH function block 216 is used by the IPv6 source to list intermediate nodes that should be visited while going to the destination of the packet. The RH header is identified by the value 43 of the NH field of the header that precedes it. The FH function block 218 is used by the IPv6 source to deliver more packets than the maximum transmission unit (MTU) can handle on the path to the destination. The FH header is identified by the value 44 of the NH field of the header that precedes it. The AH function block 220 and the ESP function block 222 provide security functions. For example, the AH function block 220 and the ESP function block 222 may perform IPsec functions and may be implemented in a transport mode or a tunnel mode. The AH function block 220 provides authentication and integrity of the IP datagram, and the ESP function block 222 ensures the integrity and confidentiality of the IP datagram. The second DOH function block 224 is used to convey additional information that needs to be examined only at the destination node of the packet.

RH 기능 블록(216)과 제2 DOH 기능 블록(224)은 IPv6 프로토콜의 이동성(mobility)을 제공하며, AH 기능 블록(220)과 ESP 기능 블록(222)은 보안 기능을 제공한다.The RH function block 216 and the second DOH function block 224 provide mobility of the IPv6 protocol, and the AH function block 220 and the ESP function block 222 provide security functions.

도 9의 IPv6 헤더 처리 유닛(130)의 동작에 대해 먼저 수신 동작을 설명한다. 물리 매체 인터페이스 유닛(110)에서 필요한 처리를 종료한 후 신호선(226)을 통해 IPv6 헤더 처리 유닛(130)으로 인에이블 신호를 주고, IPv6 헤더 처리 유닛(130)의 BH 기능 블록(210)이 최초로 인에이블되어 IPv6 프로토콜의 기본 헤더에 대한 처리를 수행한다. 기본 헤더에 대한 처리는 바이트 단위로 실시간으로 처리된다. 여기서, 실시간 처리란 도 9에서 헤더 버스(228)에는 연속적으로 물리 계층으로부터 수신한 헤더 정보가 실리게 되고, 각각의 기능 블록들은 자신이 동작을 시작해야 할 시점을 인에이블 신호를 통해 알게 되며, 동작 시에는 시스템 클록에 맞추어 인에이블 신호가 활성인 동안 헤더 버스(228)의 8-비트 또는 16-비트 데이터를 처리하는데, 헤더를 처리할 때 헤더 정보를 나중에 처리하기 위해 임시 저장하거나 다른 처리를 위해 보류하는 등의 동작을 수행하지 않고 물리 계층으로부터 받는 즉시 모든 처리를 종료하는 것을 말한다. BH 기능 블록(210)은 기본 헤더의 처리가 끝나면, 기본 헤더 내의 NH 필드를 보고, 다음 기능 블록의 인에이블 신호를 생성한다. 도 9의 각각의 기능 블록은 도면에 나타낸 것처럼 왼쪽에서 오른쪽으로 차례대로 인에이블되며, 활성화될 확장 헤더가 아닌 경우에는 해당 확장 헤더를 건너 뛰어 그 다음 확장 헤더가 인에이블된다. BH 기능 블록(210)은 물리 매체 인터페이스 유닛(110)에 의해서만 인에이블되며 항상 동작한다.The reception operation will first be described with respect to the operation of the IPv6 header processing unit 130 of FIG. After the necessary processing is finished in the physical medium interface unit 110, the enable signal is transmitted to the IPv6 header processing unit 130 through the signal line 226, and the BH function block 210 of the IPv6 header processing unit 130 first starts. Enabled to perform processing for the default header of the IPv6 protocol. The processing of the basic header is performed in real time on a byte basis. Here, in real time processing, header information continually received from the physical layer is carried on the header bus 228 in FIG. 9, and each functional block knows when it should start an operation through an enable signal. In operation, the 8-bit or 16-bit data on the header bus 228 is processed while the enable signal is active in line with the system clock. When processing the header, the header information is temporarily stored for later processing or other processing. It means to end all processing as soon as it is received from the physical layer without performing an operation such as suspend. After the processing of the basic header, the BH function block 210 looks at the NH field in the basic header and generates an enable signal of the next functional block. Each functional block of FIG. 9 is enabled in order from left to right as shown in the figure, and if it is not an extension header to be activated, the corresponding extension header is skipped and the next extension header is enabled. The BH function block 210 is enabled only by the physical media interface unit 110 and always operates.

IPv6 헤더 처리 유닛(130)의 각각의 기능 블록들은 인에이블 신호에 의해 동작을 시작하고, 동작을 종료하는 시점에서 NH 필드를 검사하여 다음에 인에이블시킬 기능 블록에게 인에이블 신호를 보낸다. 따라서, 도 9의 구조를 예로 들면, 도10a에 나타낸 바와 같이, BH 기능 블록(210)은 하나의 인에이블 입력과 7개의 인에이블 출력을 가진다. 한편, RH 기능 블록(216)은 BH(210), HOH(212), DOH(214) 기능 블록에 의해서만 인에이블될 수 있고, RH 기능 블록(216)은 FH(218), AH(220), ESPH(222), DOH(224) 기능 블록을 인에이블시킬 수 있으므로, RH 기능 블록(216)은 3개의 인에이블 입력과 4개의 인에이블 출력을 가진다. 인에이블 신호는 한 순간에 하나의 신호만 활성화된다. 인에이블 신호에 의한 기능 블록들의 실제 동작을 예로 들면, IPv6 헤더가 기본 헤더와 RH, DOH를 확장 헤더로 가지는 경우 도 10b와 같은 인에이블 신호가 생성된다.Each of the functional blocks of the IPv6 header processing unit 130 starts an operation by the enable signal, and at the end of the operation, examines the NH field and sends an enable signal to the next functional block to enable. Thus, taking the structure of FIG. 9 as an example, as shown in FIG. 10A, the BH function block 210 has one enable input and seven enable outputs. Meanwhile, the RH function block 216 may be enabled only by the BH 210, HOH 212, and DOH 214 function blocks, and the RH function block 216 may be enabled by the FH 218, AH 220, or the like. Since the ESPH 222 and DOH 224 functional blocks can be enabled, the RH functional block 216 has three enable inputs and four enable outputs. Only one signal is active at a time. As an example of the actual operation of the functional blocks by the enable signal, an enable signal as shown in FIG. 10B is generated when the IPv6 header has a base header and RH and DOH as extension headers.

도 10b를 참조하면, 인에이블 신호가 활성 상태가 아닌 기능 블록들 HOH(212), DOH(214), FH(218), AH(220), ESPH(222)은 헤더 버스(228)의 어떠한 데이터도 참조하지 않으며, 이러한 기능 블록들은 구현 방법에 따라 전력 소모를 줄이기 위해 휴면 모드(sleeping mode) 상태에 있거나 동작을 중지시킬 수 있다. 도 10으로부터 알 수 있는 것처럼, 최초의 인에이블 신호는 물리 매체 인터페이스 유닛(110)으로부터 BH 기능 블록(210)으로 전달되며, BH 기능 블록(210)에서부터 RH 기능 블록(216), DOH 기능 블록(224)을 거쳐 마지막 인에이블 신호는 DOH의 NH 필드에 따라 ICMPv6, TCP, UDP 등의 상위 프로토콜 중 하나를 인에이블 시킨다.Referring to FIG. 10B, functional blocks HOH 212, DOH 214, FH 218, AH 220, and ESPH 222 may not have any data on the header bus 228 when the enable signal is not active. Also, these functional blocks may be in a sleeping mode or may stop working to reduce power consumption, depending on the implementation method. As can be seen from FIG. 10, the first enable signal is passed from the physical media interface unit 110 to the BH function block 210, from the BH function block 210 to the RH function block 216, to the DOH function block ( 224), the last enable signal enables one of higher protocols such as ICMPv6, TCP, and UDP according to the NH field of the DOH.

IPv6 헤더 처리 유닛(130)의 인에이블 신호는 상위 계층까지 그대로 전달되기 때문에, TCP, UDP, ICMPv6 등의 상위 계층과도 시간 지연없이 실시간 데이터 전달과 처리가 가능하다. 또한, 헤더 버스(228)에는 클록에 동기된 4-비트 8-비트 또는 16-비트 단위의 헤더 정보가 시간에 따라 연속으로 실린다. 따라서, 이러한 인에이블 신호 및 클록 신호와 함께 클록에 동기되어 연속적으로 실리는 헤더 버스 및 데이터 버스의 정보를 이용하여 물리 계층의 라인 속도를 지원하고 시간 지연 없이 실시간으로 모든 프로토콜을 처리하는 하드웨어 로직을 구현할 수 있다.Since the enable signal of the IPv6 header processing unit 130 is transmitted as it is to the upper layer, it is possible to transmit and process data in real time without time delay with higher layers such as TCP, UDP, and ICMPv6. In addition, the header bus 228 carries 4-bit 8-bit or 16-bit unit header information synchronized with a clock continuously. Therefore, with the enable signal and the clock signal, hardware logic that supports line speed of the physical layer and processes all protocols in real time without time delay using information of header bus and data bus which are continuously loaded in synchronization with the clock. Can be implemented.

IPv6 헤더 처리 유닛(130)의 송신 동작도 위에서 설명했던 수신의 경우와 마찬가지로, 인에이블 신호가 생성되며 인에이블 신호를 수신한 각각의 기능 블록은 해당 확장 헤더를 클록에 동기되어 생성하여 이를 헤더 버스(228)에 실어 하위 계층으로 전달한다. 도 11은 IPv6 헤더 처리 유닛(130)의 송신 동작의 일례를 나타낸다.As in the case of the reception described above, the transmission operation of the IPv6 header processing unit 130 is also enabled, and an enable signal is generated, and each functional block that receives the enable signal generates a corresponding extension header in synchronization with a clock to generate a header bus. (228) to pass to the lower layer. 11 shows an example of a transmission operation of the IPv6 header processing unit 130.

도 11에서 송신 동작은 수신 동작과 달리 지연없는 실시간 송신을 위해서 최하위 계층인 물리 매체 인터페이스 유닛(110)이 가장 먼저 이더넷의 DLC 헤더를 생성하여 물리 계층으로 전송하여야 하므로, 상위 계층에서는 물리 매체 인터페이스 유닛(110)으로 인에이블 신호를 준다. 물리 매체 인터페이스 유닛(110)은 인에이블 신호를 받으면, 이더넷 DLC 헤더를 처리한 후 IPv6 헤더 처리 유닛(130)의 BH 기능 블록(210)으로 인에이블 신호를 보낸다. BH 기능 블록(210)은 수신 동작때와는 달리 클록에 동기하여 헤더 정보를 생성한 후 헤더 버스(228)에 차례로 실어준다. 이때, BH 기능 블록(210)은 기본 헤더 필드의 다음 헤더(NH)를 알기 위해 상위 계층에서 전달되는 다음 헤더 정보를 이용한다. 동일한 방법으로 나머지 기능 블록들에 대한 처리가 이루어지며, 마지막으로 DOH 기능 블록(224)은 모든 헤더의 생성 및 전송이 완료되었음을 알리고 데이터의 전송을 시작하도록 하기 위해, 인에이블 신호를 상위 계층으로 다시 보낸다.In the transmission operation of FIG. 11, unlike the reception operation, the physical media interface unit 110, which is the lowest layer, must first generate and transmit the DLC header of Ethernet to the physical layer for real time transmission without delay. Give an enable signal to (110). Upon receiving the enable signal, the physical medium interface unit 110 processes the Ethernet DLC header and then sends the enable signal to the BH function block 210 of the IPv6 header processing unit 130. Unlike the reception operation, the BH function block 210 generates header information in synchronization with a clock and then loads the header information on the header bus 228. At this time, the BH function block 210 uses the next header information transmitted from the upper layer to know the next header (NH) of the basic header field. Processing is performed on the remaining functional blocks in the same way, and finally, the DOH functional block 224 sends the enable signal back to the higher layer in order to inform the completion of the generation and transmission of all headers and to start transmitting data. send.

이와 같은 실시간 처리를 위해 IPv6 헤더 처리 유닛(130)의 각각의 기능 블록들은 도 12a와 도 12b에 나타낸 내부 구조를 가진다.Each functional block of the IPv6 header processing unit 130 has an internal structure shown in FIGS. 12A and 12B for such real-time processing.

도 12를 참조하면, IPv6 헤더 처리 유닛(130)의 기능 블록들(210~224)은 각각 헤더 버스(228)와 연결된 헤더 처리 로직(250)과 NH 인에이블 로직(260)을 포함하며, 도 12b의 송신 동작시 기능 블록은 앞에서 설명했던 바와 같이 도 12a의 수신 동작과 달리 다음 헤더(NH) 정보를 참조한다.Referring to FIG. 12, the functional blocks 210 to 224 of the IPv6 header processing unit 130 include header processing logic 250 and NH enable logic 260 connected to the header bus 228, respectively. As described above, the functional block in the transmission operation of 12b refers to the next header (NH) information unlike the reception operation of FIG. 12A.

한편, AH 기능 블록(220)과 ESPH 기능 블록(222)은 특정 보안 알고리즘을 처리하기 위한 외부 접속을 위해 도 13과 같은 구조를 가질 수도 있다. AH 기능 블록(220)과 ESPH 기능 블록(222)은 각 응용에 따라 다양한 형태의 보안 알고리즘을 지원해야 하므로, 하드웨어적으로 미리 기능을 고정시키는 것은 가격면에서 불리하다. 본 발명에서는 AH 기능 블록(220)과 ESPH 기능 블록(222)을 인터페이스를 이용하여 외부 보안 장치와 하드웨어적으로 접목하는 방법을 채택하는 것이 바람직하다.Meanwhile, the AH function block 220 and the ESPH function block 222 may have a structure as shown in FIG. 13 for an external connection for processing a specific security algorithm. Since the AH function block 220 and the ESPH function block 222 must support various types of security algorithms according to each application, it is disadvantageous in terms of price to fix the function in advance in hardware. In the present invention, it is preferable to adopt a method of hardware-grafting the AH function block 220 and the ESPH function block 222 with an external security device using an interface.

도 13을 참조하면, AH 기능 블록(220)과 ESPH 기능 블록(222)은 다른 기능 블록의 헤더 처리 로직(250), NH 인에이블 로직(260)에 더하여, 데이터 버퍼(270)와 외부 보안 인터페이스 로직(280)을 더 포함한다. 외부 보안 인터페이스 로직(280)은 외부 보안 유닛(290)과 연결되는데, 외부 보안 유닛(290)은 보안 알고리즘을 수행하는 상용 로직, 프로세서, DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), ASSP (Application Specific Standard Products) 또는 CPU를 의미한다. 외부 보안 인터페이스 유닛(280)은 ISA, PCI, PCMCIA, I2C (Inter-IC Control), SPI (Service Provider Interface) 등의 다양한 형태의 표준 인터페이스를 이용하여 외부의 보안 유닛(290)과 하드웨어적으로 직접 접속하며, 이들 외부 유닛(290)과 동기를 맞추거나 일정한 데이터의 버퍼링이 필요한 경우 데이터 버퍼(270)에 보안 처리가 필요한 데이터를 임시로 저장한다.Referring to FIG. 13, the AH function block 220 and the ESPH function block 222 may include a data buffer 270 and an external security interface in addition to the header processing logic 250 and the NH enable logic 260 of other function blocks. It further includes logic 280. The external security interface logic 280 is connected to the external security unit 290, which is a commercial logic, a processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), ASSP (Application Specific Standard Products) or CPU. The external security interface unit 280 uses a variety of standard interfaces, such as ISA, PCI, PCMCIA, Inter-IC Control (I 2 C), and Service Provider Interface (SPI), to provide an external security unit 290 with hardware. Direct connection, and when data is synchronized with these external units 290 or when buffering of certain data is required, data necessary for security processing is temporarily stored in the data buffer 270.

상위 계층 인터페이스 유닛Upper layer interface unit

도 14는 상위 계층 인터페이스 유닛의 내부 구성을 나타내는 블록도이다.14 is a block diagram illustrating an internal configuration of a higher layer interface unit.

상위 계층 인터페이스 유닛(150)은 상위 계층과 정보 교환과 명령의 교환을 담담하는 유닛으로, 인터페이스 로직(152), API (Application Program Interface) 처리 로직(155), CPU 인터페이스 로직(158)을 포함한다. 인터페이스 로직(152)은 IPv6 헤더 처리 유닛(130)과의 인터페이스를 담당하는데, 예컨대 도 8을 참조로 앞에서 설명했던 인터페이스 신호들을 사용한다. CPU 인터페이스 로직(158)은 CPU 버스를 통해 상위 계층과의 인터페이스를 담당하며, API 처리 로직(155)은 예컨대, 도 4에 나타낸 응용 프로토콜(73)로부터 필요한 명령과 데이터를 주고 받는다. 여기서 API 처리 로직(155)은 레지스터와 내부 버퍼(도시 아니함)를 이용하여 종래 소프트웨어로 처리되던 것을 하드웨어적으로 처리한다.The upper layer interface unit 150 is a unit that is responsible for exchanging information and exchanging commands with an upper layer, and includes an interface logic 152, an application program interface (API) processing logic 155, and a CPU interface logic 158. . The interface logic 152 is responsible for interfacing with the IPv6 header processing unit 130, for example using the interface signals described above with reference to FIG. 8. The CPU interface logic 158 is responsible for interfacing with higher layers via the CPU bus, and the API processing logic 155 exchanges necessary commands and data from the application protocol 73 shown in FIG. 4, for example. Here, the API processing logic 155 uses a register and an internal buffer (not shown) to hardwarely process what has been processed by conventional software.

상위 계층 인터페이스 유닛(150)은 물리 매체 인터페이스 유닛(110)과 마찬가지로 데이터의 연속적인 전달을 위해 상위 계층의 동작 클록과 동기화를 하거나 서로 동기가 맞지 않는 경우 FIFO를 두어 손실없이 데이터를 전달한다.Like the physical media interface unit 110, the upper layer interface unit 150 synchronizes with the operating clock of the upper layer or continuously transmits data without loss of FIFO when the synchronization clocks are not synchronized with each other.

병렬 구성Parallel configuration

본 발명의 다른 구현예에 따르면, 도 5의 IPv6 구현 장치(100)의 모든 유닛을 송신 동작과 수신 동작을 동시에 독립적으로 처리하기 위해 송신부와 수신부로 나누어 병렬 구성한다. 예를 들어서, 도 15에 나타낸 것처럼, IPv6 헤더 처리 유닛(130)을 IPv6 구현 장치(100)의 제1 버퍼(140)를 기준으로 송신 기능 블록(210a, 212a, …, 224a)과 수신 기능 블록(210b, 212b, …, 224b)이 좌우 병렬로 배열된다. 제1 버퍼(140)도 내부적으로 송신부와 수신부를 분리하여 구성할 수 있다. 마찬가지로, 물리 매체 인터페이스 유닛(110)과 상위 계층 인터페이스 유닛(150) 및 ICMPv6 처리 유닛(160)도 송신부와 수신부로 분리하여 병렬 구성하는 것도 가능하다. 이와 같은 병렬 구성으로 된 IPv6 구현 장치(100)에서는 물리 계층의 라인 속도를 보장하면서 실시간 데이터 처리가 가능하다.According to another embodiment of the present invention, all units of the IPv6 implementation apparatus 100 of FIG. 5 are divided into a transmitter and a receiver in parallel so as to independently process a transmission operation and a reception operation. For example, as shown in FIG. 15, the IPv6 header processing unit 130 is based on the first buffer 140 of the IPv6 implementing apparatus 100, and the reception function blocks 210a, 212a,..., 224a are received. (210b, 212b, ..., 224b) are arranged side by side in parallel. The first buffer 140 may also be configured to separately separate a transmitter and a receiver. Similarly, the physical medium interface unit 110, the upper layer interface unit 150, and the ICMPv6 processing unit 160 can also be separated into a transmitter and a receiver and configured in parallel. In the parallel configuration of the IPv6 implementation 100, real-time data processing is possible while ensuring the line speed of the physical layer.

본 발명에 따르면, 종래 소프트웨어에 의한 IPv6 처리의 단점을 극복할 수 있으며, 물리 계층의 통신 속도를 손실없이 실현할 수 있는 하드웨어 IPv6 구현 장치가 제공되며, 사용이 편리하고 경제적이며 멀티미디어 응용에서 시간 지연이 최소화되고 성능이 우수할 뿐만 아니라, 다양한 형태의 하드웨어에 쉽게 접목할 수 있으며 낮은 클록 주파수로 고속의 데이터 전송이 가능하고, OS 의존성 없이 하드웨어적으로 IPv6와 ICMPv6 프로토콜을 처리할 수 있다.According to the present invention, there is provided a hardware IPv6 implementation that can overcome the disadvantages of IPv6 processing by conventional software, and can realize the communication speed of the physical layer without loss, and is easy to use and economical, and has a time delay in multimedia applications. Not only is it minimized and high performance, it can be easily integrated into various types of hardware, enables high-speed data transfer at low clock frequencies, and can handle IPv6 and ICMPv6 protocols in hardware without OS dependencies.

또한, 본 발명에 따르면 물리 계층의 라인 속도를 필요로 하는 각종 통신 장비 및 단말이나 이동통신 단말, 정보가전, 산업용 통신장비, 계측 장비 등에 적용될 수 있으며, 하드웨어 로직으로 구현되어 있기 때문에, 각종 SoC (System-On-Chip) 제작을 위한 반도체 설계자산으로 이용되어 다양한 종류의 칩 속에 내장할 수 있다.Further, according to the present invention, the present invention can be applied to various communication equipments and terminals, mobile communication terminals, information appliances, industrial communication equipments, measurement equipments, and the like, which require line speeds of the physical layer, and is implemented in hardware logic. It can be used as a semiconductor design asset for system-on-chip manufacturing and embedded in various kinds of chips.

이상 도면을 참조로 본 발명을 그 구현예를 중심으로 설명하였지만, 이것은 설명을 위한 예시적인 것이고 발명의 범위를 한정하거나 제한하기 위한 것은 아니다. 따라서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 이하의 특허청구범위에 의해 정해지는 권리의 범위와 발명의 사상을 벗어나지 않는 범위 내에서 본 발명의 구현예들을 다양하게 변형하고 수정하여 구현할 수 있다는 점을 쉽게 이해할 수 있을 것이다.Although the present invention has been described with reference to the drawings, with reference to the embodiments thereof, this is for illustrative purposes only and is not intended to limit or limit the scope of the invention. Therefore, those skilled in the art to which the present invention belongs, various modifications and modifications to the embodiments of the present invention without departing from the scope of the rights and the spirit of the invention defined by the claims below. You can easily understand that it can be implemented.

도 1은 IPv6을 응용하기 위한 표준 프로토콜의 구성도.1 is a configuration diagram of a standard protocol for applying IPv6.

도 2는 IPv6 표준 프로토콜의 헤더 구성도.2 is a header configuration diagram of an IPv6 standard protocol.

도 3은 종래 소프트웨어 IPv6 처리를 위한 시스템의 구조도.3 is a structural diagram of a system for conventional software IPv6 processing;

도 4는 도 3의 시스템에서 IPv6 프로토콜을 구현하는 소프트웨어의 구성도.4 is a block diagram of software implementing the IPv6 protocol in the system of FIG.

도 5는 본 발명에 따른 IPv6 구현 장치의 전체 구성도.5 is an overall configuration diagram of an IPv6 implementing apparatus according to the present invention.

도 6은 본 발명에 따른 IPv6 구현 장치에 사용되기에 적합한 물리 매체 인터페이스 유닛(110)의 세부 구성도.6 is a detailed block diagram of a physical medium interface unit 110 suitable for use in an IPv6 implementing apparatus according to the present invention.

도 7은 소프트웨어 MAC 제어기를 이용한 종래 기술을 나타내는 블록도.7 is a block diagram illustrating a prior art using a software MAC controller.

도 8은 본 발명의 IPv6 구현 장치의 물리 매체 인터페이스 유닛이 사용하는 인터페이스 신호를 보여주는 타이밍도.8 is a timing diagram showing an interface signal used by a physical medium interface unit of the IPv6 implementation of the present invention.

도 9는 본 발명의 IPv6 구현 장치의 IPv6 헤더 처리 유닛의 내부 구성을 나타내는 블록도.9 is a block diagram showing an internal configuration of an IPv6 header processing unit of the IPv6 implementation of the present invention.

도 10a와 10b는 IPv6 헤더 처리 유닛의 내부 기능 블록들간의 제어 신호 구성 방법과 실제 동작예를 나타내는 블록도.10A and 10B are block diagrams showing a control signal configuration method and an actual operation example between internal functional blocks of an IPv6 header processing unit;

도 11은 IPv6 헤더 처리 유닛의 송신 동작의 일례를 나타내는 블록도.11 is a block diagram illustrating an example of a transmission operation of an IPv6 header processing unit.

도 12a와 12b는 IPv6 헤더 처리 유닛의 각각의 기능 블록의 내부 구조도.12A and 12B are internal structural diagrams of respective functional blocks of an IPv6 header processing unit.

도 13은 본 발명의 IPv6 헤더 처리 유닛의 AH 기능 블록과 ESPH 기능 블록에서 특정 보안 알고리즘을 처리하기 위한 내부 구조도.13 is an internal structure diagram for processing a specific security algorithm in the AH function block and the ESPH function block of the IPv6 header processing unit of the present invention.

도 14는 상위 계층 인터페이스 유닛의 내부 구조를 나타내는 블록도.14 is a block diagram illustrating an internal structure of a higher layer interface unit.

도 15는 본 발명의 IPv6 구현 장치에서 송신부와 수신부가 버퍼를 기준으로 병렬로 구성된 실시예를 나타내는 블록도.FIG. 15 is a block diagram illustrating an embodiment in which a transmitter and a receiver are configured in parallel with respect to a buffer in an IPv6 implementation of the present invention. FIG.

<도면의 주요 부호에 대한 설명><Description of Major Symbols in Drawing>

100: IPv6 구현 장치 102: 데이터 버스100: IPv6 implementation device 102: data bus

104: 헤더 버스 및 제어 신호 106: 헤더 및 데이터 버스104: header bus and control signal 106: header and data bus

110: 물리 매체 인터페이스 유닛 130: IPv6 헤더 처리 유닛110: physical medium interface unit 130: IPv6 header processing unit

140: 제1 버퍼 150: 상위 계층 인터페이스 유닛140: first buffer 150: upper layer interface unit

160: ICMPv6 처리 유닛 170: 제2 버퍼160: ICMPv6 processing unit 170: second buffer

180: 물리 인터페이스 계층 185: 외부 보안 유닛180: physical interface layer 185: external security unit

Claims (18)

IPv6 구현 장치로서,As an IPv6 implementation device, 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛과,A physical media interface unit connected to the physical interface layer, IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며, 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛과,An IPv6 header processing unit for processing standard headers and extension headers of an IPv6 protocol, and connected to the physical media interface unit; TCP와 UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛과,An upper layer interface unit connected to an upper layer protocol including TCP and UDP, 서로 분리되어 있는 헤더 버스와 데이터 버스를 포함하며,Includes header buses and data buses, 상기 물리 매체 인터페이스 유닛, IPv6 헤더 처리 유닛, 상위 계층 인터페이스 유닛들에는 제어 신호 및 동기화 동작을 위한 기준 신호가 제공되고,The physical medium interface unit, the IPv6 header processing unit, and the upper layer interface units are provided with a control signal and a reference signal for synchronization operation. 상기 제어 신호는 데이터의 유효 범위를 나타내고 상기 기준 신호와 동기되며,The control signal indicates an effective range of data and is synchronized with the reference signal, 상기 물리 매체 인터페이스 유닛과 상위 계층 사이의 데이터 송수신은 상기 데이터 버스를 통해 상기 IPv6 헤더 처리 유닛에 의해 제어되는 Data transmission and reception between the physical medium interface unit and a higher layer is controlled by the IPv6 header processing unit via the data bus. IPv6 구현 장치.IPv6 implementation device. 삭제delete 제1항에서, 상기 기준 신호는 클록 신호이고 상기 제어 신호는 이 신호를 받는 유닛들의 동작을 인에이블하는 신호인 것을 특징으로 하는 IPv6 구현 장치.2. The apparatus of claim 1, wherein the reference signal is a clock signal and the control signal is a signal that enables the operation of units receiving the signal. 제1항에서, IPv6 프로토콜과 물리 계층을 위한 데이터 저장 기능을 하며, 상기 IPv6 헤더 처리 유닛과 데이터 버스 사이에 연결되는 버퍼 수단을 더 포함하는 것을 특징으로 하는 IPv6 구현 장치.2. The apparatus of claim 1, further comprising buffer means for storing data for the IPv6 protocol and the physical layer, the buffer means being coupled between the IPv6 header processing unit and a data bus. 제1항에서, 상기 IPv6 헤더 처리 유닛과 통신하며 ICMP 메시지를 처리하는 ICMPv6 처리 유닛을 더 포함하는 것을 특징으로 하는 IPv6 구현 장치.2. The apparatus of claim 1, further comprising an ICMPv6 processing unit in communication with the IPv6 header processing unit and processing an ICMP message. 제1항에서, 상기 IPv6 헤더 처리 유닛은 외부 보안 유닛과 하드웨어적으로 연결되는 보안 인터페이스 로직을 더 포함하는 것을 특징으로 하는 IPv6 구현 장치.2. The apparatus of claim 1, wherein the IPv6 header processing unit further comprises security interface logic that is hardware connected to an external security unit. IPv6 구현 장치로서,As an IPv6 implementation device, 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛;A physical medium interface unit coupled with the physical interface layer; IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며, 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛;An IPv6 header processing unit processing a standard header and an extension header of an IPv6 protocol, and connected to the physical medium interface unit; TCP와 UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛; An upper layer interface unit connected to an upper layer protocol including TCP and UDP; IPv6 프로토콜과 물리 계층을 위한 데이터 저장 기능을 하며, 상기 IPv6 헤더 처리 유닛과 데이터 버스 사이에 연결되는 버퍼 수단; 및Buffer means for data storage for the IPv6 protocol and the physical layer, and coupled between the IPv6 header processing unit and a data bus; And 서로 분리되어 있는 헤더 버스와 데이터 버스를 포함하며,Includes header buses and data buses, 상기 유닛들에는 동기화 동작을 위한 기준 신호와 제어 신호가 제공되고, 상기 제어 신호는 데이터의 유효 범위를 나타내고 상기 기준 신호와 동기되며, 물리 매체 인터페이스 유닛과 상위 계층 사이의 데이터 송수신은 상기 데이터 버스를 통해 상기 IPv6 헤더 처리 유닛에 의해 제어되고,The units are provided with a reference signal and a control signal for a synchronization operation, the control signal indicating an effective range of data and synchronized with the reference signal, and data transmission and reception between a physical medium interface unit and a higher layer is performed on the data bus. Controlled by the IPv6 header processing unit via 상기 물리 매체 인터페이스 유닛, IPv6 헤더 처리 유닛, 상위 계층 인터페이스 유닛 중 최소한 하나의 유닛은 송신부와 수신부를 포함하고, 이 송신부와 수신부는 상기 버퍼 수단을 기준으로 병렬로 배열되어 있는 것을 특징으로 하는 IPv6 구현 장치.At least one of the physical medium interface unit, the IPv6 header processing unit, and the upper layer interface unit includes a transmitter and a receiver, and the transmitter and the receiver are arranged in parallel with respect to the buffer means. Device. 청구항 제1항의 IPv6 구현 장치에 사용되는 물리 매체 인터페이스 유닛으로서,A physical medium interface unit used in the IPv6 implementation of claim 1, 상기 물리 인터페이스 계층과의 인터페이스를 위한 인터페이스 로직과,Interface logic for interfacing with the physical interface layer; 데이터 링크층에서 데이터의 전달을 위해 정보를 프레임화하고 데이터의 오류 검사를 하며 상기 인터페이스 로직과 연결되는 DLC 처리 로직을 포함하는 것을 특징으로 하는 물리 매체 인터페이스 유닛.And DLC processing logic coupled to the interface logic and framing information for error transfer of data at the data link layer. 제8항에서, 상기 DLC 처리 로직과 연결되며 송신 동작에서는 헤더와 데이터를 결합하고 수신 동작에서는 헤더와 데이터를 분리하는 다중화 및 역다중화기를 더 포함하는 것을 특징으로 하는 물리 매체 인터페이스 유닛.9. The physical medium interface unit of claim 8, further comprising a multiplexing and demultiplexer coupled to the DLC processing logic and combining headers and data in a transmit operation and separating headers and data in a receive operation. 청구항 제1항의 IPv6 프로토콜을 하드웨어로 처리하는 장치에서 상위 계층과 하위 계층 간의 데이터 전달을 위한 인터페이스 블록으로서,An interface block for data transmission between an upper layer and a lower layer in an apparatus for processing the IPv6 protocol of claim 1 by hardware, 상위 계층에 속한 제1 인터페이스 로직과 하위 계층에 속한 제2 인터페이스 로직을 포함하며,A first interface logic belonging to a higher layer and a second interface logic belonging to a lower layer, 상기 제1 인터페이스 로직과 제2 인터페이스 로직은, 상위 계층의 동작과 하위 계층의 동작이 동기되도록 하는 기준 신호와, 이 기준 신호에 동기된 제어 신호를 사용하며, 상기 제어 신호는 상기 데이터의 유효 범위를 나타내고 이 제어 신호를 받는 유닛의 동작을 인에이블하는 것을 특징으로 하는 인터페이스 블록.The first interface logic and the second interface logic use a reference signal for synchronizing the operation of the upper layer with the operation of the lower layer, and a control signal synchronized with the reference signal, wherein the control signal is an effective range of the data. And enable operation of a unit receiving this control signal. 청구항 제1항의 IPv6 구현 장치에 사용되는 IPv6 헤더 처리 유닛으로서,An IPv6 header processing unit used in the IPv6 implementing apparatus of claim 1, 하위 계층과의 인터페이스를 위한 하위 계층 인터페이스 로직과,Lower layer interface logic for interfacing with lower layers, 상위 계층과의 인터페이스를 위한 상위 계층 인터페이스 로직과,Upper layer interface logic for interfacing with higher layers, IPv6 프로토콜의 기본 헤더를 처리하는 기능 블록과 IPv6 프로토콜의 확장 헤더를 처리하는 기능 블록을 포함하는 IPv6 헤더 처리 로직을 포함하는 IPv6 헤더 처리 유닛.An IPv6 header processing unit comprising an IPv6 header processing logic comprising a function block for processing the basic header of the IPv6 protocol and a function block for processing the extension header of the IPv6 protocol. 제11항에서, 상기 기본 헤더 처리 기능 블록과 확장 헤더 처리 기능 블록들은 상기 제어 신호에 의해 동작 시점이 결정되고 상기 기준 신호와 동기된 상태에서 상기 제어 신호가 활성 상태인 동안 헤더 버스의 데이터를 실시간으로 처리하는 것을 특징으로 하는 IPv6 헤더 처리 유닛.12. The apparatus of claim 11, wherein the basic header processing function block and the extended header processing function blocks are configured to perform real-time data on the header bus while the control signal is active while the operation time is determined by the control signal and is synchronized with the reference signal. IPv6 header processing unit, characterized in that the processing. 제12항에서, 상기 기능 블록들은 자신의 동작을 종료하는 시점에서 다음 헤더(NH: Next Header) 필드를 참조하여 다음에 인에이블시킬 기능 블록에게 제어 신호를 보내는 것을 특징으로 하는 IPv6 헤더 처리 유닛.The IPv6 header processing unit of claim 12, wherein the functional blocks transmit a control signal to a functional block to be next enabled by referring to a next header (NH) field at the time when the operation ends. 제11항에서, 상기 IPv6 헤더 처리 로직은 보안 알고리즘을 수행하는 외부 보안 유닛과 하드웨어 인터페이스를 통해 연결되는 보안 기능 블록을 더 포함하는 것을 특징으로 하는 IPv6 헤더 처리 유닛.12. The IPv6 header processing unit of claim 11, wherein the IPv6 header processing logic further comprises a security function block connected via a hardware interface with an external security unit that performs a security algorithm. 제11항에서, 상기 확장 헤더 처리 기능 블록들은 HOH(Hop-by-Hop Options Header) 처리 블록, 제1 DOH(Destination Option Header) 처리 블록, RH(Routing Header) 처리 블록, FA(Fragment Header) 처리 블록, AH(Authentication Header) 처리 블록, ESP(Encapsulation Security Payload) 처리 블록, 제2 DOH(Destination Options Header) 처리 블록을 포함하며, 상기 확장 헤더 처리 기능 블록들은 상기 기본 헤더 처리 기능 블록 바로 다음에 이 순서대로 배열되어 있는 것을 특징으로 하는 IPv6 헤더 처리 유닛.12. The apparatus of claim 11, wherein the extended header processing function blocks include a hop-by-hop options header (HOH) processing block, a first destination option header (DOH) processing block, a routing header (RH) processing block, and a fragment header (FA) processing. Block, an Authentication Header (AH) processing block, an Encapsulation Security Payload (ESP) processing block, and a second Destination Options Header (DOH) processing block, the extended header processing function blocks immediately following the basic header processing function block. An IPv6 header processing unit, characterized in that arranged in order. 제15항에서, 상기 기본 헤더 처리 기능 블록은 상기 하위 계층에 의해 인에이블되고, 상기 확장 헤더 처리 기능 블록들 모두에게 인에이블 신호를 보낼 수 있으며, 상기 확장 헤더 처리 기능 블록들 각각은 기본 헤더 처리 기능 블록과 자신보다 앞에 배열되어 있는 확장 헤더 처리 기능 블록에 의해 인에이블되고, 자신보다 뒤에 배열되어 있는 확장 헤더 처리 기능 블록 모두에게 인에이블 신호를 보낼 수 있는 것을 특징으로 하는 IPv6 헤더 처리 유닛.16. The apparatus of claim 15, wherein the basic header processing function block is enabled by the lower layer, and may enable an enable signal to all of the extended header processing function blocks, wherein each of the extended header processing function blocks is configured to perform basic header processing. An IPv6 header processing unit, which is enabled by a function block and an extended header processing function block arranged before the self, and can transmit an enable signal to both the extended header processing function blocks arranged after the function block. 청구항 제1항의 IPv6 구현 장치에 사용되는 상위 계층 인터페이스 유닛으로서,An upper layer interface unit used in the IPv6 implementation of claim 1, 상기 IPv6 헤더 처리 유닛과의 인터페이스를 위한 인터페이스 로직과, Interface logic for interfacing with the IPv6 header processing unit, 상위 계층과의 인터페이스를 담당하는 CPU 인터페이스 로직과,CPU interface logic that is responsible for interfacing with higher layers, 응용 프로토콜과 명령과 데이터를 주고 받는 API 처리 로직을 포함하는 것을 특징으로 하는 상위 계층 인터페이스 유닛.A higher layer interface unit comprising application protocols and API processing logic for sending and receiving commands and data. IPv6 구현 장치로서,As an IPv6 implementation device, 물리 인터페이스 계층과 연결되는 물리 매체 인터페이스 유닛;A physical medium interface unit coupled with the physical interface layer; IPv6 프로토콜의 표준 헤더와 확장 헤더를 처리하며, 상기 물리 매체 인터페이스 유닛과 연결되는 IPv6 헤더 처리 유닛;An IPv6 header processing unit processing a standard header and an extension header of an IPv6 protocol, and connected to the physical medium interface unit; TCP와 UDP를 포함하는 상위 계층 프로토콜과 연결되는 상위 계층 인터페이스 유닛; 및An upper layer interface unit connected to an upper layer protocol including TCP and UDP; And 서로 분리되어 있는 헤더 버스와 데이터 버스를 포함하며,Includes header buses and data buses, 상기 유닛들에는 동기화 동작을 위한 기준 신호와 제어 신호가 제공되고, 상기 제어 신호는 데이터의 유효 범위를 나타내고 상기 기준 신호와 동기되며, 물리 매체 인터페이스 유닛과 상위 계층 사이의 데이터 송수신은 상기 데이터 버스를 통해 상기 IPv6 헤더 처리 유닛에 의해 제어되고,The units are provided with a reference signal and a control signal for a synchronization operation, the control signal indicating an effective range of data and synchronized with the reference signal, and data transmission and reception between a physical medium interface unit and a higher layer is performed on the data bus. Controlled by the IPv6 header processing unit via 상기 물리 매체 인터페이스 유닛은, 상기 물리 인터페이스 계층과의 인터페이스를 위한 인터페이스 로직과, 데이터 링크층에서 데이터의 전달을 위해 정보를 프레임화하고 데이터의 오류 검사를 하며 상기 인터페이스 로직과 연결되는 DLC 처리 로직을 포함하며,The physical medium interface unit is configured to interface with logic for interfacing with the physical interface layer, and DLC processing logic for framing information, performing error checking of data, and connecting the interface logic for data transfer in a data link layer. Include, 상기 IPv6 헤더 처리 유닛은, 하위 계층과의 인터페이스를 위한 하위 계층 인터페이스 로직과, 상위 계층과의 인터페이스를 위한 상위 계층 인터페이스 로직과, IPv6 프로토콜의 기본 헤더를 처리하는 기능 블록과 IPv6 프로토콜의 확장 헤더를 처리하는 기능 블록을 포함하는 IPv6 헤더 처리 로직을 포함하고,The IPv6 header processing unit includes a lower layer interface logic for an interface with a lower layer, an upper layer interface logic for an interface with an upper layer, a function block for processing a basic header of the IPv6 protocol, and an extension header of the IPv6 protocol. Includes IPv6 header processing logic including function blocks to process, 상기 상위 계층 인터페이스 유닛은, 상기 IPv6 헤더 처리 유닛과의 인터페이스를 위한 인터페이스 로직과, 상위 계층과의 인터페이스를 담당하는 CPU 인터페이스 로직과, 응용 프로토콜과 명령과 데이터를 주고 받는 API 처리 로직을 포함하는 것을 특징으로 하는 IPv6 구현 장치.The upper layer interface unit may include interface logic for interfacing with the IPv6 header processing unit, CPU interface logic in charge of interfacing with the upper layer, and API processing logic for exchanging application protocols and commands and data. An IPv6 implementation device.
KR10-2002-0034230A 2002-06-19 2002-06-19 Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus KR100475969B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0034230A KR100475969B1 (en) 2002-06-19 2002-06-19 Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus
AU2003244234A AU2003244234A1 (en) 2002-06-19 2003-06-19 Apparatus for implementing ipv6 protocol and physical media interface unit, ipv6 header processing unit and upper layer interface unit suitable for use in such an apparatus
PCT/KR2003/001195 WO2004002114A1 (en) 2002-06-19 2003-06-19 Apparatus for implementing ipv6 protocol and physical media interface unit, ipv6 header processing unit and upper layer interface unit suitable for use in such an apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0034230A KR100475969B1 (en) 2002-06-19 2002-06-19 Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus

Publications (2)

Publication Number Publication Date
KR20020070180A KR20020070180A (en) 2002-09-05
KR100475969B1 true KR100475969B1 (en) 2005-03-17

Family

ID=27726905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0034230A KR100475969B1 (en) 2002-06-19 2002-06-19 Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus

Country Status (3)

Country Link
KR (1) KR100475969B1 (en)
AU (1) AU2003244234A1 (en)
WO (1) WO2004002114A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666948B1 (en) 2005-02-02 2007-01-10 삼성전자주식회사 Apparatus and method for processing ipv6 packet

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005065630A1 (en) * 2004-01-06 2005-07-21 Shiseido Co., Ltd. Monophase microemulsion composition, o/w ultrafine emulsion external formulation and process for producing the same
KR100767394B1 (en) * 2005-07-12 2007-10-18 아주대학교산학협력단 Gateway And Interoperability method of 6LoWPAN
KR100798926B1 (en) 2006-12-04 2008-01-29 한국전자통신연구원 Apparatus and method for forwarding packet in packet switch system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200533A (en) * 1997-01-08 1998-07-31 Nec Corp Atm vlan client server system
JP2000201183A (en) * 1999-01-08 2000-07-18 Sony Corp Method for transmitting data
JP2001119399A (en) * 1999-10-15 2001-04-27 Nec Commun Syst Ltd IPv6 NETWORK SYSTEM
KR20010082648A (en) * 2000-02-16 2001-08-30 루센트 테크놀러지스 인크 Privacy for mobile terminal in telecommunications network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL131595A0 (en) * 1998-08-28 2001-01-28 Nokia Oy Ab Internet protocol flow detection
JP4347497B2 (en) * 2000-04-03 2009-10-21 株式会社日立製作所 Communication control apparatus and packet conversion method
JP2001326697A (en) * 2000-05-17 2001-11-22 Hitachi Ltd Mobile communication network, terminal, packet communication control method, and gateway unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200533A (en) * 1997-01-08 1998-07-31 Nec Corp Atm vlan client server system
JP2000201183A (en) * 1999-01-08 2000-07-18 Sony Corp Method for transmitting data
JP2001119399A (en) * 1999-10-15 2001-04-27 Nec Commun Syst Ltd IPv6 NETWORK SYSTEM
KR20010082648A (en) * 2000-02-16 2001-08-30 루센트 테크놀러지스 인크 Privacy for mobile terminal in telecommunications network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666948B1 (en) 2005-02-02 2007-01-10 삼성전자주식회사 Apparatus and method for processing ipv6 packet

Also Published As

Publication number Publication date
KR20020070180A (en) 2002-09-05
AU2003244234A1 (en) 2004-01-06
WO2004002114A1 (en) 2003-12-31

Similar Documents

Publication Publication Date Title
US7382749B2 (en) Systems, methods, and apparatus with a common wireless communications protocol
US8036108B2 (en) Method and apparatus for providing gateway to transmit IPv6 packet in a wireless local area network system
US20030223433A1 (en) Internet protocol system using hardware protocol processing logic and parallel data processing method using the same
JP4230663B2 (en) Packet header reduction in wireless communication networks
US6791982B2 (en) Segmentation protocol that supports compressed segmentation headers
US20030225889A1 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
TWI788627B (en) Method for transmitting packet, method for receiving packet and related device
MXPA03003787A (en) Method to synchronize and upload an offloaded network stack connection with a network stack.
US7293113B1 (en) Data communication system with hardware protocol parser and method therefor
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7969977B2 (en) Processing apparatus and method for processing IP packets
Pediredla et al. A 6LoWPAN implementation for memory constrained and power efficient wireless sensor nodes
Harvan Connecting wireless sensor networks to the internet-a 6lowpan implementation for tinyos 2.0
US20030093540A1 (en) Proxy network layer protocol support in a wireless communication network
KR100475969B1 (en) Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus
KR20050044982A (en) Apparatus and method for header compression in packet
JP3618277B2 (en) Communication protocol processing method and communication protocol processing apparatus
CN111917621A (en) Communication method and system for network management server and network element of communication equipment
US8583822B2 (en) Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet
MXPA05005309A (en) Method for processing data packets in a data network which has a mobile function.
KR20030035227A (en) Integrated 5ghz wlan and 2.4ghz wlan access point, and method for bridging transfer path thereof
EP4009613A1 (en) Secure data connections in low data rate networks
CN115002833B (en) Ethernet frame transmitting method, receiving method, device, equipment and medium
WO2024041064A1 (en) Quic packet transmission method and related device
EP4228316A1 (en) Data transmission method and apparatus, device, and computer readable storage medium

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
FPAY Annual fee payment

Payment date: 20130220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140214

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150213

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160222

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170112

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20200217

Year of fee payment: 16