KR20100100655A - Method and apparatus for multicast transmission in wireless network - Google Patents

Method and apparatus for multicast transmission in wireless network Download PDF

Info

Publication number
KR20100100655A
KR20100100655A KR1020100019302A KR20100019302A KR20100100655A KR 20100100655 A KR20100100655 A KR 20100100655A KR 1020100019302 A KR1020100019302 A KR 1020100019302A KR 20100019302 A KR20100019302 A KR 20100019302A KR 20100100655 A KR20100100655 A KR 20100100655A
Authority
KR
South Korea
Prior art keywords
data packet
data
data packets
packet
length
Prior art date
Application number
KR1020100019302A
Other languages
Korean (ko)
Other versions
KR101338476B1 (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 US12/717,534 priority Critical patent/US8284680B2/en
Publication of KR20100100655A publication Critical patent/KR20100100655A/en
Application granted granted Critical
Publication of KR101338476B1 publication Critical patent/KR101338476B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

PURPOSE: A method for transmitting multicast and an apparatus thereof for controlling error in case the length of data packets is different from each other in wireless network are provided to reduce the retransmission frequency of the data packet. CONSTITUTION: A transmission data processing unit(210) performs the processing for transmitting a plurality of data packets to a receiving station. A transmission buffer(230) especially stores a plurality of data packets from the transmission data processor flow. A coding unit(240) receives message packet loss information about a plurality of data packets from the receiving station. The coding unit codes a plurality of data packets stored in a transmission buffer to one data packet.

Description

무선 네트워크에서 멀티캐스트 송신을 위한 방법 및 장치{METHOD AND APPARATUS FOR MULTICAST TRANSMISSION IN WIRELESS NETWORK}METHOD AND APPARATUS FOR MULTICAST TRANSMISSION IN WIRELESS NETWORK}

본 발명은 무선 네트워크에서 멀티캐스트 송신을 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for multicast transmission in a wireless network.

무선 근거리 통신망(Wireless Local Area Network, WLAN)은 가정 및 기업에서 널리 사용된다. IEEE 802.11로 대표되는 무선 LAN 기술은 기존의 유선 네트워크 연결을 전파를 사용하여 무선으로 접속할 수 있도록 한다.Wireless Local Area Networks (WLANs) are widely used in homes and businesses. Wireless LAN technology, represented by IEEE 802.11, allows existing wired network connections to be accessed wirelessly using radio waves.

한편, 전파를 사용하여 무선으로 접속하면, 다중 경로(multi-path), 충돌(collision), 잡음(noise) 등의 간섭에 노출되기 쉬우므로, 신뢰성 있는 데이터 송신이 어렵다. 특히, 무선 LAN은 매체 접근 제어(Medium Access Control, MAC) 계층의 특성상 복수의 수신기로 동시에 데이터를 송신하는 멀티캐스트(multicast) 송신 시에 신뢰성 있는 데이터 송신이 더욱 어렵다.On the other hand, when wirelessly connected using radio waves, it is easy to be exposed to interference such as multi-path, collision, noise, and the like, so that reliable data transmission is difficult. In particular, wireless LANs are more difficult to reliably transmit data in multicast transmissions in which data is simultaneously transmitted to a plurality of receivers due to the characteristics of a medium access control (MAC) layer.

무선 LAN 환경에서 신뢰성 있는 멀티캐스트 송신을 위하여, 순방향 오류 정정(Forward Error Correction, FEC) 기법이 고려된다. FEC 기법은 송신기가 각 패킷에 추가 비트를 실어 송신하고, 오류가 발생한 경우 수신기가 추가 비트를 이용하여 오류를 복구하는 방법이다. FEC 기법에 따르면, 오류 발생 확률이 큰 무선 환경에서 통신하는 경우 또는 대용량 패킷을 송신하는 경우 대역폭의 낭비가 크다. 또한, 복수의 송신기로부터 송신된 프레임 간에 충돌이 발생한 경우, 수신기가 오류를 복구할 수 없는 문제점이 있다.For reliable multicast transmission in wireless LAN environment, forward error correction (FEC) scheme is considered. The FEC technique is a method in which a transmitter carries an additional bit in each packet and transmits an error, and when an error occurs, the receiver recovers the error using the additional bit. According to the FEC technique, when communicating in a wireless environment having a high probability of error or when transmitting a large packet, a waste of bandwidth is large. In addition, when a collision occurs between frames transmitted from a plurality of transmitters, there is a problem that the receiver cannot recover an error.

이외에도, 무선 LAN 환경에서 신뢰성 있는 멀티캐스팅을 위하여, ACK/NACK(Acknowledgement/Negative-acknowledgement)을 이용한 패킷 재송신 기법이 고려된다. 패킷 재송신 기법에 따르면, 각 수신국은 데이터 패킷의 수신 상태를 송신국에 보고하고, 송신국은 손실된 데이터 패킷을 재송신하여 오류를 복구한다. 다만, 패킷 재송신 기법은 수신국의 개수에 따라 패킷 재송신 확률이 선형적으로 증가하는 문제가 있다. 예를 들면, 하나의 송신국이 하나의 수신국으로 패킷을 송신하는 유니캐스트(unicast) 송신에서 패킷 오류 확률이 0.001인 경우, 송신국이 1000개의 패킷을 송신하면 1개의 패킷을 재송신하게 된다. 그러나, 하나의 송신국이 100개의 수신국으로 패킷을 송신하는 멀티캐스트 송신에서 패킷 오류 확률이 0.001인 경우, 송신국은 10개의 패킷을 송신할 때마다 1개의 패킷을 재송신하게 된다. 이와 같이, 복수의 수신국을 전제하고 있는 멀티캐스트 송신에서 수신국의 개수에 비례하여 패킷의 재송신 횟수가 증가하게 되면 시스템의 성능이 저하되는 문제가 있다.In addition, for reliable multicasting in a wireless LAN environment, a packet retransmission scheme using acknowledgment / negative-acknowledgement (ACK / NACK) is considered. According to the packet retransmission scheme, each receiving station reports the reception status of the data packet to the transmitting station, and the transmitting station retransmits the lost data packet to recover from the error. However, the packet retransmission scheme has a problem in that the probability of packet retransmission increases linearly with the number of receiving stations. For example, in a unicast transmission in which one transmitting station transmits a packet to one receiving station, if the packet error probability is 0.001, when the transmitting station transmits 1000 packets, one packet is retransmitted. However, in a multicast transmission in which one transmitting station transmits a packet to 100 receiving stations, if the packet error probability is 0.001, the transmitting station retransmits one packet every 10 packets. As described above, when the number of retransmissions of packets increases in proportion to the number of receiving stations in the multicast transmission presupposing a plurality of receiving stations, there is a problem that the performance of the system is degraded.

본 발명이 이루고자 하는 기술적 과제는 무선 네트워크에서 신뢰성 있는 멀티캐스팅 방법 및 장치를 제공하는 것이다. 특히, 송신국이 복수의 수신국으로 멀티캐스트 송신을 하는 경우, 오류 제어를 위한 데이터 패킷의 재송신 횟수를 줄이는 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide a reliable multicasting method and apparatus in a wireless network. In particular, the present invention provides a method and apparatus for reducing the number of retransmissions of data packets for error control when a transmitting station performs multicast transmission to a plurality of receiving stations.

본 발명의 일 양태에 따른 무선 네트워크에서 송신국의 멀티캐스트 송신 방법은 복수의 데이터 패킷을 복수의 수신국으로 송신하는 단계, 상기 복수의 수신국 중 적어도 하나의 수신국으로부터 상기 데이터 패킷의 손실에 대한 정보를 수신하는 단계, 상기 데이터 패킷의 손실에 대한 정보에 기초하여 상기 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩하는 단계 및 코딩한 데이터 패킷을 포함하는 오류 제어 프레임을 상기 복수의 수신국으로 송신하는 단계를 포함한다.A multicast transmission method of a transmitting station in a wireless network according to an aspect of the present invention includes transmitting a plurality of data packets to a plurality of receiving stations, wherein the loss of the data packets from at least one receiving station of the plurality of receiving stations is achieved. Receiving information about the data packet, coding the plurality of data packets into one data packet based on the information about the loss of the data packet, and sending an error control frame including the coded data packet to the plurality of receiving stations. Transmitting.

