Bilkent University Department of Computer Engineering - CS 491 Senior Design Project 1 High-Level Design Report Group Members: Emrah Bayraktaroğlu Berk Berker S. Tuncer Erdoğan Mustafa Ömer Kılavuz Erkan Okuyan 20200944 20201826 20200854 20202180 20201633 Supervisor: Assistant Professor Dr. İbrahim Körpeoğlu December 30, 2005 This report is submitted to the Department of Computer Engineering of Bilkent University in partial fulfillment of the requirements of the Senior Projects course CS491. Bilkent University – Department of Computer Engineering TABLE OF CONTENTS TABLE OF CONTENTS .......................................................................................................................... 1 1. INTRODUCTION ................................................................................................................................ 2 1.1. Purpose of the System .................................................................................................................... 2 1.1.1 Wireless Connectivity Module.......................................................................................... 2 1.1.2 Multimedia Streaming Module ......................................................................................... 2 1.2. Design Goals .................................................................................................................................. 3 1.2.1. Platform Independency ..................................................................................................... 3 1.2.2. Scalability.......................................................................................................................... 3 1.2.3. Usability ............................................................................................................................ 3 1.2.4. Robustness ........................................................................................................................ 3 1.2.5. Reliability .......................................................................................................................... 3 1.3. Definitions, Acronyms & Abbreviations ....................................................................................... 4 2. CURRENT SOFTWARE ARCHITECTURE ...................................................................................... 5 3. PROPOSED SYSTEM ARCHITECTURE .......................................................................................... 5 3.1. Overview ........................................................................................................................................ 5 3.2. Subsystem Decomposition ............................................................................................................. 6 3.3. Hardware / Software Mapping ..................................................................................................... 12 3.4. Access and Security Control ........................................................................................................ 17 4. SUBSYSTEM SERVICES ................................................................................................................. 18 4.1. Network Services ......................................................................................................................... 18 4.2. Protocol Services.......................................................................................................................... 18 5. REFERENCES.................................................................................................................................... 19 6. APPENDIX ......................................................................................................................................... 20 6.1. How to setup Winamp ShoutCast Streaming Server? ................................................................. 20 1 Bilkent University – Department of Computer Engineering 1. INTRODUCTION As of 21st century, mobility becomes one of the very most important concepts affecting daily lives of humans. Cell phones, WAP, GPRS, 3 & 3.5G are the key concepts of mobile world that everybody can reach. More specific technologies, such as IEEE 802.11b & 802.11g standards provides more professional approaches to wireless communication needs. These stand-alone wireless technologies give the developers the chance to develop ad-hoc applications in the inner structure of a stand-alone adhoc sub network without the obligation to connect to the general network, such as the Internet or the phone network. The developmental possibilities to the wireless sub networks are unbounded. P2P file sharing, LAN & WAN gaming, secure-region implementations, residential area management systems, suburban & rural area Internet access systems are simple, well-known and yet powerful examples of wireless communication technologies. Multimedia streaming over wireless ad-hoc networks is a new area of research in mobility world. Being a new area of research brings its own problems to the researchers. First of all multimedia streaming over wireless connections diverse from streaming over fixed communication lines, mobile devices are not placed at permanent places and constantly moves around. Additionally the connection range of these mobile devices is so limited to provide extensively usable services. On the other hand, building an ad-hoc infrastructure to provide wide-area services is another challenge that must be passed over. Most challenging component of a multimedia streaming network over wireless lines is its independence. The independent network should maintain its own state information and update the routes by considering the formerly added nodes & removed nodes in the current state of the system. 1.1. Purpose of the System The purpose of system is to build a reliable and stable wireless ad-hoc infrastructure to provide enjoyable streaming experience to the future users of the system. The system itself will consist of: 1.1.1 Wireless Connectivity Module This module will scan the environment for available machines and connect to the sub network it finds. The found node/nodes will help the current node to connect to the network using wireless ad-hoc infrastructure, and build up the network map to find reachable nodes and files. 1.1.2 Multimedia Streaming Module Based on the wireless connectivity module, this higher layer provides services to support audio, video, and maybe even file, like documents, streaming. 2 Bilkent University – Department of Computer Engineering 1.2. Design Goals 1.2.1. Platform Independency The wireless devices spread over various platforms (Many kinds of CPUs, operating systems, etc.), so the software should be platform independent. C# is a semi-independent language, can be run on Windows systems, and partially run on GNU/Linux systems with the help of Mono Project. 1.2.2. Scalability The system should be able to support sub networks consisting from two wireless devices up to thousands, maybe. The system should all be capable of handling infinite number of different combinations with the help of intelligent, self-learning algorithms. 1.2.3. Usability The software is a part of research project, consisting of tests on wireless communication parameters, protocol choices, server and client architectures, and so on. But the final result must provide a brilliant piece of software, easy to use, for the end-users. Inner details, working principles of networking and ad-hoc architecture should be encapsulated from end-users. 1.2.4. Robustness The software itself should provide robustness, disabling user to take wrong actions, entering invalid data. 1.2.5. Reliability Reliability is divided into two terms: i) Reliability in means of scalability: Software should be able to handle large number of clients and downstream/upstream. Multimedia data generally requires large bandwidth and powerful CPUs, so the software should both be lightweight in terms of CPU cycles and yet powerful to handle large amount of data transfers. ii) Reliability in means of data security: The streaming data will be transferred on different devices, so it should be guaranteed that the initial data and the output on the client are the same. This process should also be completed very fast and should not become a bottleneck on the end systems in means of CPU cycles. 3 Bilkent University – Department of Computer Engineering 1.3. Definitions, Acronyms & Abbreviations P2P A peer-to-peer (or P2P) computer network is a network that relies on the computing power and bandwidth of the participants in the network rather than concentrating it in a relatively low number of servers. P2P networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes. Sharing content files containing audio, video, data or anything in digital format is very common, and real-time data, such as telephony traffic, is also passed using P2P technology. [2] ad-hoc Network based on the collective operations of the individual nodes. As in the following figure, Node A may not be able to reach node B directly because of the wireless communication limitations, but having the network tunneling over node C, node B becomes a part of sub network of node A. MANET A mobile ad-hoc network (MANET) is a self-configuring network of mobile routers (and associated hosts) connected by wireless links—the union of which form an arbitrary topology. The routers are free to move randomly and organize themselves arbitrarily; thus, the network's wireless topology may change rapidly and unpredictably. Such a network may operate in a standalone fashion, or may be connected to the larger Internet. Minimal configuration and quick deployment make ad hoc networks suitable for emergency situations like natural or human-induced disasters, military conflicts, emergency medical situations etc. [2] RTP The Real-time Transport Protocol (RTP) defines a standardized packet format for delivering audio and video over the Internet. It was developed by the Audio-Video Transport Working Group of the IETF and first published in 1996 as RFC 1889. [2] RTCP RTP Control Protocol (RTCP) is a sister protocol of the Real-time Transport Protocol (RTP). It is defined in RFC 3550 (which obsoletes RFC 1889. [2] RTSP The Real Time Streaming Protocol (RTSP), developed by the IETF and published in 1998 as RFC 2326, is a protocol for use in streaming media systems which allows a client to remotely control a streaming media server, issuing VCR-like commands such as "play" and "pause", and allowing timebased access to files on a server. Some RTSP servers use RTP as the transport protocol for the actual audio/video data. Many RTSP servers use Real Networks' proprietary RDT as the transport protocol. [2] 4 Bilkent University – Department of Computer Engineering 2. CURRENT SOFTWARE ARCHITECTURE Currently there are many systems that stream multimedia over network. Both wired and wireless networks are involved in streaming; however used networks are mostly infrastructured networks. Infrastructured networks are networks with fixed and wired gateways. The bridges for these networks are known as base stations. A mobile unit within these networks connects to, and communicates with, the nearest base station that is within its communication radius. As the mobile travels out of range of one base station and into the range of another, a “handoff” occurs from the old base station to the new, and the mobile is able to continue communication seamlessly throughout the network. Typical applications of this type of network include office wireless local area networks (WLANs). [1] As a second alternative, infrastructureless wireless network, commonly known as ad hoc network can be used for streaming purposes. In our proposed system, streaming will be made over wireless ad hoc networks, because of the advantageous features of ad hoc networks: i) Ad hoc networks have no fixed routers; all nodes are capable of movement and can be connected dynamically in an arbitrary manner. ii) Nodes of these networks function as routers which discover and maintain routes to other nodes in the network. iii) Nodes in the network can connect to other nodes which are out of their communication radius. iv) In ad hoc networks there is no need for a central maintenance unit or a super node. 3. PROPOSED SYSTEM ARCHITECTURE 3.1. Overview The proposed system will use ad hoc networks for streaming. For an efficient resulting system, effective use of ad hoc routing algorithms is crucial. A routing protocol for wireless ad hoc networks should deal with the following challenges: 1. Mobility of source and target nodes 2. Bandwidth constraints of the channel 3. Error-Prone Shared Broadcast Radio Channel 4. Hidden and Exposed Terminal Problems 5. Resource Constraints such as power, weight and size Additionally, while dealing with various challenges originated from the nature of wireless medium, an ideal routing for wireless networks should have the following characteristics: - The algorithm must be fully distributed meaning capable of operating without a central coordination. 5 Bilkent University – Department of Computer Engineering -Adaptations should be provided against frequent topology changes. - Route computation and maintenance must involve minimum number of nodes. - It must be localized. Global state maintenance involves a huge control overhead. - It must be loop free. - There must be a mechanism to control the broadcasts in order to minimize the packet collisions. - A fast convergence must be provided. - The traffic information should be maintained as long as it is related with the corresponding node. - A certain level of QoS should be guaranteed. - It must use scarce resources such as bandwidth, computing power, memory and battery power optimally. 3.2. Subsystem Decomposition The system is designed with moduler approach, so the system includes the following sub-modules. Application module: In this module, multimedia streaming tools and video/audio players will be used as applications. These tools are already implemented reliable and robust software products. Possible candidates for servers are Windows Media Server and Winamp SHOUTCast. Each of these servers has already implemented players that can play the streaming media without any problems. Ad-Hoc Routing Module: There are various Ad-Hoc algorithms proposed so far. These algorithms differ from each other according to various aspects. These algorithms use different decision variables and as a consequence each produces different routes. Figure 1 6 Bilkent University – Department of Computer Engineering Some necessary classifications are shown below [1].: 1) Table-Driven Routing Algorithms: Table-driven routing protocols maintain consistent, upto-date routing information. To do so one or more tables need to be stored. These tables are maintained by advertising the changes in network to keep consistent state in network. There are several proposed algorithm designed as table driven. Some examples are: Destination Sequenced Distance Vector (DSDV), Clusterhead Gateway Switch Routing (CGSR), and Wireless Routing Protocol (WRP). These algorithms may differ on necessary tables needed or underlying working principle. Since these algorithms are mainly suitable for wired networks we intend to use the next class of algorithms for project. 2) Source-Initiated On-Demand Routing: Algorithms that are created according to this principle creates routes only when desired by the source node. When a node requires a route to a destination, it initiates a route discovery process within the network. This discovery process is completed once a route is found or all possible routes have been examined. After establishment of route, it will be kept with a maintenance procedure until a link on route will be unavailable or route to destination becomes undesired. There are several proposed algorithm designed with onDemand trait. Some examples are: Ad-Hoc on Demand Distance Vector Routing (AODV), Dynamic Source Routing (DSR), Temporally Ordered Routing Algorithm (TORA), Associativity Based Routing (ABR) and Signal Stability Routing (SSR). These algorithms are suitable for wireless networks. So they are explained extensively below and we state the advantages of algorithms over others for our project. Table-Driven vs. On-Demand Routing: Figure 2 Routing information is needed to be propagated in table-driven routing protocols. This causes an overhead on routing calculations, power consumption and signaling traffic since all routes are calculated regardless if it is needed. Since both bandwidth and battery power are most needed sources, this overhead becomes a serious problem. According to the facts that are described above for Table-Driven Routing Protocols and On-Demand protocols, the latter protocols are more preferred in Wireless Mobile Devices, so our program will use 7 Bilkent University – Department of Computer Engineering an On-Demand protocol as routing algorithm. Each of the On-Demand protocols will be explained. Their advantages/disadvantages are stated below: 1) Ad Hoc On-Demand Distance Vector Routing: This protocol uses Distance Vector Routing based on Bellman-Ford routing mechanism. This algorithm sends much less broadcast messages when it is compared with DSDV algorithm; because broadcast messages are required only if a demand occurs. Also nodes, which are not in the selected path, do not need to maintain table about routing information. First of all the source node needs to know the route of the destination node, so it broadcasts route request (RREQ) message to its neighbors. Receiving neighbor nodes also sends the RREQ message to their neighbors until a node which have unexpired route to destination node is located. This process is shown in figure 3-a. Once the RREQ reaches destination and intermediate nodes that are unexpired, these nodes send back route reply (RREP) message to nodes which sent the RREQ message. This process is shown in 3-b. Nodes listen for retransmission to ensure that neighboring nodes are still accessible. If there is no response coming over from a neighbor node, listening node sends ‘Hello’ message to its neighbors and waits for acknowledgement from the neighbor nodes. Hello messages also help us to acquire network knowledge around listening node, because these messages list other nodes from which a mobile has heard. AODV does its advertisements with smaller packets, so it uses the network bandwidth in a good manner, but AODV needs more memory than possible other algorithms and it needs symmetric links between nodes, so it is not applicable for many situations. Figure 3 8 Bilkent University – Department of Computer Engineering 2) Signal Stability Routing (SSR): SSR algorithm chooses the route according to signal strength between nodes and nodes’ location stability. The main idea, in order to choose the route according to these decision variables, is to maintain the connectivity via usage of strong links between nodes so a high quality transfer can be obtained. SSR can be thought as combination of 2 sub protocols: Dynamic Routing Protocol (DRP), Static Routing Protocol (SRP). DRP maintains two tables, one for signal strength of links (SST) and other for routing information (RT). SRP routes the packets to necessary destination according to RT. If the destination is not in RT, a route search is initiated. For this route search only strong channels are used (if not otherwise stated). So if a route is found from these strong channels that would be a useful channel to transfer packets. Although the qualities of produced routes are good, there are some disadvantages of this protocol. Since intermediate nodes cannot reply to route requests sent toward a destination, this results in potentially long delays before a route can be discovered. Also the algorithm requires low level support from physical layer to determine signal strength, this algorithm is not easy to implement in higher layers. 3) Associativity-Based Routing (ABR): A new metric, degree of association stability, is used in Associativity- Based Routing algorithm. Every node produces beacon within certain time intervals and a node receiving this beacon increases its associativity tick of node that produces beacon. By using routes with high degree of association links we can assure a good quality of transfer via nodes with low mobility. Although the resulting route may not contains the smallest number of hops, route tend to be longer lived than any possible others. We can mention three phases of ABR: Route Discovery, Route Reconstruction, and Route Deletion. On route discovery, source node produces a broadcast packet and sends it to its neighbors. Receiving nodes (if it is not destination) append their associativity ticks with their neighbors and their IPs then pass the packet to its neighbors. This way, arriving packets to destination nodes will have associativity ticks so destination node can determine the best possible route out of received packets. Route reconstruction may be necessary in case of a route discovery or loss. In that case we don’t have to initiate the reconstruction from source node like SSR. We can initiate the reconstruction from intermediate nodes (using the previously described method). When deletion is required on route deletion, source node broadcast a packet (Route Delete packet) and every node receiving the packet adjust their routing tables and pass the packet to the next nodes. Since resulting route of route discovery phase is a long lived route, it is highly possible that reconstructions of routes won’t be necessary so we can obtain higher throughputs. Also ABR is free from loops, deadlocks and packet duplicates. These are important advantages of algorithm. Though we need to mention beaconing process may cause additional power consumption. Finally ABR can be said a good algorithm since it satisfies most of the requirements such as low memory usage, efficient reconstruction, being duplicate free etc. but algorithm may be harder to implement than any other good alternative. 9 Bilkent University – Department of Computer Engineering Figure 4 4) Temporally Ordered Routing Algorithm: Temporary Ordered Routing Algorithm (TORA) is for highly dynamic mobile networking environment. It provides multiple routes for any source/destination pair. The main advantage of TORA algorithm over other algorithms is the small number of control messages. This gain is obtained by maintaining routing information about only adjacent nodes and by sending the necessary packets to them. There are 3 operations for this protocol. These are route creation, route maintenance and route erasure. Nodes use height metric to establish a directed acyclic graph. The root of the graph is the destination node. Links are assigned a direction based on the relative height metric of neighboring nodes. These are shown in Figure 5. One of TORA’s most important advantages is its support to multiple routes. Since it decreases the need for reconstruction operations, it will decrease the traffic in network, but TORA needs to have synchronized clocks and it decreases its applicability. Considering the challenge to implement TORA and its advantages/disadvantages, TORA does not seem like the needed algorithm. 10 Bilkent University – Department of Computer Engineering Figure 5 5) Dynamic Source Routing: In the dynamic source routing protocols mobile nodes maintain route caches. The source node hold route tables of other nodes which have accesibility to source nodes. When new routes are adversited, route cache entries are updated. This protocol has two stages. These are route discovery and route maintenance. When a node wants to send a packet, it first searches its route cache, and if it finds the route and the route is not expired, it can simply use that route to send the packet. If there’s no route for source node, it broadcasts a route request packet for discovery. Nodes that receive the route request packet checks whether they know a route to te destintion node. If a node does not know a route to the destintion, it adds its address to the route record of the packet and after that, it forwards the packet to its outgoing links. If a mobile’s address is present in incoming packet, the current node does not forward the route request message to that node, so number of route request messages becomes more limited. When the route request reaches the destination node or it reaches the intermediate node which contains an unexpired route in its route cache, a route reply is generated. When the packet is received by the destination node or the intermediate node, the node contains number of hops taken by the packet. Figure 6-a illustrates the evolution of the route record as route progresses in the network. When the destination node sends the route reply packet, it places the route record that is contained in the route request. When an intermediate node sends the route reply packet, it appends its cached route to the route record that is contained in the route request. If the responding node has a route to the sending node in its route cache, sending node can send the route reply. Otherwise, if symmetric links are supported, route records in the nodes can be reversed. If symmetric links are not supported, the responding node sends discovery message and all the prodecure will be repeated. Transmission of route reply and the node record of each node is shown in figure 6-b. 11 Bilkent University – Department of Computer Engineering During route maintenance phase route error packets is used to truncate the hop with error. When a node encountersd a fatal transmission problem, route error are generated at that node and these packets are used to remove the hop from the tables of receiving nodes. DSR allows multiple routes to a destination in routing tables of internal nodes, so when a node is broken, it may not need a new reconstruction and it will save bandwidth. DSR does not use periodic routing advertisements which lead to saving bandwidth and power consumption. But DSR is no applicable on large networks since it has an assumption of diameter on the network. Despite DSR’s this disadvantage, it seems like the best algorithm. Since it satisfies the bandwidth and power consumption requirements and it is efficient on relatively small networks, this is our preferred algorithm. Figure 6 3.3. Hardware / Software Mapping ASUS MyPal A620 The MyPal A620 Series, the world's smallest Pocket PC with built-in CF slot to deliver superior multimedia support, offers unparalleled performance and expandability. The MyPal A620 runs the new Windows Mobile 2003 operating system, which offers plenty of changes over Pocket PC 2002, even if many are evolutionary enhancements rather than major developments. The new OS doesn't require more Flash ROM or RAM than its predecessor, and the MyPal A620 comes with 32MB of the former and 64MB of the latter (58MB of which is available to the user). This specification is no different to standard Pocket PC 2002 devices. [7],[8] 12 Bilkent University – Department of Computer Engineering Specifications: Processor 400 MHz Intel® XScale™ PXA255 Processor Operating System Microsoft® Windows Mobile™ 2003 Display 3.5"" Brilliant Transflective TFT LCD 65536 Full-color, 16-bit Display, 320X240 Resolution Memory 32 MB Flash and 64 MB SDRAM (58.7MB SDRAM user accessible for Western Languages; 56.7MB SDRAM user accessible for Eastern Languages) Expansion Slot One Slot - One CompactFlash Type II Card Slot (3.3/5V) Audio Integrated Microphone and Speaker Full Duplex Record and Playback One 3.5 mm Earphone Jack and MP3 Stereo Connection Infrared port: FIR/SIR Battery 1300 mAh Lithium Ion Removable Battery Size 125x 76.8x 13.3 mm Weight 141g D-Link DWL-G510 The D-Link AirPlus G DWL-G510 PCI Adapter is a Wireless PCI Adapter featuring the very latest in advanced wireless silicon chip technology to deliver a maximum wireless signal rate of up to 54Mbps* in the 2.4GHz frequency. The DWL-G510 also works with 802.11b standard wireless devices and when used with other D-Link AirPlus G products delivers throughput speeds capable of handling heavy data payloads. The D-Link AirPlus G DWL-G510 also includes a configuration utility to discover available wireless networks and create and save detailed connectivity profiles for those networks most often accessed. The DWL-G510 is a powerful 32-bit PCI adapter that installs quickly and easily into desktop PCs and when used with other D-Link AirPlus G products automatically connects to the network. Like all DLink wireless adapters, the DWL-G510 can be used in Ad-Hoc mode to connect directly with other 2.4GHz wireless computers for peer-to-peer file sharing or in Infrastructure mode to connect with a wireless access point or wireless router for access to the Internet in your office or home network. The DWL-G510 is an ideal solution enabling wireless networking capabilities on desktops PCs for the home or office.[9] 13 Bilkent University – Department of Computer Engineering Specifications: Standards Interface Wireless Signal Rates* With Automatic Fallback Security IEEE 802.11b IEEE 802.11g 32-bit PCI 54 Mbps 48 Mbps 36 Mbps 24 Mbps 18 Mbps 12 Mbps 11 Mbps 9 Mbps 6 Mbps 5.5 Mbps 2 Mbps 1 Mbps 64-, 128-WEP 802.1x WPA** -- Wi-Fi Protected Access (64-, 128-WEP with TKIP, MIC, IV Expansion, Shared Key Authentication) Media Access Control CSMA/CA with ACK Wireless Frequency Range 2.4 GHz to 2.462 GHz Wireless Signal Range* Indoors: Up to 328 feet (100 meters) Outdoors: Up to 1,312 feet (400 meters) Power Consumption PowerSave mode = 28 mA Standby mode = 4.66 mA Transmit mode = 248 mA Orthogonal Frequency Division Multiplexing (OFDM) Complementary Code Keying (CCK) 54 Mbps OFDM, 10% PER, -68 dBm) Modulation Technology Receiver Sensitivity* 14 Bilkent University – Department of Computer Engineering 48 Mbps OFDM, 10% PER, -68 dBm) 36 Mbps OFDM, 10% PER, -75 dBm) 24 Mbps OFDM, 10% PER, -79 dBm) 18 Mbps OFDM, 10% PER, -82 dBm) 12 Mbps OFDM, 10% PER, -84 dBm) 11 Mbps CCK, 8% PER, -82 dBm) 9 Mbps OFDM, 10% PER, -87 dBm) 6 Mbps OFDM, 10% PER, -88 dBm) 5.5 Mbps CCK, 8% PER, -85 dBm) 2 Mbps QPSK, 8% PER, -86 dBm) 1 Mbps BPSK, 8% PER, -89 dBm) Transmitter Output Power 15 dBm ± 2dB Internal Antenna Type Operating Temperature 32°F to 149°F ( 0°C to 55°C) Humidity 95% maximum (non-condensing) Dimensions Dipole with detachable reverse SMA connector L = 4.64 inches (114.3mm) W = 2.13 inches (54mm) H = 0.34 inches (8.7mm) Weight 0.12 lb (55g) Certifications FCC part 15b Warranty 3 Year D-Link Air DCF-660W The DCF-660W D-LinkAir CompactFlash card is a wireless LAN card that brings true mobility to your pocket and handheld PCs. With interoperability, reliable speed and affordable price, this wireless LAN CompactFlash card offers all the benefits of a traditional wired Ethernet network, plus the advantage of being wireless. This card lets you stay connected while you're moving around with your PDA to work, send/view email and access server data, all without the need to hook up to any network wires. Complying with IEEE 802.11b industry standard, the DCF-660W operates at the 2.4GHz frequency range and interoperates with all IEEE 802.11b equipment. Ethernet-based network access from your 15 Bilkent University – Department of Computer Engineering PDA is also possible through IEEE 802.11b Access Points. Designed as a Type I CompactFlash, the DCF-660W plugs into any pocket or handheld PC equipped with a Type I slim expansion slot, or a Type II expansion slot. The DCF-660W has been tested to operate with a long list of PDAs, including Compaq IPAQ series, Casio pocket PCs, HP Jornada, Sharp Telios and Intel Pentium/X86 Pocket PCs. Security is an issue when data is transmitted without the wires. In the air, transmitted data can be easily intercepted if not well protected by a security scheme. The DCF-660W provides the necessary security, using the industry-standard 64/128-bit WEP (Wired Equivalent Privacy) encryption protocol. Data privacy mechanism is based on a shared key algorithm, as described in the wireless LAN standards.[10] .NET PLATFORM Microsoft Visual Studio .NET 2003 The development platform for the project is Microsoft Visual Studio .NET 2003. Visual Studio .NET 2003 provides native support for the .NET Compact Framework, bringing devices such as the Pocket PC, as well as other devices powered by the Microsoft Windows CE .NET operating system, to the forefront of .NET development. .NET Compact Framework The compact framework constitutes the methodology of .NET platform. The code compiled in .NET is first compiled into processor independent Microsoft Intermediate Language (MSIL). At the time of execution Common Language Runtime (CLR) is employed to perform Just-In-Time compilation. MSIL code is converted into native code in this phase. Consequently .NET Compact Framework offers machine independent code development opportunity. Visual C# Language Microsoft Visual C# is the language that will be used for the implementation of the proposed system. C# supports object-oriented programming as well as low level operations. The low level abilities and network features of the C# will be widely used in the project. [4] Windows Mobile 2003 for Pocket PC This is the software used for the Asus A620. Most important features of Windows Mobile 2003 are: Enhanced Connection Manager 802.1x support Support for Multiple VPNs IPv6 support Windows CE 4.2 operating systems 16 Bilkent University – Department of Computer Engineering .NET Compact Framework Enhanced developer support 128-bit encryption strength for Crypto API . [3] SHOUTCast SHOUTCast is one of the possible streaming server programs we will be using for the project. It is actually a plug-in program for widely-known media player Winamp. Once installed, SHOUTCast server runs on port 8000, and uses its own protocol to stream media. In order to stream media from a SHOUTCast server, a “.pls” file is downloaded from the server via HTTP. On the client side, a media player that can run a “.pls” file should be used.[5] Windows Media Server Windows Media Server is another broadcast server application that would be used for the project. WMS runs on an Windows Server 2003 system, and client can be any network enabled device that can run Windows Media Player. Client connects server and downloads an “.asx” file for streaming. Windows Media Server uses MMS protocol for streaming media. [6] 3.4. Access and Security Control Security is an important issue for ad hoc networks, especially for those security-sensitive applications. To secure an ad hoc network, we consider the following attributes: availability, confidentiality, integrity, authentication, and non-repudiation. Availability ensures the survivability of network services despite denial of service attacks. A denial of service attack could be launched at any layer of an ad hoc network. On the physical and media access control layers, an adversary could employ jamming to interfere with communication on physical channels. On the network layer, an adversary could disrupt the routing protocol and disconnect the network. On the higher layers, an adversary could bring down high-level services. One such target is the key management service, an essential service for any security framework. Confidentiality ensures that certain information is never disclosed to unauthorized entities. Network transmission of sensitive information, such as strategic or tactical military information, requires confidentiality. Leakage of such information to enemies could have devastating consequences. Routing information must also remain confidential in certain cases, because the information might be valuable for enemies to identify and to locate their targets in a battlefield. Integrity guarantees that a message being transferred is never corrupted. A message could be corrupted because of benign failures, such as radio propagation impairment, or because of malicious attacks on the network. Authentication enables a node to ensure the identity of the peer node it is communicating with. Without authentication, an adversary could masquerade a node, thus gaining unauthorized access to resource 17 Bilkent University – Department of Computer Engineering and sensitive information and interfering with the operation of other nodes. Finally, non-repudiation ensures that the origin of a message cannot deny having sent the message. No repudiation is useful for detection and isolation of compromised nodes. When a node A receives an erroneous message from a node B, non-repudiation allows A to accuse B using this message and to convince other nodes that B is compromised. Our security issues are going to be handled in application layer. So, availability is the major security problem in our project that also involves Secure Routing. The other issues are mostly handled in other layers and the third party applications. [11] 4. SUBSYSTEM SERVICES 4.1. Network Services Networking based on the socket services of the operating system, simply TCP and UDP sockets. A new node connected to the sub network fires the server to forward the connection data to the client machine. New node is announced to the network as a new peer, if it is a content supplier and works as a server. 4.2. Protocol Services Protocol services are based on network services. Protocol services provide a common gateway to the server and the client to talk to each other in a proper way and exchange data. 18 Bilkent University – Department of Computer Engineering 5. REFERENCES Articles: [1] A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks. April, 1999. IEEE Personal Communications. Elizabeth M. Royer, University of California, Santa Barbara. Chai-Keong Toh, Georgia Institute of Technology Web Sites: [2] http://en.wikipedia.org/wiki/Main_Page [3] http://www.brighthand.com/article/Windows_Mobile_2003_Overview [4] http://www.msdn.com [5]http://www.shoutcast.com/support/docs/index.phtml?language=english&layout=print&prevlayout=n ormal [6] http://www.microsoft.com/windows/windowsmedia/howto/articles/webserver.aspx [7] http://www.asus.com/products4.aspx?l1=8&l2=0&l3=0&model=338&modelmenu=1 [8] http://reviews.zdnet.co.uk/hardware/handhelds/0,39023875,10004794,00.htm [9] http://www.dlink.com/products/?pid=308 [10] http://www.expansys.com/product.asp?code=DCF-660W&partner=register [11] http://www.cs.cornell.edu/home/ldzhou/adhoc.pdf 19 Bilkent University – Department of Computer Engineering 6. APPENDIX 6.1. How to setup Winamp ShoutCast Streaming Server? Winamp becomes a powerful audio streaming server by setting up the followings: i) Shoutcast DSP plug-in: The plug-in enables the Winamp to produce audio stream from the currently playing song. It produces the audio stream, with the selected attributes like bit rate, mono/stereo, and so on. In order to enable DSP, preferences of Winamp should be open, the DSP plug-in must be double-clicked and the following changes must be done: In order to enable plug-in, Winamp should be restarted. ii) Shoutcast DNAS server: The server handles clients and forwards the output of the DSP plug-in to clients. GUI 20 Bilkent University – Department of Computer Engineering version of the DNAS server is a bit buggy, so console based server must be used in order to produce better results. And the result can be accessed with the address http://localhost:8000/, but pressing the listen button residing on the top bar of the html page will activate Winamp to play the broadcast. So the server must be reached from another computer to be tested. 21 Bilkent University – Department of Computer Engineering 22