170 likes | 319 Views
P2P Live Streaming Aware Access Point Design and Implementation. 指導教授: 李正帆 老師 組員: 陳 昱光 、 黃健瑋 、 黃志揚 余尚哲 、 許基傑 、 鄭漢中. Outline. Introduction Contribution Implementation in Embedded AP Efficient Filtering Signaling of PPStream Management Interface Q & A. Introduction.
E N D
P2P Live Streaming Aware Access PointDesign and Implementation 指導教授: 李正帆老師 組員:陳昱光、黃健瑋、黃志揚 余尚哲、許基傑、鄭漢中
Outline • Introduction • Contribution • Implementation in Embedded AP • Efficient Filtering • Signaling of PPStream • Management Interface • Q&A
Introduction • P2P Live streaming is popular • Inefficient bandwidth utilization for P2P in WLANs • Smart transmission scheme • New architecture for P2P Live streaming in WLANs • We design and implement a P2P Live streaming aware AP for further improvement
PPStream • Most famous NetTV application • Started from Jan 2006 • First supported VOD app • Variety of channel
Implementation in Embedded AP • Asus WL-500g Premium Wireless AP • Embedded OS: Linux 2.4 (open source) • Workstation • OS: Ubuntu / Fedora • Laptop • P2Psoftware: PPStream
Implementation of Embedded AP • Asus WL-500g Premium Wireless AP • Embedded OS: Linux 2.4 (open source) • Linux Kernel customized • Enable Loadable module support • Implement a kernel module to dynamically • Filtering frames • Get P2P Live streaming connection data Channel Name Peer IP Peer list
Efficient Filtering • Not necessary to filter every packets(skb) • Necessary frames on necessary NICs • When the filtering function start? • Use event trigger to handler and maintains client state. • How to drop out offline client? • Linux build in connection tracking /proc/net/ip_conntrack, trace the timeout value.
Efficient Filteringbased on different interfaces • skbdevname • eth1: WLAN • vlan0: LAN • vlan1: WAN • HTTP Action Notice eth1(WLAN) • /net/core/dev.c • netif_receive_skb() • before bridge function • Received Peer List vlan1(WAN)
Efficient Filteringkernel hook function • Received Peer List vlan1(WAN) • forwardRcv.hook = peerDataRcv; • forwardRcv.pf = PF_INET; • forwardRcv.hooknum = NF_IP_FORWARD; • forwardRcv.priority = NF_IP_PRI_FIRST; • nf_register_hook(&forwardRcv);
Signaling of PPStream • Sent Action notice • Request Peer List • Communicate with Peer • Channel Start
Signaling of PPStreamRequest of Channel • GET /action/notice.php?...cn=something… • Server: 210.51.188.91 • TCP packet
Signaling of PPStream HTTP Get /action/notice.php UDP Received Peer List UDP Communicate with Peer Channel Name in urlencode format
Signaling of PPStreamReceive Peer List 22hex 32dec 32 peer in list. Peer IP & Port UDP Communicate with Peer