본 발명의 일 양태에 따른 무선 네트워크에서 송신국의 멀티캐스트 송신 시에 수신국이 오류를 제어하는 방법은 송신국으로부터 복수의 데이터 패킷을 포함하는 데이터 블록을 수신하는 단계, 상기 복수의 데이터 패킷에 손실된 데이터 패킷이 있는지를 확인하는 단계, 손실된 데이터 패킷이 있는 경우, 상기 송신국으로 패킷 손실 정보를 송신하는 단계, 상기 패킷 손실 정보에 기초하여 코딩된 데이터 패킷을 포함하는 오류 제어 프레임을 수신하는 단계 및 상기 오류 제어 프레임 및 상기 복수의 데이터 패킷을 사용하여 상기 손실된 데이터 패킷을 복구하는 단계를 포함한다.In a wireless network according to an aspect of the present invention, a method of controlling an error in a multicast transmission of a transmitting station includes: receiving a data block including a plurality of data packets from a transmitting station, Checking whether there is a lost data packet, if there is a lost data packet, transmitting packet loss information to the transmitting station, receiving an error control frame comprising a data packet coded based on the packet loss information And recovering the lost data packet using the error control frame and the plurality of data packets.

본 발명의 일 양태에 따른 송신국은 상위 계층으로부터 복수의 데이터 패킷을 수신하고, 상기 복수의 데이터 패킷을 수신국으로 송신하기 위한 처리를 수행하는 송신 데이터 처리부, 상기 송신 데이터 처리부로부터 상기 복수의 데이터 패킷을 흐름 별로 저장하는 송신 버퍼 및 상기 수신국으로부터 상기 복수의 데이터 패킷에 대한 패킷 손실 정보를 수신한 경우, 상기 송신 버퍼에 저장된 상기 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩하는 코딩부를 포함한다.A transmitting station according to an aspect of the present invention receives a plurality of data packets from an upper layer and performs a process for transmitting the plurality of data packets to a receiving station, and the plurality of data from the transmitting data processing section. A transmission buffer for storing packets per flow and a coding unit for coding the plurality of data packets stored in the transmission buffer into one data packet when the packet loss information of the plurality of data packets is received from the receiving station. .

본 발명의 일 양태에 따른 수신국은 송신국으로부터 복수의 데이터 패킷을 포함하는 데이터 블록을 수신하고, 상기 데이터 블록에 손실된 데이터 패킷이 있는지 여부를 확인하는 수신 데이터 처리부, 상기 데이터 블록에 손실된 데이터 패킷이 있는 경우, 패킷 손실 정보를 생성하여 상기 송신국으로 송신하는 패킷 손실 정보 생성부 및 상기 송신국으로부터 상기 패킷 손실 정보에 기초하여 코딩된 데이터 패킷을 포함하는 오류 제어 프레임을 수신하면, 상기 오류 제어 프레임 및 상기 복수의 데이터 패킷을 이용하여 상기 손실된 데이터 패킷을 복구하는 디코딩부를 포함한다.A receiving station according to an aspect of the present invention receives a data block including a plurality of data packets from a transmitting station and checks whether there is a lost data packet in the data block, the received data processor If there is a data packet, when receiving an error control frame including a packet loss information generation unit for generating and transmitting packet loss information to the transmitting station and a data packet coded based on the packet loss information from the transmitting station, And a decoding unit for recovering the lost data packet using an error control frame and the plurality of data packets.

복수의 데이터 패킷을 복수의 수신국으로 멀티캐스트 송신하고, 데이터 패킷에 오류가 발생한 경우 송신국의 데이터 패킷 재전송 횟수를 줄일 수 있다. 또한, 송신국은 복수의 데이터 패킷의 길이가 서로 다른 경우에도 용이하게 오류를 제어할 수 있다. 따라서, 상위 계층에 넓은 응용분야를 제공할 수 있다.It is possible to multicast transmission of a plurality of data packets to a plurality of receiving stations, and to reduce the number of data packet retransmissions of the transmitting station when an error occurs in the data packet. Further, the transmitting station can easily control the error even when the lengths of the plurality of data packets are different. Therefore, it is possible to provide a wide application field to a higher layer.

도 1은 본 발명의 일 실시예에 따른 무선 네트워크 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 송신국의 MAC 계층의 내부 구조를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 수신국의 MAC 계층의 내부 구조를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 송신국의 멀티캐스트 송신 및 오류 제어 방법을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따라 송신국이 복수의 데이터 패킷을 코딩하는 방법을 나타내는 도면이고, 도 6은 수신국이 코딩된 데이터 패킷을 이용하여 손실된 데이터 패킷을 복원하는 방법을 나타내는 도면이다.
도 7은 본 발명의 다른 실시예에 따라 송신국이 복수의 데이터 패킷을 코딩하는 방법을 나타내는 도면이고, 도 8은 수신국이 코딩된 데이터 패킷을 이용하여 손실된 데이터 패킷을 복원하는 방법을 나타내는 도면이다.
도 9 및 도 10은 각각 본 발명의 한 실시예에 따른 오류 제어 프레임의 일 예이다.
1 is a diagram illustrating a wireless network system according to an embodiment of the present invention.
2 is a diagram illustrating an internal structure of a MAC layer of a transmitting station in a wireless network system according to an embodiment of the present invention.
3 is a diagram illustrating an internal structure of a MAC layer of a receiving station in a wireless network system according to an embodiment of the present invention.
4 is a diagram illustrating a multicast transmission and error control method of a transmitting station in a wireless network system according to an embodiment of the present invention.
5 is a diagram illustrating a method of transmitting a plurality of data packets by a transmitting station according to an embodiment of the present invention, and FIG. 6 is a diagram of a method of recovering a lost data packet using a coded data packet. Drawing.
7 is a diagram illustrating a method of transmitting a plurality of data packets by a transmitting station according to another embodiment of the present invention, and FIG. 8 is a diagram of a method of recovering lost data packets by using a coded data packet by a receiving station. Drawing.
9 and 10 are examples of an error control frame according to an embodiment of the present invention, respectively.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.

본 명세서에서 수신국은 이동국(Mobile Station, MS), 단말(terminal), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 이동국, 단말, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다.In this specification, a receiving station is a mobile station (MS), a terminal (terminal), a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user device. A user equipment (UE), an access terminal (AT), and the like may also be referred to, and include all or some functions of a mobile station, a terminal, a mobile terminal, a subscriber station, a portable subscriber station, a user device, an access terminal, and the like. You may.

본 명세서에서 송신국은 기지국(Base Station, BS), 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 고도화 노드B(evolved NodeB, eNodeB), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 기지국, 접근점, 무선 접근국, 노드B, eNodeB, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.In the present specification, the transmitting station includes a base station (BS), an access point (AP), a radio access station (RAS), a node B (Node B), an advanced node B (evolved NodeB, eNodeB). , May also refer to a base transceiver station (BTS), a mobile multihop relay (MMR) -BS, and the like, and all or the like, such as a base station, an access point, a wireless access station, a node B, an eNodeB, a transceiver base station, an MMR-BS, or the like. It may also include some functionality.

본 명세서에서 멀티캐스트 송신은 하나의 송신국이 복수의 수신국에게 동시에 데이터를 송신하는 방식이다. 멀티캐스트 송신은 브로드캐스트(broadcast) 송신, 점 대 다점(Point to Multipoint) 송신 등의 용어와 혼용될 수 있다.In the present specification, multicast transmission is a method in which one transmitting station simultaneously transmits data to a plurality of receiving stations. Multicast transmission may be used interchangeably with terms such as broadcast transmission, point to multipoint transmission, and the like.

