420 likes | 599 Views
Improvement upon WAKE-ON LAN. Group # 28 Chien-Tarng Huang, Hsin -Mao Wu, Michael Chow. Wake-on LAN is a method of waking a computer remotely Enable computers on network to sleep to conserve power Provide a solution to the data loss due to computer being asleep. Introduction.
E N D
Improvement upon WAKE-ON LAN Group # 28 Chien-Tarng Huang, Hsin-Mao Wu, Michael Chow
Wake-on LAN is a method of waking a computer remotely • Enable computers on network to sleep to conserve power • Provide a solution to the data loss due to computer being asleep Introduction
Act as a proxy server that monitors the network for client • Maintain the presence of client even when asleep • Automatically wakes up client and destination machine when connection is required • Cache data to client when asleep to guarantee zero data loss Features
Generate IP table for both incoming and outgoing traffic • IP table provides extra security potential and connection history • 8 user friendly LED lights to display device state • Linux environment that provides detail device information Features
Two sets of device, Client mode and Administrative mode • Each device requires: • Two Ethernet Jacket: RJ45 Platinum Tool • Two Ethernet Processor:RTL8019AS Realtek • One Microcontroller: ATMEGA128 • 8 LED Lights:RL3-RL4545 • Transceiver/Jumper: 20F001N Hong Da Electronics • Voltage Regulator Original Design
Ethernet Controller 1 Microcontroller Ethernet Controller 2 Overall Connection
Output IMAX = 0.5A • Output VMAX = 4.85 ~ 5.15V • PMAX = 2.425 ~ 2.575W Voltage Regulator Spec
Technical Concern: • Connection between Microcontroller and Ethernet Processor may not be in sync • JTAG circuitry for debugging is too complicated • Hard to program chips • Limited tries on soldering chips • Project Concern: • Cannot meet deadline • Good complexity but may not be able to deliver Original Design Eliminated
Financial Concern: • Total cost for each device: 125.88 Dollars (Excluding capacitor and resistor) • There are built internet processor that costs less than 100 dollars • Financially impractical Original Design Eliminated
Purchase Beagle Board • Pure Software solution with Hardware state indicator • USB to Ethernet adapter for two way traffic • Use OMAP for LED output New Design
Hardware: • Beagle Board • 8 LED lights • 2 USB to Ethernet adapter • 4 GB SD RAM Card • HDMI Cable • 5V Power source System Overview
Software: • Ubuntu Linux OS • PCAP Library (Capture Packet) • Socket Library (Packet Injection) • Pthread Library (Parallel Processing) • GPIO Driver • Customized Proxy Server • Customized IP Table System Overview
Client and outside network under different subnet • Device act as Proxy to forward traffic with filters • Destination machine can be any device on the internet including normal websites such as Google, Facebook, etc. System Overview
GPIO LED Light • Program the driver for enabling output • Base on the status of the network, determine the direction/value of the LEDs voltage • Hard code script in kernel to drive the built-in muxes of the Beagle Board • Outputs a DC 1.8 V to power all LEDs Hardware Overview (In House Manufactured)
Two operation mode: Incoming and Outgoing • PCAP Engine for capturing packet • PING function • IP Table • Forward packet injection • Header fixer function for swapping Layer 2~4 address header • Socket function for injection • Cache packet • Send Magic packet Software Overview
Scenario 1: Client Computer is awake • Device acts as a bridge between the router and the client. Traffic successfully passes through. • Scenario 2: Client Computer is asleep • Device receives the packets from the router and saves them until client is awake. • Device will redirect the packet to the sleeping computer. • Packet is copied exactly. • Magic Packet sent to wake up the client computer. Incoming Traffic to Client
Start Incoming traffic Build IP table PING client Yes Reply? Forward packet Less than 5 times No Cache packet Awake? Try number No Send Magic Packet Yes More than 5 times Failed Forward cached packet
Scenario 1: Destination Machine is awake • Device acts as a bridge between the router and the client. Traffic successfully passes through. • Scenario 2: Destination machine is asleep • Check IP table for connection interval • If Larger than default time setting -> Destination is asleep • Packet is copied exactly. • Magic Packet sent to wake up the destination machine • Forward packet to destination machine Outgoing Traffic from Client
Start Outgoing traffic Filter packet Check IP table Time Interval <5 mins Forward packet >5 mins Cache packet and PING destination Less than 5 times Yes Awake? Try number Reply? No Yes No More than 5 times Forward cached packet Failed Send Magic Packet
Verify correct filtering of Internet traffic • Incoming and Outgoing traffic should be maintained (contents preserved). • Customized the amount and content of the packets to be send. • Be able to filter MAC and IP addresses • Determine the desired destination or source IP and MAC addresses for the device. • Correctly modifyIP and MAC addresses Functional Tests I
Able to forward packet • Header fixer for Layer 2~4 header • Change IP, MAC address • Inject with selected Ethernet port Functional Test II
PING Function to detect state. • Detection of the availability to send or receive data • Programmed in the device/engine to run automatically. Functional Tests III
IP Address table • Record connection histories. • Calculate time intervals between connections. • Potential Extra firewall protection. Functional Tests IV
Ability of detect and send Magic Packet • Device will automatically send out Magic Packet to wake up sleeping computer base on PING function results. • Cache packet when asleep Functional Tests V
GPIO LEDs • Four LEDs on both sides of the additional hardware to display status of the device. • Runs with the engine simultaneously. • Adjust behaviors according to the scenarios. • Easily managed and customized due to the fact that the drivers are pre-programmed. Functional Tests VI
Successes: • Able to maintain multiple computers • Runs with relative fast speed • Engine will react correspondingly to user’s commands • Zero traffic/packets loss in transmission. • Easily wake up sleeping computer • Screen display is easily understood • Can work on numerous operating systems. Successes and Challenges
Challenges: • Memory Leaks • Malloc Errors • LED connection may cause short circuit • GUI interface lags Successes and Challenges
Transform into a more stable and automatically engine/device • Built-in voltage regulator for power saving on the whole network. • Potential to replace the role of the router • Faster processor to fix GUI lag issue • Better packaging that can be added-on to any computer/network for both Ethernet and wireless networks. Future Development