1 / 33

NETWORK CODING INTRO AND MODULE DESIGN THINKING

NETWORK CODING INTRO AND MODULE DESIGN THINKING. Presenter: Yi-Quan Chen. OUTLINE. What is Network coding? Main Reference of the Module Design Thinking Module Design Flowchart & Thinking. WHAT IS NETWORK CODING?. emerged in 2000 Without Network Coding

Download Presentation

NETWORK CODING INTRO AND MODULE DESIGN THINKING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NETWORK CODING INTRO AND MODULE DESIGN THINKING CN group, CCU, Chia-Yi, Taiwan Presenter: Yi-Quan Chen

  2. OUTLINE • What is Network coding? • Main Reference of the Module Design Thinking • Module Design Flowchart & Thinking CN group, CCU, Chia-Yi, Taiwan

  3. WHAT IS NETWORK CODING? • emerged in 2000 • Without Network Coding • Independent information are kept separate • Intermediate nodes only forward it • With Network Coding • Intermediate processesthe incoming independent information flows CN group, CCU, Chia-Yi, Taiwan

  4. Benefits • Throughput • Wireless resources • Security CN group, CCU, Chia-Yi, Taiwan

  5. Benefits(1) • Throughput • Y uses all resources Z uses all resources CN group, CCU, Chia-Yi, Taiwan

  6. Benefits(2) • Wireless resources CN group, CCU, Chia-Yi, Taiwan

  7. Benefits(2) • Wireless resources • Energy efficiency • Delay • Wireless bandwidth CN group, CCU, Chia-Yi, Taiwan 7

  8. Benefits(3) • Security • Assume that adversary can wiretap a single path CN group, CCU, Chia-Yi, Taiwan Someone can intercept one of them Can’t decode with single symbols 8

  9. Challenges • Complexity • Security • Integration with existing infrastructure CN group, CCU, Chia-Yi, Taiwan 9

  10. Challenges(1) • Complexity • In wireless example • Node B : 1. additional memory requirements 2. has to perform operations • The same with node A and C. • Important question • Assessing • Tradeoffs CN group, CCU, Chia-Yi, Taiwan 10

  11. Challenges(2 & 3) • Security • Banking transactions • Integration with existing infrastructure • Without dramatic changes • How to integrate in current network protocols? CN group, CCU, Chia-Yi, Taiwan 11

  12. Main Reference of the Module Design Thinking • “XORs in The Air: Practical Wireless Network Coding”, S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, SIGCOMM’06, Sep. 11-15, 2006 • “The importance of being opportunistic: Practical network coding for wireless environments”, S. Katti, D. Katabi, W. Hu, H. S. Rahul, and M. M´edard., 2005. • “Network Coding Fundamentals”,Christina Fragouli and Emina Soljanin, 2007 CN group, CCU, Chia-Yi, Taiwan

  13. COPE Introduction COPE inserts a coding shim between the IP and MAC layers. To detect coding opportunities and exploits them to forward multiple packets in a single transmission COPE leads to larger bandwidth savings Is based on two key principles: Dispose of the p2p abstraction and embraces the broadcast nature of the wireless channel Employs network coding CN group, CCU, Chia-Yi, Taiwan

  14. COPE overview Incorporate three main techniques: Opportunistic Listening Opportunistic Coding Learning Neighbor State CN group, CCU, Chia-Yi, Taiwan

  15. Opportunistic Listening Sets the nodes in promiscuous mode Store the overheard packets for a limited period T Each node broadcast reception report to tell its neighbors which packets it has stored A node that has no data packets to transmit periodically sends the reception reports in special control packets CN group, CCU, Chia-Yi, Taiwan

  16. Opportunistic Coding The key question is what packets to code together to maximize throughput. It should aim to maximum the number of native packets delivered in a single transmission, while ensuring that each intended nexthop has enough information to decode its native packet CN group, CCU, Chia-Yi, Taiwan

  17. Opportunistic Coding CN group, CCU, Chia-Yi, Taiwan

  18. Learning Neighbor State Reception report may get lost in collisions The node may has already made a suboptimal coding decision Guess ! COPE estimates the probability that a particular neighbor has a packet as the delivery probability of the link If guess wrong, the relevant native packet is retransmitted, potentially encoded with a new set of native packets CN group, CCU, Chia-Yi, Taiwan

  19. Making it work Packet Coding Algorithm Packet Decoding Pseudo-broadcast Hop-by-Hop ACKs and retransmissions Preventing TCP packet reordering CN group, CCU, Chia-Yi, Taiwan

  20. Packet Coding Algorithm Each node has a FIFO queue of packets to be forwarded, which called the output queue. For each neighbor, the node maintains two per-neighbor virtual queues, one for small packet, and the other for large packets The node keeps a hash table, packet info, that is keyed on packet-id, the table indicates the probability of each neighbor having that packet CN group, CCU, Chia-Yi, Taiwan

  21. Packet Decode Each node maintains a packet pool, in which it keeps a copy of each native packet it has received or sent out. The packets are stored in a hash table keyed on packet id Is garbage collected every few second CN group, CCU, Chia-Yi, Taiwan

  22. Pseudo-Broadcast Piggybacks on 802.11 unicast and benefits from its reliability and backoff mechanism Promiscuous mode The link-layer destination field is set to the MAC address of one of the intended recipients XOR-header listing all nexthops of the packet Does not completely solve the reliability problem CN group, CCU, Chia-Yi, Taiwan

  23. Hop-by-Hop ACKs and Retransmissions The sender gets syn-ACK only from the link-layer destination of the packet COPE may optimistically guess that a nexthop has enough information to decode an XOR-ed packet, when it actually does not. The sender expect the nexthops of an XOR-ed packet to decode it, and ack it in Ta Nexthop receives an encoded packet decodes it and schedule an acl event CN group, CCU, Chia-Yi, Taiwan

  24. THE COPE DESIGN IMPLEMENTATION FLOWCHART Packet Deque & Check whether can Code ? XOR Coding Edit the Mac CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan Add Information to Coding Header 24

  25. The Queue In NS2 CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan 25

  26. THE PACKET IN QUEUE CLASS OF NS2 5 4 3 2 1 Packet Queue PacketQueue Class in NS2 CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan 5 4 3 2 1 I made a copy of each packet 26

  27. THE HEADER CONTENT OF COPE CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan 27

  28. THE PACKET STRUCTURE OF NS2 CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan 28 Insert COPE Header Coding Header body

  29. THE TRAFFIC FLOW IMAGINATION UNDER NETWORK CODING I have the Coding Chance RTS CTS CTS RTS CTS RTS RTS CTS Flow A Packet A Promiscuous Packet A ⊕B Packet A ⊕B Packet B CN group, CCU, Chia-Yi, Taiwan CN group, CCU, Chia-Yi, Taiwan Flow B 29

  30. WHAT I HAVE DONE ? • 1. 封包在node中的資訊,對我比較重要的如:next_hop, Prev_hop, 以及時 間…等,取出。2. 寫完queue.h內,有關packetqueue的註解,並在priqueue.cc內,把封包的資訊dump出來,看看是否能達到我要找的東西。3. 在queue.h內,加入了封包進入queue後,封包備份儲存的動作,在此不考慮帶有routing資訊、mac資訊及ack的封包。封包可以儲存在自己的queue中。 • 預計加入可以定期清除的機制。 CN group, CCU, Chia-Yi, Taiwan

  31. 4. 目前構想的封包enque及deque程序: • enque的部分:封包enque後,check是否是xor的封包。if (xored...)then (check the coding header to find 自己是否是在destination端欄位中。是的話,decode it。否則就只是單純轉送。)copy decode後的pure packet,並刪除重複的部分。deque的部分:要deque前,先用head_封包,與備份的封包做check,確保兩個封包的prev_hop與next_hop不同,(這樣代表封包來自不同方向)if (prev_hop相同)then (head_不變,next_向後移一位,再做check。)else if (next_hop 是否為自己)如果不是,then coding it。 CN group, CCU, Chia-Yi, Taiwan

  32. WHAT I HAVE DONE - 2 • 加入了單層的Header。 • 1. 寫了兩支cope.cc cope.h,用來新增COPE header這個物件,並成功列印出hdr_cope class下的資料,資料也有填進去,source欄位填的OK。但是目前比較疑惑的是,要如何去實現PAPER中的pkt_map與ack_map的部 分。2. 尚未測試類似MPLS中的push Header的功能是否可以正確動作,必須另外寫幾個函式,來做到這些事情。3. ns2中的TCP,做的事情跟實際中的TCP不太一樣,one-way TCP在回ACK的時候,就是純的ACK,沒有辦法使用piggyback的方式,把要送的資料也回填回去給剛剛送資料來的source。不知道這個部分會不會影響到往後的實現。4. 目前有修改過的原始程式碼如下:ns-packet.tcl     queue.h     priqueue.cc     cope.h     cope.cc     packet.h5. 找到一份大陸人寫的講述有關packet class的文件,裡面有詳細的講出說在各層中,哪個函式會填入各層對應的資料,我想,填資料的部分,應該可以SURVEY看看這份文件。 CN group, CCU, Chia-Yi, Taiwan

  33. Question ? CN group, CCU, Chia-Yi, Taiwan

More Related