도 1은 본 발명의 일 실시예에 따른 무선 네트워크 시스템을 나타내는 도면이다.1 is a diagram illustrating a wireless network system according to an embodiment of the present invention.

도 1을 참조하면, 무선 네트워크 시스템은 송신국(10) 및 복수의 수신국(20-1, 20-2, 20-3)을 포함한다. 송신국(10)은 복수의 수신국(20-1, 20-2, 20-3)으로 데이터를 멀티캐스트 송신한다. 무선 네트워크 시스템은 예를 들면 무선 LAN 시스템일 수 있다.Referring to FIG. 1, a wireless network system includes a transmitting station 10 and a plurality of receiving stations 20-1, 20-2, and 20-3. The transmitting station 10 multicasts data to a plurality of receiving stations 20-1, 20-2, and 20-3. The wireless network system may be, for example, a wireless LAN system.

도 2는 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 송신국의 MAC 계층의 내부 구조를 나타내는 도면이고, 도 3은 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 수신국의 MAC 계층의 내부 구조를 나타내는 도면이며, 도 4는 본 발명의 일 실시예에 따른 무선 네트워크 시스템에서 송신국의 멀티캐스트 송신 및 오류 제어 방법을 나타내는 도면이다. 2 is a diagram illustrating an internal structure of a MAC layer of a transmitting station in a wireless network system according to an embodiment of the present invention, and FIG. 3 is a diagram of an inside of a MAC layer of a receiving station in a wireless network system according to an embodiment of the present invention. 4 is a diagram illustrating a multicast transmission and error control method of a transmitting station in a wireless network system according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 송신국(200)은 송신 데이터 처리부(210), 송신 데이터 헤더 처리부(220), 송신 버퍼(230), 코딩부(240), 오류 제어 헤더 처리부(250), 패킷 손실 정보 처리부(260)를 포함한다. 수신국(300)은 수신 데이터 처리부(310), 수신 데이터 헤더 처리부(320), 수신 버퍼(330), 디코딩부(340), 오류 제어 헤더 처리부(350) 및 패킷 손실 정보 생성부(360)를 포함한다.2 and 3, the transmitting station 200 includes a transmission data processing unit 210, a transmission data header processing unit 220, a transmission buffer 230, a coding unit 240, an error control header processing unit 250, The packet loss information processor 260 is included. The receiving station 300 may include the reception data processing unit 310, the reception data header processing unit 320, the reception buffer 330, the decoding unit 340, the error control header processing unit 350, and the packet loss information generation unit 360. Include.

송신국(200)의 송신 데이터 처리부(210)는 상위 계층으로부터 데이터(예를 들면, MAC 서비스 데이터 유닛(Service Data Unit, SDU))를 수신한다. 송신 데이터 처리부(210)는 상위 계층으로부터 데이터를 처리하여 하위 계층 또는 수신국으로 전송할 데이터 패킷(예를 들면, MAC 프로토콜 데이터 유닛(Protocol Data Unit, PDU))을 생성하면, 예를 들면 일련 번호 할당(Sequence Number Assignment), 무결성 보호(Integrity Protection), 단편화, 암호화와 무결성(Encryption and Integrity) 등의 처리를 한다. 송신 데이터 헤더 처리부(220)는 송신 데이터 처리부(210)로부터 수신한 데이터 패킷에 헤더와 순환 중복 검사(Cyclic Redundancy Check, CRC)용 데이터를 추가하여 복수의 수신국으로 송신한다. 한편, 송신국(200)은 오류 제어를 위하여 송신 데이터 처리부(210)에서 처리되는 데이터 패킷의 복사본을 흐름 별로 송신 버퍼(230)에 저장한다. 송신 버퍼(230)에 저장된 데이터 패킷은 오류 제어 프레임 생성을 위하여 이용될 수 있다.The transmission data processing unit 210 of the transmitting station 200 receives data (for example, a MAC service data unit (SDU)) from an upper layer. The transmission data processing unit 210 processes data from an upper layer and generates a data packet (for example, a MAC protocol data unit (PDU)) to be transmitted to a lower layer or a receiving station. (Sequence Number Assignment), Integrity Protection, Fragmentation, Encryption and Integrity. The transmission data header processing unit 220 adds a header and cyclic redundancy check (CRC) data to a data packet received from the transmission data processing unit 210 and transmits the data packet to a plurality of receiving stations. Meanwhile, the transmitting station 200 stores a copy of the data packet processed by the transmission data processing unit 210 in the transmission buffer 230 for each flow for error control. The data packet stored in the transmission buffer 230 may be used for generating an error control frame.

수신국(300)은 송신국(200)으로부터 복수의 데이터 패킷을 수신한다. 수신국(300)의 수신 데이터 헤더 처리부(320)는 수신한 데이터 패킷으로부터 헤더를 제거하고, CRC를 검사하여 오류를 검출한다. 수신 데이터 처리부(310)는 데이터 패킷을 처리하여 상위 계층으로 전송할 데이터(예를 들면, MAC SDU)를 생성하며, 예를 들면 데이터 패킷의 복사본을 제거하고, 데이터 패킷에 대해서 리오더링(reordering), 해독화와 무결성(Decryption and Integrity) 검사, 단편 재배열(Defragmentation), 무결성 보호 및 반복 검출(replay detection) 등의 처리를 하여 상위 계층으로 전달한다. 한편, 수신국(300)은 오류 제어를 위하여 수신 데이터 처리부(310)에서 처리되는 데이터 패킷의 복사본을 흐름 별로 수신 버퍼(330)에 저장할 수 있다.The receiving station 300 receives a plurality of data packets from the transmitting station 200. The receiving data header processing unit 320 of the receiving station 300 removes the header from the received data packet, checks the CRC, and detects an error. The received data processor 310 processes the data packet to generate data (for example, MAC SDU) to be transmitted to a higher layer, for example, removes a copy of the data packet, reorders the data packet, Decryption and Integrity checks, fragment rearrangements, integrity protection, and replay detection are delivered to higher layers. Meanwhile, the receiving station 300 may store a copy of the data packet processed by the receiving data processor 310 in the receiving buffer 330 for each flow for error control.

이하, 수신국(300)이 송신국(200)으로부터 수신한 데이터 패킷에 오류가 발생한 경우, 오류를 제어하기 위한 방법에 대하여 도 2 내지 도 4를 참조하여 설명한다.Hereinafter, when an error occurs in the data packet received by the receiving station 300 from the transmitting station 200, a method for controlling the error will be described with reference to FIGS.

송신국(200)은 송신 데이터 처리부(210)에서 처리된 데이터 패킷을 흐름 별로 송신 버퍼(230)에 저장하고(S300), 송신 데이터 처리부(210)에서 처리된 복수의 데이터 패킷을 수신국(300)으로 송신한다(S310). 설명의 편의를 위하여, 송신국(200)이 하나의 수신국(300)으로 데이터 패킷을 전송하는 것으로 도시하고 있으나, 송신국(200)은 복수의 수신국(300)으로 데이터 패킷을 멀티캐스트 송신할 수 있다.The transmitting station 200 stores the data packets processed by the transmission data processing unit 210 in the transmission buffer 230 for each flow (S300), and receives the plurality of data packets processed by the transmission data processing unit 210. (S310). For convenience of description, although the transmitting station 200 is shown as transmitting a data packet to one receiving station 300, the transmitting station 200 multicasts the data packet to a plurality of receiving stations (300) can do.

수신국(300)의 수신 데이터 헤더 처리부(320)는 송신국(200)으로부터 수신한 데이터 패킷에 오류가 발생하였는지 여부를 확인하고(S320), 수신 데이터 처리부(310)는 데이터 패킷을 상위 계층으로 전달하기 위한 처리를 수행한다(S330). 수신 버퍼(330)는 수신한 데이터 패킷의 복사본을 흐름 별로 저장한다(S340). 수신 버퍼(330)는 데이터 패킷의 공통 헤더 정보를 더 저장할 수 있다.The receiving data header processing unit 320 of the receiving station 300 checks whether an error has occurred in the data packet received from the transmitting station 200 (S320), and the receiving data processing unit 310 transfers the data packet to a higher layer. A process for delivering is performed (S330). The reception buffer 330 stores a copy of the received data packet for each flow (S340). The reception buffer 330 may further store common header information of the data packet.

수신한 데이터 패킷에 오류가 검출된 경우, 수신국(300)의 패킷 손실 정보 생성부(360)는 패킷 손실 정보를 생성하여 송신국(200)으로 송신한다(S350). 패킷 손실 정보는 예를 들면 ACK/NACK 메시지를 통하여 송신될 수 있다. ACK/NACK 메시지는 일반적인 ACK/NACK 송신 기법 또는 블록 ACK 기법을 이용하여 송신될 수 있다. 블록 ACK 기법은 송신국(200)이 복수의 데이터 패킷을 포함하는 데이터 블록을 수신국(300)으로 송신한 경우, 수신국(300)이 데이터 블록 중에서 어떠한 데이터 패킷이 성공적으로 수신되었는지를 알리기 위한 것으로, 일정한 구간 내에 잘못 수신한 패킷 정보를 한꺼번에 하나의 패킷에 저장하여 보내는 방식이다.If an error is detected in the received data packet, the packet loss information generation unit 360 of the receiving station 300 generates the packet loss information and transmits the packet loss information to the transmitting station 200 (S350). Packet loss information may be transmitted via, for example, an ACK / NACK message. The ACK / NACK message may be transmitted using a general ACK / NACK transmission technique or a block ACK technique. In the block ACK scheme, when the transmitting station 200 transmits a data block including a plurality of data packets to the receiving station 300, the receiving station 300 informs of which data packet among the data blocks was successfully received. In this case, the packet information received in a predetermined interval is stored in one packet at a time and sent.

한편, 송신국(200)이 복수의 수신국(300)으로 멀티캐스트 송신한 경우, 각각의 수신국(300)은 단계 S320 내지 단계 S350을 수행한다. 다만, 단계 S350에서 수신국(300)이 패킷 손실 정보를 블록 ACK 기법을 이용하여 송신하는 경우, 수신국(300)은 충돌을 피하기 위하여 이웃하는 수신국이 블록 ACK을 송신하는 것을 듣게 되면 자신은 블록 ACK을 송신하지 않을 수도 있다.On the other hand, when the transmitting station 200 multicasts to the plurality of receiving stations 300, each receiving station 300 performs steps S320 to S350. However, when the receiving station 300 transmits the packet loss information by using the block ACK scheme in step S350, when the receiving station 300 hears that the neighboring receiving station transmits the block ACK to avoid collisions, it receives the packet loss information. It may not transmit a block ACK.

송신국(200)의 패킷 손실 정보 처리부(260)는 수신국(300)으로부터 패킷 손실 정보를 수신하고, 패킷 손실 정보를 이용하여 코딩 조건(coding condition)을 계산한다(S360). 코딩 조건(coding condition)은 송신국이 복수의 데이터 패킷을 코딩하여 복수의 수신국에 멀티캐스트 송신할 때 이를 수신한 모든 수신국에서 자신의 손실 패킷의 복구가 가능하도록 만드는 패킷의 조합 조건을 의미한다. 즉, 코딩 조건은 코딩된 복수의 데이터 패킷 내에서 두 개 이상의 손실이 발생한 수신국이 하나도 없도록 순차적인 데이터 패킷으로 코딩 패킷 조합을 만들되 가장 많은 데이터 패킷이 조합되도록 하여, 하나의 재전송 코딩 패킷으로 최대한 많은 수의 데이터 패킷의 무결성을 보장해주도록 하는 것이다.The packet loss information processing unit 260 of the transmitting station 200 receives the packet loss information from the receiving station 300, and calculates a coding condition using the packet loss information (S360). A coding condition is a combination condition of packets that makes it possible to recover its lost packets at all receiving stations when the transmitting station codes a plurality of data packets and multicasts them to the plurality of receiving stations. do. That is, the coding condition is to create a combination of sequential data packets so that none of two or more lossy receiving stations within a plurality of coded data packets are combined, but the largest number of data packets are combined so that a single retransmitted coding packet is possible. This is to ensure the integrity of a large number of data packets.

송신국(200)의 코딩부(240)는 송신 버퍼(230)에 저장된 데이터 패킷을 이용하여 오류 제어 프레임을 생성한다(S370). 이때, 코딩부(240)는 오류 제어 프레임을 생성하기 위하여 송신 버퍼에 저장되어 있는 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩한다. 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩하는 것을 네트워크 코딩이라 칭할 수 있다. 여기서, 네트워크 코딩은 복수의 데이터 패킷을 배타적 논리합(Exclusive_or, XOR) 연산하여 수행될 수 있다. 네트워크 코딩을 이용하여 오류 제어 프레임을 생성하는 자세한 방법은 후술한다.The coding unit 240 of the transmitting station 200 generates an error control frame using the data packet stored in the transmission buffer 230 (S370). In this case, the coding unit 240 codes a plurality of data packets stored in the transmission buffer into one data packet to generate an error control frame. Coding a plurality of data packets into one data packet may be referred to as network coding. Here, the network coding may be performed by performing an exclusive OR on a plurality of data packets. A detailed method of generating an error control frame using network coding will be described later.

송신국(200)의 오류 제어 헤더 처리부(250)는 오류 제어 프레임의 헤더 및 CRC를 위한 처리를 수행하고(S380), 오류 제어 프레임을 수신국(300)으로 송신한다(S390).The error control header processing unit 250 of the transmitting station 200 performs processing for the header and CRC of the error control frame (S380), and transmits the error control frame to the receiving station 300 (S390).

수신국(300)이 송신국(200)으로부터 오류 제어 프레임을 수신하면, 수신국(300)의 오류 제어 헤더 처리부(350)는 CRC 체크를 통하여 오류 제어 프레임의 오류 발생 여부를 확인한다(S400). 송신국(200)은 오류 제어 프레임에 해당 프레임이 오류 제어 프레임임을 나타내는 식별자를 부가할 수 있고, 수신국(300)은 식별자를 이용하여 해당 프레임이 오류 제어 프레임임을 알 수 있다.When the receiving station 300 receives the error control frame from the transmitting station 200, the error control header processing unit 350 of the receiving station 300 checks whether an error of the error control frame occurs through the CRC check (S400). . The transmitting station 200 may add an identifier indicating that the frame is an error control frame to the error control frame, and the receiving station 300 may recognize that the frame is an error control frame using the identifier.

수신국(300)의 디코딩부(340)는 송신국(200)으로부터 수신한 오류 제어 프레임과 수신 버퍼(330)에 저장된 데이터 패킷을 이용하여 오류 제어 프레임을 해독하여 손실된 데이터 패킷을 복구한다(S410). 이후, 수신국(300)의 수신 데이터 헤더 처리부(320)는 수신 버퍼(330)에 저장된 데이터 패킷의 공통 헤더 정보를 이용하여 복구된 데이터 패킷에 헤더를 붙이고, 수신 데이터 처리부(320)로 전달한다. 수신 데이터 처리부(310)는 수신 버퍼(330)에 저장된 데이터 패킷과 복구된 데이터 패킷을 순차번호에 맞게(re-ordering) 저장한 후 데이터 블록 단위로 상위 계층으로 전달한다.The decoding unit 340 of the receiving station 300 decodes the error control frame using the error control frame received from the transmitting station 200 and the data packet stored in the receiving buffer 330 to recover the lost data packet ( S410). Thereafter, the reception data header processing unit 320 of the reception station 300 attaches a header to the recovered data packet using common header information of the data packet stored in the reception buffer 330, and transmits the header to the reception data processing unit 320. . The reception data processor 310 stores the data packet and the recovered data packet stored in the reception buffer 330 according to the sequential number, and transfers the data packet to the upper layer in data block units.

도 5는 본 발명의 일 실시예에 따라 송신국이 복수의 데이터 패킷을 코딩하는 방법을 나타내는 도면이고, 도 6은 수신국이 코딩된 데이터 패킷을 이용하여 손실된 데이터 패킷을 복원하는 방법을 나타내는 도면이다. 송신국은 데이터 패킷 1, 데이터 패킷 2 및 데이터 패킷 3을 복수의 수신국에게 송신하고, 적어도 하나의 수신국으로부터 패킷 손실 정보를 수신하는 것으로 가정한다.5 is a diagram illustrating a method of transmitting a plurality of data packets by a transmitting station according to an embodiment of the present invention, and FIG. 6 is a diagram of a method of recovering a lost data packet using a coded data packet. Drawing. It is assumed that the transmitting station transmits data packet 1, data packet 2 and data packet 3 to the plurality of receiving stations, and receives packet loss information from at least one receiving station.

도 5를 참조하면, 송신국이 데이터 패킷 1, 데이터 패킷 2, 데이터 패킷 3을 코딩하기 위하여, 각 데이터 패킷의 페이로드(payload)의 마지막 지점에 특정 비트 배열(End of Sequence, EoS)을 삽입한다. 특정 비트 배열은 각 페이로드의 길이가 다른 복수의 데이터 패킷을 코딩한 후 디코딩하는 과정에서 페이로드(즉, 실제 데이터 부분)를 찾기 위하여 이용되는 영역이다.Referring to FIG. 5, in order for a transmitting station to code data packet 1, data packet 2, and data packet 3, a specific bit array (End of Sequence, EoS) is inserted at the end of the payload of each data packet. do. A specific bit array is an area used to find a payload (ie, an actual data portion) in a process of decoding and decoding a plurality of data packets having different payload lengths.

송신국은 특정 비트 배열이 삽입된 데이터 패킷 1, 데이터 패킷 2 및 데이터 패킷 3의 길이를 비교하고, 가장 긴 데이터 패킷의 길이를 구한다. 여기서, 데이터 패킷 1의 길이가 가장 긴 것으로 가정한다.The transmitting station compares the lengths of the data packet 1, the data packet 2 and the data packet 3 into which the specific bit array is inserted, and finds the length of the longest data packet. It is assumed here that the length of data packet 1 is the longest.

송신국은 데이터 패킷 2 및 데이터 패킷 3의 길이가 데이터 패킷 1의 길이와 같아지도록 데이터 패킷 2 및 데이터 패킷 3의 마지막 지점에 패딩 비트를 덧붙인다.The transmitting station adds padding bits to the last points of data packet 2 and data packet 3 such that the length of data packet 2 and data packet 3 is equal to the length of data packet 1.

송신국은 길이가 같아진 데이터 패킷 1, 데이터 패킷 2 및 데이터 패킷 3을 코딩한다. 코딩을 위하여 XOR 연산이 사용될 수 있다.The transmitting station codes Data Packet 1, Data Packet 2 and Data Packet 3 which are equal in length. XOR operations can be used for coding.

도 6을 참조하면, 수신국은 송신국으로부터 수신한 코딩된 데이터 패킷을 이용하여 손실된 데이터 패킷을 복구할 수 있다. 여기서, 송신국의 초기 송신 시, 데이터 패킷 1과 데이터 패킷 3은 정상적으로 수신되고, 데이터 패킷 2가 손실된 것으로 가정한다. 수신국은 송신국으로부터 수신한 코딩된 데이터 패킷, 송신국으로부터 수신하여 수신 버퍼에 저장되어 있던 데이터 패킷 1 및 데이터 패킷 3을 이용하여 데이터 패킷 2를 복구한다. 예를 들면, 수신국은 코딩된 데이터 패킷, 데이터 패킷 1 및 데이터 패킷 3을 XOR 연산하면 데이터 패킷 2를 복구할 수 있다.Referring to Fig. 6, the receiving station can recover the lost data packet using the coded data packet received from the transmitting station. Here, it is assumed that at the initial transmission of the transmitting station, data packet 1 and data packet 3 are normally received, and data packet 2 is lost. The receiving station recovers the data packet 2 using the coded data packet received from the transmitting station, the data packet 1 and the data packet 3 received from the transmitting station and stored in the receiving buffer. For example, the receiving station may recover data packet 2 by XORing the coded data packet, data packet 1 and data packet 3.

수신국은 복구한 데이터 패킷 2의 마지막 지점으로부터 특정 비트 배열의 마지막 지점, 즉 특정 비트 배열의 구간을 찾고, 복구한 데이터 패킷 2의 처음부터 특정 비트 배열의 시작 지점까지를 실제 데이터 패킷 2의 페이로드인 것으로 판별한다.The receiving station finds the last point of a specific bit array, i.e., the interval of a specific bit array, from the last point of recovered data packet 2, and the payout of the actual data packet 2 from the beginning of the recovered data packet 2 to the beginning of the specific bit array. Determined to be a load.

도 7은 본 발명의 다른 실시예에 따라 송신국이 복수의 데이터 패킷을 코딩하는 방법을 나타내는 도면이고, 도 8은 수신국이 코딩된 데이터 패킷을 이용하여 손실된 데이터 패킷을 복원하는 방법을 나타내는 도면이다.7 is a diagram illustrating a method of transmitting a plurality of data packets by a transmitting station according to another embodiment of the present invention, and FIG. 8 is a diagram of a method of recovering lost data packets by using a coded data packet by a receiving station. Drawing.

도 7을 참조하면, 송신국이 데이터 패킷 1, 데이터 패킷 2, 데이터 패킷 3을 코딩하기 위하여, 송신국은 각 데이터 패킷의 길이를 구하여 길이 정보 필드에 저장한다. 다음으로, 송신국은 데이터 패킷 1, 데이터 패킷 2 및 데이터 패킷 3의 길이를 비교하고, 가장 긴 데이터 패킷을 선택한다. 여기서, 데이터 패킷 1의 길이가 가장 긴 것으로 가정한다.Referring to Fig. 7, in order for the transmitting station to code data packet 1, data packet 2 and data packet 3, the transmitting station obtains the length of each data packet and stores it in the length information field. Next, the transmitting station compares the lengths of data packet 1, data packet 2 and data packet 3, and selects the longest data packet. It is assumed here that the length of data packet 1 is the longest.

송신국은 데이터 패킷 2 및 데이터 패킷 3의 길이가 데이터 패킷 1의 길이와 같아지도록 데이터 패킷 2 및 데이터 패킷 3의 마지막 지점에 패딩 비트를 덧붙인다.The transmitting station adds padding bits to the last points of data packet 2 and data packet 3 such that the length of data packet 2 and data packet 3 is equal to the length of data packet 1.

송신국은 길이가 같아진 데이터 패킷 1, 데이터 패킷 2 및 데이터 패킷 3을 코딩한다. 코딩을 위하여 XOR 연산이 사용될 수 있다.The transmitting station codes Data Packet 1, Data Packet 2 and Data Packet 3 which are equal in length. XOR operations can be used for coding.

도 8을 참조하면, 수신국은 송신국으로부터 코딩된 데이터 패킷을 수신하고, 코딩된 데이터 패킷, 정상 수신된 데이터 패킷 1 및 데이터 패킷 3을 XOR 연산하면 데이터 패킷 2를 복구할 수 있다.Referring to FIG. 8, a receiving station may recover data packet 2 by receiving a coded data packet from a transmitting station and performing an XOR operation on the coded data packet, the normally received data packet 1, and the data packet 3.

코딩부는 복구한 데이터 패킷 2의 길이 정의 필드로부터 데이터 패킷 2의 길이를 알아내고, 데이터 패킷 2의 시작 지점으로부터 정의된 길이까지를 실제 데이터 패킷 2의 페이로드인 것으로 판별한다.The coding unit finds the length of the data packet 2 from the length definition field of the recovered data packet 2, and determines the payload of the actual data packet 2 from the start point of the data packet 2 to the defined length.

도 9 및 도 10은 각각 본 발명의 한 실시예에 따른 오류 제어 프레임의 일 예이다.9 and 10 are examples of an error control frame according to an embodiment of the present invention, respectively.

도 9를 참조하면, 오류 제어 프레임은 프레임 바디를 포함하고, 프레임 바디는 도 5에서 예시하는 코딩된 데이터 패킷을 포함한다. 도 10을 참조하면, 오류 제어 프레임은 프레임 바디를 포함하고, 프레임 바디는 도 6에서 예시하는 코딩된 데이터 패킷을 포함한다. Referring to FIG. 9, an error control frame includes a frame body, and the frame body includes a coded data packet illustrated in FIG. 5. Referring to FIG. 10, an error control frame includes a frame body, and the frame body includes a coded data packet illustrated in FIG. 6.

이러한 오류 제어 프레임은 새롭게 정의된 프레임 구조 또는 기존에 정의된 프레임 구조를 가질 수 있다. 일 예로, 블록 ACK 요청(Block ACK Request) 프레임의 구조를 오류 제어 프레임으로 사용할 수 있다. 블록 ACK 요청 프레임은 송신국이 복수의 데이터 패킷을 포함하는 데이터 블록을 수신국으로 송신한 후 어떠한 데이터 패킷이 성공적으로 수신되었는지를 알기 위하여 수신국으로 블록 ACK을 요청하는데 사용하는 프레임이다.Such an error control frame may have a newly defined frame structure or a previously defined frame structure. For example, a structure of a block ACK request frame may be used as an error control frame. A block ACK request frame is a frame used by a transmitting station to request a block ACK to a receiving station to know which data packet was successfully received after transmitting a data block containing a plurality of data packets to the receiving station.

도 9 및 도 10에 도시한 것처럼, 오류 제어 프레임에 사용하는 블록 ACK 요청 프레임은 프레임 바디 외에 프레임 제어(Frame Control) 필드, 구간(Duration)/ID 필드, 목적지(Destination Address, DA) 필드, 출발지 주소(Source Address, SA) 필드, 블록 ACK 요청(Block ACK Request, BAR) 제어 필드 및 프레임 체크섬(Frame Check Sum, FCS) 필드를 더 포함할 수 있다. 프레임 제어 필드는 프레임의 타입에 대한 정보를 포함하고, 구간/ID 필드는 네트워크 할당 벡터(Network Allocation Vector)를 포함한다. DA 필드는 목적지, 즉 수신국 주소를 포함하고, SA 필드는 발신지, 즉 송신국 주소를 포함한다. BAR 필드는 블록 ACK 요청 제어 정보를 포함하고, QoS(Quality of Service)를 보장하기 위한 우선순위 정보를 포함하는 TID(Traffic ID) 필드를 포함한다. FCS는 블록 ACK 요청 프레임의 오류를 체크하기 위한 필드이다.As shown in FIG. 9 and FIG. 10, the block ACK request frame used for the error control frame includes a frame control field, a duration / ID field, a destination address (DA) field, and a departure point in addition to the frame body. It may further include a Source Address (SA) field, a Block ACK Request (BAR) control field, and a Frame Check Sum (FCS) field. The frame control field includes information on the type of a frame, and the interval / ID field includes a network allocation vector. The DA field contains a destination, i.e. a recipient station address, and the SA field contains a source, i. The BAR field includes block ACK request control information and includes a TID (Traffic ID) field including priority information for guaranteeing quality of service (QoS). The FCS is a field for checking an error of a block ACK request frame.

한편, 오류 제어 프레임은 해당 프레임이 오류 제어 프레임임을 지시하거나네트워크 코딩된 데이터 패킷을 송신하고 있음을 지시하는 식별 정보를 포함할 수 있다. 일 예로, 블록 ACK 요청 프레임의 구조를 이용하여 코딩된 데이터 패킷을 송신하기 위하여, 블록 ACK 요청 프레임의 BAR 제어 필드에 해당 프레임이 오류 제어 프레임임을 나타내는 식별자를 삽입할 수 있다. 즉, BAR 제어 필드 가운데 TID 필드를 제외한 12 비트를 이용하여 해당 프레임이 오류 제어 프레임임을 알릴 수 있다. Meanwhile, the error control frame may include identification information indicating that the frame is an error control frame or indicating that a network coded data packet is transmitted. For example, in order to transmit a data packet coded using a structure of a block ACK request frame, an identifier indicating that the frame is an error control frame may be inserted into a BAR control field of the block ACK request frame. That is, the 12-bit except for the TID field among the BAR control fields may be used to inform that the corresponding frame is an error control frame.

해당 프레임이 오류 제어 프레임인 경우, 코딩된 데이터 패킷은 BAR 제어 필드와 FCS 필드 사이에 삽입될 수 있다. 즉, 일반적인 블록 ACK 요청 프레임에서 BAR 제어 필드와 FCS 필드 사이에는 블록 ACK 시작 시퀀스 제어 필드가 있다. 블록 ACK 요청 프레임을 오류 제어 프레임으로 이용하기 위하여, 블록 ACK 시작 시퀀스 제어 필드의 위치에 시작 시퀀스(Strat Sequence) 필드, 마지막 시퀀스(End Sequence) 필드 및 데이터 패킷 바디 필드를 삽입할 수 있다. 여기서, 데이터 패킷 바디 필드는 코딩된 데이터 패킷을 포함한다. 코딩된 데이터 패킷은 도 5 및 도 7에서 예시하는 방법으로 생성될 수 있다. 시작 시퀀스 필드는 코딩을 시작한 첫번째 데이터 패킷의 시퀀스를 포함하고, 마지막 시퀀스 필드는 마지막으로 코딩된 데이터 패킷의 시퀀스를 포함한다.If the frame is an error control frame, the coded data packet may be inserted between the BAR control field and the FCS field. That is, in the general block ACK request frame, there is a block ACK start sequence control field between the BAR control field and the FCS field. In order to use the block ACK request frame as an error control frame, a start sequence (Strat Sequence) field, an end sequence field, and a data packet body field may be inserted at the position of the block ACK start sequence control field. Here, the data packet body field includes a coded data packet. The coded data packet may be generated by the method illustrated in FIGS. 5 and 7. The start sequence field contains the sequence of the first data packet that started coding, and the last sequence field contains the sequence of the last coded data packet.

이상과 같이, 복수의 데이터 패킷이 코딩된 오류 제어 프레임을 이용하면, 송신국이 복수의 수신국에게 멀티캐스트 송신을 하는 경우 발생하는 오류에 대한 데이터 패킷의 재전송 빈도를 줄일 수 있다. 또한, 가변 길이의 오류 제어 프레임을 지원하므로, 응용 계층의 구현을 용이하게 하고, 폭 넓은 응용 분야를 제공할 수 있다.As described above, by using an error control frame in which a plurality of data packets are coded, it is possible to reduce the frequency of retransmission of the data packet for an error that occurs when the transmitting station performs multicast transmission to the plurality of receiving stations. In addition, by supporting a variable length error control frame, it is possible to facilitate the implementation of the application layer and provide a wide range of applications.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다. The embodiments of the present invention described above are not only implemented through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (20)

무선 네트워크에서 송신국의 멀티캐스트 송신 방법에 있어서,
복수의 데이터 패킷을 복수의 수신국으로 송신하는 단계;
상기 복수의 수신국 중 적어도 하나의 수신국으로부터 상기 데이터 패킷의 손실에 대한 정보를 수신하는 단계;
상기 데이터 패킷의 손실에 대한 정보에 기초하여 상기 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩하는 단계; 및
코딩한 데이터 패킷을 포함하는 오류 제어 프레임을 상기 복수의 수신국으로 송신하는 단계를 포함하는 멀티캐스트 송신 방법.
In a multicast transmission method of a transmitting station in a wireless network,
Sending a plurality of data packets to a plurality of receiving stations;
Receiving information about the loss of the data packet from at least one receiving station of the plurality of receiving stations;
Coding the plurality of data packets into one data packet based on the information about the loss of the data packet; And
Transmitting an error control frame containing the coded data packet to the plurality of receiving stations.
제1항에 있어서,
상기 코딩하는 단계는,
상기 복수의 데이터 패킷 각각의 마지막 지점에 비트 배열을 삽입하는 단계;
상기 비트 배열이 삽입된 데이터 패킷 중 가장 긴 데이터 패킷을 제외한 나머지 데이터 패킷의 길이가 상기 가장 긴 데이터 패킷의 길이와 같아지도록 상기 나머지 데이터 패킷에 패딩 비트를 삽입하는 단계; 및
상기 복수의 데이터 패킷을 상기 하나의 데이터 패킷으로 코딩하는 단계를 포함하는 멀티캐스트 송신 방법.
The method of claim 1,
The coding step,
Inserting a bit array at a last point of each of the plurality of data packets;
Inserting padding bits into the remaining data packets such that the length of the remaining data packets excluding the longest data packet among the inserted data packets is equal to the length of the longest data packet; And
Coding the plurality of data packets into the one data packet.
제1항에 있어서,
상기 코딩하는 단계는,
상기 복수의 데이터 패킷 각각의 길이에 대한 정보를 각 데이터 패킷의 길이 정보 필드에 저장하는 단계;
상기 복수의 데이터 패킷 중 가장 긴 데이터 패킷을 제외한 나머지 데이터 패킷의 길이가 상기 가장 긴 데이터 패킷의 길이와 같아지도록 상기 나머지 데이터 패킷에 패딩 비트를 삽입하는 단계; 및
상기 복수의 데이터 패킷을 상기 하나의 데이터 패킷으로 코딩하는 단계를 포함하는 멀티캐스트 송신 방법
The method of claim 1,
The coding step,
Storing information on the length of each of the plurality of data packets in a length information field of each data packet;
Inserting padding bits into the remaining data packets such that the length of the remaining data packets except for the longest one among the plurality of data packets is equal to the length of the longest data packet; And
Coding the plurality of data packets into the one data packet.
제1항에 있어서,
상기 코딩하는 단계는,
상기 복수의 데이터 패킷을 XOR 연산하여 상기 하나의 데이터 패킷으로 코딩하는 단계를 포함하는 멀티캐스트 송신 방법.
The method of claim 1,
The coding step,
XOR-operating the plurality of data packets and coding the data packets into one data packet.
제1항에 있어서,
상기 송신하는 단계는,
상기 코딩한 데이터 패킷을 포함하는 오류 제어 프레임을 생성하는 단계; 및
상기 오류 제어 프레임을 상기 복수의 수신국으로 송신하는 단계를 포함하는멀티캐스트 송신 방법.
The method of claim 1,
The transmitting step,
Generating an error control frame including the coded data packet; And
Transmitting the error control frame to the plurality of receiving stations.
제5항에 있어서,
상기 오류 제어 프레임은 블록 ACK 요청(Block ACK Request, BAR) 프레임의 구조를 이용하여 송신되는 멀티캐스트 송신 방법.
The method of claim 5,
The error control frame is transmitted using a structure of a block ACK request (BAR) frame.
무선 네트워크에서 송신국의 멀티캐스트 송신 시에 수신국이 오류를 제어하는 방법에 있어서,
송신국으로부터 복수의 데이터 패킷을 포함하는 데이터 블록을 수신하는 단계;
상기 복수의 데이터 패킷에 손실된 데이터 패킷이 있는지를 확인하는 단계;
손실된 데이터 패킷이 있는 경우, 상기 송신국으로 패킷 손실 정보를 송신하는 단계;
상기 패킷 손실 정보에 기초하여 코딩된 데이터 패킷을 포함하는 오류 제어 프레임을 수신하는 단계; 및
상기 오류 제어 프레임 및 상기 복수의 데이터 패킷을 사용하여 상기 손실된 데이터 패킷을 복구하는 단계를 포함하는 오류 제어 방법.
A method for a receiving station to control an error during multicast transmission of a transmitting station in a wireless network, the method comprising:
Receiving a data block comprising a plurality of data packets from a transmitting station;
Checking whether there are lost data packets in the plurality of data packets;
If there is a lost data packet, sending packet loss information to the transmitting station;
Receiving an error control frame including a coded data packet based on the packet loss information; And
Recovering the lost data packet using the error control frame and the plurality of data packets.
제7항에 있어서,
상기 복구하는 단계는,
상기 복수의 데이터 패킷 중 손실되지 않은 데이터 패킷과 상기 오류 제어 프레임을 XOR 연산하여 상기 손실된 데이터 패킷을 복구하는 단계를 포함하는 오류 제어 방법.
The method of claim 7, wherein
The recovering step,
Recovering the lost data packet by performing an XOR operation on the data packet not lost and the error control frame among the plurality of data packets.
제7항에 있어서,
상기 복구하는 단계는,
복구한 데이터 패킷의 마지막 지점으로부터 소정의 비트 배열 구간을 찾는 단계; 및
상기 복구한 데이터 패킷의 시작 지점부터 상기 비트 배열의 시작 지점까지를 상기 복구한 데이터 패킷의 페이로드로 확인하는 단계를 포함하는 오류 제어 방법.
The method of claim 7, wherein
The recovering step,
Finding a predetermined bit array interval from the last point of the recovered data packet; And
And checking from the start point of the recovered data packet to the start point of the bit array as the payload of the recovered data packet.
제7항에 있어서,
상기 복구하는 단계는,
복구한 데이터 패킷의 길이 정보 필드로부터 상기 복구한 데이터 패킷의 길이를 확인하는 단계; 및
상기 복구한 데이터 패킷의 시작 지점에서 상기 길이에 해당하는 영역을 상기 복구한 데이터 패킷의 페이로드로 확인하는 단계를 포함하는 오류 제어 방법.
The method of claim 7, wherein
The recovering step,
Confirming the length of the recovered data packet from the length information field of the recovered data packet; And
Identifying an area corresponding to the length at a start point of the recovered data packet as a payload of the recovered data packet.
제7항에 있어서,
상기 오류 제어 프레임은 상기 복수의 데이터 패킷이 XOR 연산된 데이터 패킷을 포함하는 오류 제어 방법.
The method of claim 7, wherein
The error control frame includes a data packet obtained by XORing the plurality of data packets.
상위 계층으로부터 복수의 데이터 패킷을 수신하고, 상기 복수의 데이터 패킷을 수신국으로 송신하기 위한 처리를 수행하는 송신 데이터 처리부;
상기 송신 데이터 처리부로부터 상기 복수의 데이터 패킷을 흐름 별로 저장하는 송신 버퍼; 및
상기 수신국으로부터 상기 복수의 데이터 패킷에 대한 패킷 손실 정보를 수신한 경우, 상기 송신 버퍼에 저장된 상기 복수의 데이터 패킷을 하나의 데이터 패킷으로 코딩하는 코딩부를 포함하는 송신국.
A transmission data processing unit which receives a plurality of data packets from an upper layer and performs processing for transmitting the plurality of data packets to a receiving station;
A transmission buffer for storing the plurality of data packets for each flow from the transmission data processing unit; And
And a coding unit for coding the plurality of data packets stored in the transmission buffer into one data packet when receiving packet loss information for the plurality of data packets from the receiving station.
제12항에 있어서,
상기 코딩부는 상기 복수의 데이터 패킷 각각의 마지막 지점에 비트 배열을 삽입하고, 상기 비트 배열이 삽입된 데이터 패킷들 중 가장 긴 데이터 패킷을 제외한 나머지 데이터 패킷의 길이가 상기 가장 긴 데이터 패킷의 길이와 같아지도록 상기 나머지 데이터 패킷에 패딩 비트를 삽입하며, 상기 복수의 데이터 패킷을 XOR 연산하여 상기 하나의 데이터 패킷으로 코딩하는 송신국.
The method of claim 12,
The coding unit inserts a bit array at a last point of each of the plurality of data packets, and the length of the remaining data packets except the longest data packet among the data packets into which the bit array is inserted is equal to the length of the longest data packet. And a padding bit is inserted into the remaining data packet, and the XOR operation of the plurality of data packets is coded into the one data packet.
제12항에 있어서,
상기 코딩부는 상기 복수의 데이터 패킷 각각의 길이에 대한 정보를 각 데이터 패킷의 길이 정보 필드에 저장하고, 상기 복수의 데이터 패킷 중 가장 긴 데이터 패킷을 제외한 나머지 데이터 패킷의 길이가 상기 가장 긴 데이터 패킷의 길이와 같아지도록 상기 나머지 데이터 패킷에 패딩 비트를 삽입하며, 상기 복수의 데이터 패킷을 XOR 연산하여 상기 하나의 데이터 패킷으로 코딩하는 송신국.
The method of claim 12,
The coding unit stores information about the length of each of the plurality of data packets in a length information field of each data packet, and the length of the remaining data packets except for the longest data packet among the plurality of data packets is the length of the longest data packet. And a padding bit is inserted into the remaining data packet to be equal to a length, and the XOR operation of the plurality of data packets is coded into the one data packet.
제12항에 있어서,
상기 코딩부에서 코딩된 상기 하나의 데이터 패킷을 블록 ACK 요청 프레임의 구조를 이용하여 송신하는 송신 유닛을 더 포함하는 송신국.
The method of claim 12,
And a transmitting unit for transmitting the one data packet coded by the coding unit using a structure of a block ACK request frame.
송신국으로부터 복수의 데이터 패킷을 포함하는 데이터 블록을 수신하고, 상기 데이터 블록에 손실된 데이터 패킷이 있는지 여부를 확인하는 수신 데이터 처리부;
상기 데이터 블록에 손실된 데이터 패킷이 있는 경우, 패킷 손실 정보를 생성하여 상기 송신국으로 송신하는 패킷 손실 정보 생성부; 및
상기 송신국으로부터 상기 패킷 손실 정보에 기초하여 코딩된 데이터 패킷을포함하는 오류 제어 프레임을 수신하면, 상기 오류 제어 프레임 및 상기 복수의 데이터 패킷을 이용하여 상기 손실된 데이터 패킷을 복구하는 디코딩부를 포함하는 수신국.
A reception data processing unit which receives a data block including a plurality of data packets from a transmitting station and checks whether there are any lost data packets in the data block;
A packet loss information generation unit for generating packet loss information and transmitting the packet loss information to the transmitting station when the data packet is lost in the data block; And
And a decoding unit for recovering the lost data packet by using the error control frame and the plurality of data packets when receiving an error control frame including a data packet coded based on the packet loss information from the transmitting station. Recipient.
제16항에 있어서,
상기 디코딩부는 상기 복수의 데이터 패킷 중 손실되지 않은 데이터 패킷과 상기 오류 제어 프레임을 XOR 연산하여 상기 손실된 데이터 패킷을 복구하는 수신국.
The method of claim 16,
And the decoding unit recovers the lost data packet by performing an XOR operation on the data packet not lost and the error control frame among the plurality of data packets.
제16항에 있어서,
상기 디코딩부는 복구한 데이터 패킷의 마지막 지점으로부터 소정의 비트 배열의 구간을 찾고, 상기 복구한 데이터 패킷의 시작 지점부터 상기 비트 배열의 시작 지점까지를 상기 복구한 데이터 패킷의 페이로드로 확인하는 수신국.
The method of claim 16,
The decoding unit searches for a section of a predetermined bit array from the last point of the recovered data packet, and receives a receiving station that checks the start point of the recovered data packet from the start point of the recovered data packet as the payload of the recovered data packet. .
제16항에 있어서,
상기 디코딩부는 복구한 데이터 패킷의 길이 정보 필드로부터 상기 복구한 데이터 패킷의 길이를 확인하고, 상기 복구한 데이터 패킷의 시작 지점에서 상기 길이에 해당하는 영역을 상기 복구한 데이터 패킷의 페이로드로 확인하는 수신국.
The method of claim 16,
The decoding unit checks the length of the recovered data packet from the length information field of the recovered data packet, and checks the region corresponding to the length at the start point of the recovered data packet as the payload of the recovered data packet. Recipient.
제16항에 있어서,
이웃하는 수신국이 상기 데이터 블록에 대한 패킷 손실 정보를 송신하는 것을 감지하면, 상기 패킷 손실 정보 생성부는 상기 패킷 손실 정보를 상기 송신국으로 송신하지 않는 수신국.
The method of claim 16,
And if the neighboring receiving station detects transmitting the packet loss information for the data block, the packet loss information generation unit does not transmit the packet loss information to the transmitting station.
KR1020100019302A 2009-03-05 2010-03-04 Method and apparatus for multicast transmission in wireless network KR101338476B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/717,534 US8284680B2 (en) 2009-03-05 2010-03-04 Method and apparatus for multicast transmission in wireless network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090019020 2009-03-05
KR20090019020 2009-03-05

Publications (2)

Publication Number Publication Date
KR20100100655A true KR20100100655A (en) 2010-09-15
KR101338476B1 KR101338476B1 (en) 2013-12-10

Family

ID=43006656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100019302A KR101338476B1 (en) 2009-03-05 2010-03-04 Method and apparatus for multicast transmission in wireless network

Country Status (1)

Country Link
KR (1) KR101338476B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015060653A1 (en) * 2013-10-22 2015-04-30 삼성전자 주식회사 Method for transmitting and receiving packets in communication system using error correction code

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224702B2 (en) 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
US7912003B2 (en) 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015060653A1 (en) * 2013-10-22 2015-04-30 삼성전자 주식회사 Method for transmitting and receiving packets in communication system using error correction code
US9800371B2 (en) 2013-10-22 2017-10-24 Samsung Electronics Co., Ltd. Method for transmitting and receiving packets in communication system using error correction code

Also Published As

Publication number Publication date
KR101338476B1 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
JP5539496B2 (en) Method and apparatus for increasing the reliability of MAC messages
US8284680B2 (en) Method and apparatus for multicast transmission in wireless network
US6744766B2 (en) Hybrid ARQ for a wireless Ad-Hoc network and a method for using the same
US7948991B1 (en) Broadcast and multicast transmissions with acknowledgement scheduling
US8351365B2 (en) Method for retransmitting multicast frames and method for processing received multicast frames in wireless network
US8300563B2 (en) Aggregated transmission in WLAN systems with FEC MPDUs
ES2845557T3 (en) Reverse Link Acknowledgment on a Wireless Local Area Network (WLAN)
US11018812B2 (en) Wireless telecommunications apparatus and methods
US20030227934A1 (en) System and method for multicast media access using broadcast transmissions with multiple acknowledgements in an Ad-Hoc communications network
JP2008227642A (en) Retransmission control method and radio communication system
US20090319850A1 (en) Local drop control for a transmit buffer in a repeat transmission protocol device
US20140036775A1 (en) Apparatus and methods for frame control design
US20130294322A1 (en) Apparatus and method for sequentially transmitting data
US20100098033A1 (en) Method for transmitting network data
US20150381314A1 (en) Wireless device
US20050226159A1 (en) Apparatus, and associated method, for providing a medium access control layer hybrid automatic repeat request scheme for a carrier sense multiple access communication scheme
US9462465B2 (en) Apparatus and methods for separated security implementations in wireless communications
JP6248287B2 (en) Wireless communication device
JP5279640B2 (en) Wireless communication system, wireless communication device, receiving device, and wireless communication method
KR101647373B1 (en) Method of retransmitting Data using Random Linear Coding in a Wireless Access System
KR101338476B1 (en) Method and apparatus for multicast transmission in wireless network
EP2073424A1 (en) System and method for error recovery for wireless multihop communication
US20220173872A1 (en) Apparatus and method for block acknowledgement within reduced duration
TW202345652A (en) Network coding for multi-link device networks
KR101142982B1 (en) Transmitter, method for transmitting packet of transmitter, receiver and method for correcting loss of receiver

Legal Events

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