17 Pages

dataexch

Course: CSE 571, Fall 2009
School: Washington University...
Rating:
 
 
 
 
 

Word Count: 4353

Document Preview

Data Secure Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Secure Data Exchange System : Minimizing Security Attack Risks while Preserving Bandwidth Abdel-karim Al Tamimi aa7@cec.wustl.edu Khalid AlHokail khalid@al-hokail.com Abstract In the world where Internet applications dominate data communications, a system to exchange information...

Register Now

Unformatted Document Excerpt

Coursehero >> Missouri >> Washington University in St. Louis >> CSE 571

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Data Secure Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Secure Data Exchange System : Minimizing Security Attack Risks while Preserving Bandwidth Abdel-karim Al Tamimi aa7@cec.wustl.edu Khalid AlHokail khalid@al-hokail.com Abstract In the world where Internet applications dominate data communications, a system to exchange information securely between Internet users is vital. Many solutions have been put forward to facilitate such exchange, these solutions have their own advantages and disadvantages. In this paper we introduce a thin secure layer that resides on top of the IP layer and supports encryption and compression of IP packets. Our solution provides the necessary security level to overcome most of the security risks without sacrificing performance and network bandwidth. By giving the option to choose between different levels of encryption and compression levels, the users can choose the level most suitable to their needs. In order to show the usage of our security layer, we implemented a simple chatting system that's capable of exchanging encrypted text messages and allows the clients to send encrypted and compressed files. The application also provides two ways to sniff network traffic showing the risks of exchanging information without imposing a proper security level. Keywords: Security Protocol, IPSec, Encryption, Rijndael, Compression, Bandwidth Consumption, Session Management, Cryptography, IP Layer, TCP/IP Suite. See Also: IP Security : A Brief Survey Security in Wireless Data Networks : A Survey Paper Table of Contents: 1. Introduction 2. Related Solutions 2.1 IPSec 2.2 SSL 3. System Design 3.1 System Objectives 3.2 Design Choices 4. Software Design 4.1 Raw Socket 4.2 CryptZip Library 5. Application Walkthrough 6. Conclusion 7. References 8. Appendix A: Abbreviations 1 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Back to Table of Contents 1. Introduction The Internet has replaced many traditional communication systems because of its advantages in both its cost and usability. Using the Internet to share information on daily basis puts users in risk to be endangered by many Internet security attacks. Most of the data and money exchange is done these days using one of the many services provided to the users online. Such convenience comes with a high price where these communications are not always efficiently secure. With the vast introduction of the wireless world, the exchanged information now is more prone to security risk than ever. One of the several security attacks is data sniffing, where the transmitted data is exposed to a third party and all the exchanged data is compromised. There are even commercial products that help network administrators or others to view, store and analyze exchanged data packets[EffeTech06]. The other common security attack is DoS (Denial of Service) attack, where the attacker overwhelms the victim's host with many resource requests. A more severe version of this attack is DDoS (Distributed DoS), where the attacker uses more than one host to attack the victim's host. Many solutions provide the mechanism of encrypting the ongoing data exchange packets between two peers. Even when the packets are encrypted, the users are still prone to another security attack: Replay attack. Where the attacker uses pre-validated packets and sends them to one of the users to confuse and disrupt the communication. In this project we introduce a simple to implement and easy to use infrastructure that can provide the necessary security level to exchange information between two nodes without the fear of being exposed to the sniffing attack. We also provide the necessary application level support to prevent replay attack. Because of the system's intended simplicity, it does not cover all the security risks out there. It does however, provide a base to overcome these hazards in the future. This project report is divided into 6 sections: sections 1 and 2 cover the relevant and current solutions such as IPSec (IP Security) and SSL (Secure Socket Layer). Section 3 describes the system infrastructure, objectives, and design choices. Section 4 provides an overview of the software structure of the system. Section 5, provides a walk-through for the basic chat system introduced and the current status of the project. Finally, section 6 provides a summary and conclusion of the project. Back to Table of Contents 2. Related Solutions This section will illustrate two of the common solutions to facilitate exchanging data between users: IPSec and SSL. While IPSec operates on top of the IP layer, SSL operates on top of the TCP layer. 2.1 IPSec IPSec is short for Internet Protocol Security and was developed by the IETF (Internet Engineering Task Force) to enable secure exchange of packets using the IP layer (layer 3). It is widely used in secure VPN (Virtual Private Network) communication. IPSec can work on two different encryption modes[WikiIPSec07] 1. Transport Mode 2 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ This mode only encrypts the payload (data) portion of the packet leaving the header unencrypted. This mode is mostly used in host-host communications. 2. Tunnel Mode This mode the entire packet is encrypted and/or authenticated including the header. Which implies that another header has to be added to allow routing to work. This mode is used mainly in router-router communications. IPSec provides two methods of securing the IP packet using one of the two protocols: 1. Authentication Header (AH) This protocol provides integrity and data origin authentication. It can also protect against replay attacks ,repeating or delaying a previously valid packet, by using the slid ing window technique. AH protects the IP header except for the mutable fields that have to change during transmission from source to destination such as the TTL field. 2. Encapsulating Security Payload (ESP) This protocol ensures confidentiality, data origin authentication, connectionless integrity and anti-replay service. Unlike AH, ESP doesn't protect the IP header in any way but this can be protected by using the Tunnel Mode to protect the inner IP packet but the packet header will remain unprotected. In order for IPSec to operate properly, both the sender and receiver will have to exchange public keys. Internet Key Exchange (IKE) protocols are used to help exchange public keys between the two nodes. 2.2 SSL SSL is short for Secure Sockets Layer which is a cryptographic protocol that provides secure communication over the internet using popular applications such as web browsers, emails and instant messaging. It was developed by Netscape Communications Corporation in 1994 and in 1999, IETF established RFC 2246 that documented Transport Layer Security (TLS) that is based on SSL. Unlike IPSec (which is implemented at the kernel level), SSL is implemented at the user level and uses TCP for reliable communication so that SSL will not have to worry about delivering the packets. It is placed above the TCP/IP layer and below the high-level application protocols. SSL provides authentication for both the client and the server. There are two methods of authentication; the first is that only the server is authenticated to ensure its identity leaving the client unauthenticated. The other method is called mutual authentication where (in addition to authenticating the server) the client is also authenticated using either his certificate or a username and a password[WikiTLS07]. SSL supports the use of various types of encryption and hashing alg orithms. This is decided when the client wants to communicate with the server by sending a Client Hello message to the server with all algorithms that the client supports (along with other information such as the session ID, a random number...etc) and the server will decide which algorithms to use by selecting the strongest algorithms that both can support and then notifies the client of the choices. Many protocols are based on SSL but the most popular protocol is HTTPS. Many websites are based on HTTPS especially the ones that accepts confidential information such as credit cards or medical records. Another popular SSL-based protocol is FTPS which is a secure FTP protocol. In this section we described the main features of both SSL and IPSec protocols. In the next section we will discuss the system infrastructure and design choices. Back to Table of Contents 3 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ 3. System Design In this section we discuss the system main objectives and the design choices that we had to make. 3.1 System Objectives The system is to provide means to transfer data packets from one node to another without exposing them to security hazards, such as packet sniffing and replay attacks. The system also needs to be extensible in the future to support other functionalities that might be added. To provide the maximum level of customizations, we allow the users to select the levels of encryption and compression best suited to their needs. The next section will illustrate the different design choices we had to choose from and the reason behind each choice. 3.2 Design choices In order to allow the system to be compatible with the current Internet protocols we had two options: either to implement the protocol on top of TCP (transport) layer, which is similar to SSL, or on top of IP layer, similar to IPSec. The latter option was chosen to allow us to support layer 4 protocols. This option has the drawback that it is harder to implement and the user needs to change the TCP/IP stack in order to use the system, the same problem IPSec faces. Figure 1 shows the position of the added security layer. Figure 1: Secure Layer Position In order to support the chosen layer layout, the IP packet header has to be changed before transmitting. Figure 2 below shows the layout of IP Packet. Figure 2: IP Packet Header [IPLayerRFC] One of the options is to add the needed information in the options section, but knowing that most of the firewalls drop these packets that hold non-zero options field since it has a malicious power, we had to go for the other alternatives. 4 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ The protocol section in the IP header ,Service Access Point (SAP), which indicates the type of transport packet being carried (e.g. 1 = ICMP; 2= IGMP; 6 = TCP; 17= UDP; 255 = Reserved) is used to represent the protocol layer that we want to implement. We have chosen 255 as the number to be processed (usually used for experimental uses). To start the encrypted session between the two points in the first time they communicate, we use public key encryption handshaking to exchange the secret key. We use RSA-1024 class implemented in .NET framework. We had to make a decision about whether we want to have a 3-way or 4-way handshaking mechanism . The selected 4-way handshaking mechanism has a drawback that it needs more overhead than the other method. But on the other hand, it supports better encryption/compression proposal when the sessions starts and on top of that it can be extended in the future to support certificate authentication like in PKINIT [PKINIT]. Figure 3 shows the basic 4-way handshaking mechanism. Figure 3: 4-way handshaking mechanism For symmetric encryption, we used the AES-Rijndeal 256-CBC mode to provide strong encryption capabilities. Other encryption algorithms and modes can also be chosen in the first communication step. A simple and efficient two-byte header design is used. Such design is small, efficient and allows further enhancements . Figure 4 shows the two byte header design. Figure 4: Secure Layer Header The first byte contains secure layer message type field, which is 5-bits long; it holds the type of secure layer packet that is to be transmitted. Message types are public key request, public key acknowledgment (ACK), secret key, secret key ACK, end connection, end connection ACK packet, and the file transfer messages. The rest of the first byte is used for indication flags, the first one which is denoted as "Include Trans. Layer" specifies whether this packet has encrypted transport layer header or it is outside the encryption boundaries (this is another option to decrease the decryption overhead or to manage routers with some security measures). The second bit denoted as "Compress Packet" indicates if this packet is compressed or not. Compressing packet data is done before encrypting it to allow the maximum compression performance. The bit also works as an indicator to allow the post-decryption handler to decompress the received data. The last bit is reserved for future utilization. The second byte, which indicates the upper layer protocol, is an identical field to the one in the original IP header. For the time being, the upper layer protocol field is filled with number 255 to indicate that our protocol is used. In this section we have shown the different design choices that we have chosen and the reasons behind our decisions. In the next section we will show the software architecture of the system and the technologies used to 5 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ implement it. Back to Table of Contents 4. Software Design The implementation was done entirely using C#.NET using framework 1.1. C# is an object oriented language and it is supported in all windows operating systems after Windows 98. C# is also supported under Linux using the mono project [Mono07]. In order to implement the system we design had to use Raw Sockets, otherwise we had to change the current TCP/IP stack. The following section explains the concept behind raw socket and its usage. 4.1 Raw Socket Raw sockets bypass the transport layer, i.e., provides a NULL transport service. Raw sockets allow reading and writing of IP datagrams in which the protocol field indicates that it is not to be processed by the kernel, e.g., routing protocols use raw sockets to exchange routing information which is not to be processed by the kernel. Raw sockets allow a user to write his\her own IP packet header. The following are the features of Raw Sockets: Only a user with administrative privileges (i.e. superuser) can create a raw socket on a UNIX system, Windows XP or Windows 2000. If the HeaderIncluded option is not set, then the kernel builds the IP header with the protocol in the header equal to the protocol in socket(), and the kernel starts writing the data it receives from the application just after the header. If the HeaderIncluded option is set, then the kernel writes the data it receives from the application starting at the first byte of the IP packet header. The process builds the entire IP header, except for: The IP identification field, if the application sets it to 0, the kernel always calculates and stores the IP header checksum. This checksum method is part of the implementation of the project. The kernel fragments raw packets that exceed the MTU. The kernel passes a received IP datagram to a raw socket if the following conditions are satisfied: 1. The packet is neither a TCP nor a UDP packet. 2. Most ICMP packets are passed to a raw socket (other than a request echo, a timestamp request and an address mask request) 3. All IGMP packets are passed to a raw socket. 4. All IP datagrams with an undefined protocol field are passed to a raw socket 5. A fragmented datagram must be reassembled first before being passed to a raw socket. To determine which raw socket the datagram is passed to, the following conditions must be satisfied: 1. A raw socket opened with a nonzero protocol field receives all datagrams with the same protocol field 2. A raw socket bound to a local IP number receives all datagrams with IP addresses matching the local IP 6 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ number 3. A raw socket connected to a foreign IP number receives datagrams originating from that remote host. If more than one raw socket matches the above criteria, the datagram is delivered to all matching sockets. A raw socket created with a protocol value of zero, and that is neither bound to a local IP number, nor connected to a foreign IP number receives all raw datagrams passed by the kernel to the raw sockets [WikiRawSocket]. These characteristics that RAW Sockets hold have helped us to develop the system in the way we intended. We have created all the necessary objects to support using raw socket inside the system. 4.2 CryptZip Library In order to support both encryption and compression functionality we created library names CryptZip that provides all the necessary functionalities to implement the protocol. CryptZip acquires the functionality of SharpZipLib to support Zip compression [SharpZipLib]. Figure 5 shows the main objects implemented inside CryptZip. Figure 5: CryptZip Library This library supports creating and managing connections between the two communicated nodes. Also it provides the required objects to handle different user profiles. CryptZip includes all the needed functionalities to support a stand alone sniffing application through Sniffing library. In this section we described the main software design aspects in the project design. In the next section we provide a simple walkthrough for the chat application that implements our proposed protocol. Back to Table of Contents 7 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ 5. Application Walkthrough This section will provide a quick walkthrough for the chat application with brief description about each step. 1-NIC lookup Figure 6: NIC Lookup The application will detect automatically all the enabled NIC adapters and the associated IP addresses to allow the user to bind the application to a specific NIC. This function is shown in Figure 6. 2- Login Window Figure 7: Login Window The user enters his\her login name as seen in Figure 7, which is used in the chat session to identify the user. The password section not used for authentication, rather it is used as the private session key or the salt to the auto-generated session key. 3- Main Window 8 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Figure 8: Main Window Figure 8 shows the main dialog of the application, it shows the following tabs: 1. Sender Page: Chat session dialog. 2. Encrypted Dialog: The encrypted session dialog. 3. Sniffer: Show the result of the sniffer dialog. The main window enables the user to save the chat dialog can be saved for further analysis. 4- Options Window Figure 9: Options Window Option Dialog window in Figure 9 contains the following options: 1. User Name: which can be changed without the need to restart the entire application. 2. User Secret Key: which also can be changed withoug the need to restart the entire application. 3. Seconds to wait For: which is the maximum amount of time to wait between each message, if the expected 9 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ message did not come during this time the connection will be dropped. This feature helps against DoS attacks. 4. Do not generate Secret Key: Secret key is generated and changed every 5 minutes (this option can be changed with different user profiles). User can use this option to boost performance at the risk of being a target to replay attack. The default value is false. 5- Managing Connections Figure 10: Managing Connections To establish a new connection, go to connections menu (as seen in Figure 10) and choose Establish connection command. This will show the following window in Figure 11: Figure 11: Establish New Connection In this window you can choose the IP Address you want to connect to. Once the connection is established you can view the connected terminals by going to Connection menu then click on Show Connected Terminals as seen in Figure 12. 10 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Figure 12: List of Current Terminals 6- Private Message and File Sharing Figure 13: Private Message and File Sharing When you are connected to more than one terminal at a time, you may want to send a private message to a certain user; in addition to that you may want to share a file with that user. Private menu shown in Figure 13 allows you to do both functionalities. Figure 14 below shows how you can send a private message: 11 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Figure 14: Sending a Private Message Sharing a file is a very easy process. The default behavior when sending a file is to compress and encrypt the file before sending it. Figure 15 below shows the difference between the size of the transmitted file before and after applying encryption and compression. (1426246 bytes to 118000 after compression and encryption, almost 8.5% of the old size is transmitted). This improvement of bandwidth consumption comes on the expenses of increased processing power needed to send the packet. But the new machines are capable of doing such processing without showing any slowing in the transmission time. Figure 15: Sending a File Window Figure 16 shows how the file is received on the other end after decryption and decompression. 12 of 17 12/19/2007 5:11 PM Secure Data Exchange System : Minimizing Security Attacks Risks Whi... http://www.cse.wustl.edu/~jain/cse571-07/ftp/dataexch/ Figure 16: Viewing the Received File 7- Sniffer Sniffer implementation is divided into two sections, the simple sniffer an...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Washington University in St. Louis - CSE - 571
Quantum Key Distribution - QKDhttp:/www.cse.wustl.edu/~jain/cse571-07/ftp/quantum/A Survey of the Prominent Quantum Key Distribution ProtocolsMart Haitjema, mart.haitjema@wustl.eduAbstractThis paper provides an overview of quantum key distrib
Washington University in St. Louis - CSE - 571
Secure Socket Layer (SSL) and Transport Layer Security (TLS)Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http:/www.cse.wustl.edu/~jain/cse571-07/Wash
Washington University in St. Louis - CSE - 571
Part IIRaj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http:/www.cse.wustl.edu/~jain/cse571-07/Washington University in St. Louis CSE571S 2007 Raj Jain
Washington University in St. Louis - CSE - 571
Network Security ConceptsRaj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu These slides are available on-line at: http:/www.cse.wustl.edu/~jain/cse571-07/Washington University in St. Louis CSE571S 2007 Raj Jain
Washington University in St. Louis - CSE - 571
Internet Key Exchange (IKE)Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http:/www.cse.wustl.edu/~jain/cse571-07/Washington University in St. Louis CS
Washington University in St. Louis - CSE - 571
Kerberos V4Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http:/www.cse.wustl.edu/~jain/cse571-07/Washington University in St. Louis CSE571S 2007 Raj J
Washington University in St. Louis - CSE - 571
Modes of OperationRaj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at : http:/www.cse.wustl.edu/~jain/cse567-06/Washington University in St. Louis CSE571S 20
Washington University in St. Louis - CSE - 571
SOFTWARE PROJECT MANAGEMENT PLANNET V IGI LANTNETWORK MONITORV1.1 Printed On: 3rd Dec 2007 C:\Washington University \ P rojectDocument.docDepartment Of Computer Science & EngineeringWashington University in Saint LouisSubmitted By Subharth
Washington University in St. Louis - CIS - 788
Optical DWDM NetworksRaj Jain The Ohio State University Columbus, OH 43210 Jain@CIS.Ohio-State.Edu These slides are available at http:/www.cis.ohio-state.edu/~jain/cis788-99/Ohio State UniversityRaj Jain 1OverviewSparse and Dense WDM Recent WD
Washington University in St. Louis - CSE - 473
CSE 473S Lab Assignment 1Due date: TBA1. Goals To learn the basic infrastructure of layered architecture and service primitives in computer networks. To design a simplified datalink layer. To get familiar with the simulator environment used for
Washington University in St. Louis - CSE - 574
Wireless Personal Area Networks: Part IIRaj Jain Professor of CSE Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available on-line at: http:/www.cse.wustl.edu/~jain/cse574-08/
Washington University in St. Louis - CSE - 574
Wireless Personal Area Networks: Part IIRaj Jain Professor of CSE Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available on-line at: http:/www.cse.wustl.edu/~jain/cse574-08/
Washington University in St. Louis - CSE - 571
AAAPart IIRaj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http:/www.cse.wustl.edu/~jain/cse571-07/Washington University in St. Louis CSE571S 2007 Raj J
Washington University in St. Louis - CIS - 788
IP Security: A Brief SurveyIP Security: A Brief SurveyZhijun Ni, zhijunni@math.ohio-state.eduIP Security mechanisms, such as Authentication Header (AH) and Encapsulating Security Payload (ESP) Header, are important for Internet security to ensure
Washington University in St. Louis - CIS - 777
Fundamentals of TelecommunicationsRaj Jain Professor of CIS The Ohio State University Columbus, OH 43210 Jain@ACM.Org http:/www.cis.ohio-state.edu/~jain/The Ohio State UniversityRaj Jain 1Overviewq q q qTime Division Multiplexing T1, T3, DS
Washington University in St. Louis - CIS - 788
From: std-mod@cssmp.corp.mot.com (Moderator - comp.std.wireless)Newsgroups: comp.std.wirelessFollowup-To: comp.std.wirelessSubject: FAQ for "comp.std.wireless"Date: 31 Jul 1995 17:55:07 GMTOrganization: unknownMessage-ID: <3vj5dr$785@ftpbox.mot
Washington University in St. Louis - CIS - 788
FIBRE CHANNELFIBRE CHANNELBy Robert C Burton, burton@cis.ohio-state.eduAbstractFibre Channel is the general name of an integrated set of standards being developed by the American National Standards Institute (ANSI). It is designed to significan
Washington University in St. Louis - CIS - 788
A Survey Paper on Mobile IPBy Yi-an ChenABSTRACTMobile Internet Protocol (IP) is a new recommended Internet protocol designed to support the mobility of a user (host). Host mobility is becoming important because of the recent blossoming of laptop
Washington University in St. Louis - CIS - 788
The HIPPI ProtocolJim Bell ( bell@cse.ohio-state.edu)AbstractThe High-Performance Peripheral Interface (HIPPI) protocol was designed to facilitate high-speed communications between very high-performance computers (such as supercomputers), and the
Washington University in St. Louis - CIS - 788
High Performance Transports: HTPNET, TCP/IP, XTP, TP+ and RTPHigh Performance Transports: HTPNET, TCP/IP, XTP, TP+ and RTPBy Zahid Hossain hossain@cis.ohio-state.eduAbstractThe high transmission speed of optical networks has resulted in shiftin
Washington University in St. Louis - CIS - 788
Congestion Control Schemes for TCP/IP NetworksCongestion Control Schemes for TCP/IP NetworksBy Darius BuntinasAbstractThis paper describes six methods for controlling congestion for TCP connections. The first four, Slow Start algorithm [5], Tri
Washington University in St. Louis - CIS - 788
Survey on Distributed Computing Networks - Networks of WorkstationsSurvey on Distributed Computing Networks - Networks of WorkstationsBy Bhavana Nagendra Abstract: Distributed system is a programming infrastructure which allows the use of a collec
Washington University in St. Louis - CIS - 788
Gigabit Networking SurveyGigabit Networking SurveyBobby VandaloreThis is a survey paper on gigabit networking.Table of Contents1. Gigabit Networking - Introduction 2. Gigabit Technologies and Concepts 3. Fiber Optics 1. Basics 2. SONET and the
Washington University in St. Louis - CIS - 788
Multimedia Networking ProductsMultimedia Networking ProductsBy Zeyun Cui(zcui@cis.ohio-state.edu)AbstractMultimedia is the combined use of several media, such as movies, slides, music, and lighting, especially for the purpose of education or en
Washington University in St. Louis - CIS - 788
Mobile Computing & Disconnected Operation: A Survey of Recent AdvancesMobile Computing & Disconnected Operation: A Survey of Recent AdvancesBy Vietanh NguyenABSTRACTMobile computing is a new style of computer access emerging at the intersection
Washington University in St. Louis - CIS - 788
Wireless ATMBy Atif S. Wasi < wasi@cse.ohio-state.edu>AbstractWireless and ATM ( Asynchronous Transfer Mode) are in it's infancy. No standards have been defined by either the ATM Forum or ITU-T, yet. Research have been going on to develop a proto
Washington University in St. Louis - CIS - 788
Frame Relay NetworksFrame Relay Networks - a surveyViswanath Subramanian vsubrama@cis.ohio-state.edu It is a broad survey of Frame Relay Networks - both from a designer's and user's perspective. It includes a bibliography and a set of WWW sites wi
Washington University in St. Louis - COE - 455
CoE/EE 455 Digital Systems Laboratory Fall 2004 Laboratory #3 - Character GeneratorSpecification You are to design, build and test a system that will sense key closures on a keypad and display the following: the character on the key, for characters
Washington University in St. Louis - COE - 455
Object In this lab, you will be introduced to 68K. You may have programmed the 68K previously in your course work (e.g., CS306) or elsewhere, in which case much of this lab will be review. If the 68K is new to you, youll soon find that it is quite po
Washington University in St. Louis - COE - 455
CoE/EE 455 Digital Systems Laboratory Spring 2004 Laboratory #2 Digital Voltmeter Introduction: Digital multimeters are familiar instruments to modern day engineers. In particular, in the "volts" mode they measure potential differences and then displ
Washington University in St. Louis - COE - 455
CoE455 Finite State Machine (FSM) Tutorial Updated 10/10/2003 This tutorial teaches how to create a finite state machine in Mentor Graphics HDL Designer Pro. We will replace digital logic from the `square_with_bus_rips' tutorial with the equivalent f
Washington University in St. Louis - COE - 455
CoE/EE 455 library 2/4/2003FPGA_board_sim_top - Contains the top level signals that come into the FPGA from the Xililnx board. Also contains a DAC Emulator. Your design should be placed in this component for simulation. adder_n - Adds 2 n-bit numbe
Washington University in St. Louis - COE - 455
LM139, LM139A, LM239, LM239A, LM339 LM339A, LM339Y, LM2901, LM2901Q QUAD DIFFERENTIAL COMPARATORSSLCS006C OCTOBER 1979 REVISED NOVEMBER 1996D D D D D D D D D DSingle Supply or Dual Supplies Wide Range of Supply Voltage 2 V to 36 V Low Supply-C
Washington University in St. Louis - COE - 455
19-1083; Rev 1; 8/96+5V, 1Msps, 4 & 8-Channel, 8-Bit ADCs with 1A Power-Down_General DescriptionThe MAX114/MAX118 are microprocessor-compatible, 8-bit, 4-channel and 8-channel analog-to-digital converters (ADCs). They operate from a single +5V su
Washington University in St. Louis - COE - 455
RXC4000E and XC4000X Series Field Programmable Gate ArraysXC4000E Electrical SpecificationsDefinition of TermsIn the following tables, some specifications may be designated as Advance or Preliminary. These terms are defined as follows: Advance:
Washington University in St. Louis - COE - 455
Washington University in St. Louis - COE - 455
CoE/EE 455 Digital Systems Design Laboratory Spring 2004 Lab #1 Display of a Geometric FigureFor the first project of the semester, you will write 68000 assembly code to create the geometric figure shown below. Note that each line length in the figu
Washington University in St. Louis - COE - 455
CoE/EE 455 Mentor Graphics Synthesis Tutorial Updated: 9/30/2003 These steps should be taken after completing the Simulation Tutorial. Before you begin make sure the following environment variables are set: (To set the environment variables Right-cli
Washington University in St. Louis - COE - 455
CoE/EE 455 Mentor Graphics Simulation Tutorial Updated: 2/10/2004If it hasn't already be done, you need to first set up the design environment. 1. Create the folder H:\HDS\ 2. Extract S:\455\coe455.zip to H:\HDS 3. Set the Environment Variables: a.
Washington University in St. Louis - COE - 455
Washington University in St. Louis - COE - 455
Washington University in St. Louis - CSE - 532
E81 CSE 532S: Advanced Multi-Paradigm Software DevelopmentEvent Handling Patterns Asynchronous Completion TokenChristopher Gill, Derek Chen-Becker, Frank HunlethDepartment of Computer Science and Engineering Washington University, St. Louis cdgil
Washington University in St. Louis - CSE - 432
Seven Habits of Effective Pattern Writers Facade PatternPH pp. 145-152 GoF pp. 185-193John KlacsmannOther Famous Gang of FoursChinese Communist Politicians (1976)British Post-Punk Band (1977-1984)Seven Habits of Effective Pattern Writers1.
Washington University in St. Louis - CSE - 436
7. Complex Models (and the Origins of UML)Overview 7.1 Issues 7.2 Object Modeling Technique 7.3 Use Case Approach[ 8 : 1 ]7.1 IssuesComplex systems demand superior methods must cover specification & design thoroughly must provide a ric
Washington University in St. Louis - CSE - 532
E81 CSE 532S: Advanced Multi-Paradigm Software DevelopmentExtension Interface PatternVenkita Subramonian, Christopher Gill, Huang-Ming Huang, Shih-Ling Chen, Sajeeva PallemulleDepartment of Computer Science and Engineering Washington University,
Washington University in St. Louis - CSE - 501
CSE 501N Programming Co nce pts and Practice Practice Questions for Final ExamI. Indicate whether the statements are true or false. a. In Java's Swing package, a Component is a Container, but a Container is not a Component. [True] [False] b. In the
Washington University in St. Louis - CSE - 501
Practice Questions for CSE 501 MidtermFill in the Blanks1. A method name is _ if a class has more than one method with the same name (but different parameter types). 2. The public contructors and methods of a class form the public __ of the class.
Washington University in St. Louis - CSE - 501
ADT ExercisesBank Account ADT Requirements Withdraw money from account Deposit money into account Fastcash Withdraw the amount specified in the fast cash amount field Check balance Get the current amount for fast cash transactions Set th
Washington University in St. Louis - CSE - 432
GoF Sections 2.7 2.9More Fun with Lexi Lexi Document EditorLexi tasks discussed: Document structure Formatting Embellishing the user interface Supporting multiple look-and-feel standards Supporting multiple window systems Le
Washington University in St. Louis - CST - 310
CST 310 Computer Science Languages (Java)CST 310 Computer Science Languages (Java)Syllabus0) Web page (1) Instructor (2) Contact Infohttp:/www.cs.wustl.edu/~irfan/cst310 Irfan Pyarali Work (314) 935-7492, Home (314) 993-7114, Email - irfan@cs
Washington University in St. Louis - CSE - 465
Getting Started with Eclipse, GRMON, and the LEON2(See Appendix A for Installation Instructions) Launching Eclipse: Open Eclipse by visiting Start-> All Programs-> Class> 465-> Eclipse. Specify a new workspace location. o Make a new folder on you
Washington University in St. Louis - CSE - 465
Washington University in St. Louis - CSE - 432
Soft-Synth, A Digital Synthesizerby Thomas JudkinsContents:Abstract Patterns Used Background Overview Generators Filters Amplifiers Other Notes Algorithms Interface SummaryThe purpose of this design is to create, in software, a synthesizer tha
Washington University in St. Louis - CSE - 436
Pier436 Common Infrastructure Team Design Documentation v 1.0Appendix to Architecture Design v 1.0Package pier436.applicationPackage Contents Interfaces Engine EngineMessageListener Supports 3.3.2, 3.3.3 This specified message listener will updat
Washington University in St. Louis - CSE - 436
Traffic Simulator Revised Requirements Definition Document Khalid AlHokail Luke Bay James Grady Michael Murphy Version 2.0 03/07/2007 Revised Requirements Definition Document CSE436S: Software E
Washington University in St. Louis - CSE - 436
Pier436Architecture Design v1.0Common Infrastructure Team 2 April 2007 Matthew Bensley Zachary Patterson Troy Ruths Jared SteinPier436 Architecture Design v1.0 Common Infrastructure Team2Pier436 is a distrib uted simulatio n environ men t whi
Washington University in St. Louis - CSE - 436
msr aan gCf ao rsl Dm i wva va es e rt O ie nr oe uu zC zt ec sgS ce Se lht iR ya uc rlT Hh M wL uA grt tl Fa hiA slntr eac Mi mDaP nceeo e oet etc e t se.A iatV uybor oDrutr mimcii rugrrej alneciil cnr gs n tou1e B StSh i0u denrel atny cor eIoa rl
Washington University in St. Louis - CSE - 436
Pier436Software Requirement Specification v3.0Common Infrastructure Team 2 April 2007 Matthew Bensley Zachary Patterson Troy Ruths Jared SteinPier436 Software Requirement Specifications v3.0 Common Infrastr uct ur e Team2Table of ContentsInt
Washington University in St. Louis - CSE - 436
Pier436Architecture Specification v2.0Common Infrastructure Team 2 April, 2007 Matthew Bensley Zachary Patterson Troy Ruths Jared SteinPier436 Architecture Specifications v2.0 Commo n Infrastructure Team2Pier436 is a distributed simulation en
Washington University in St. Louis - CSE - 436
CourseSummary:ReviewofSoftware EngineeringRequirementsand ArchitectureGruiaCatalinRomanandChristopherGillCSE436Spring2007 DepartmentofComputer ScienceandEngineeringCostsThecostofcorrectinganerror growsveryrapidlyasthe projectmovesalongitslife
Washington University in St. Louis - CSE - 436
TrafficSimulatorSoftwareRequirementsSpecificationKhalidAlHokail LukeBay JamesGrady MichaelMurphyVersion2.1 03/07/2007RevisedSoftwareRequirementsSpecification EngineeringWorkshopCSE436S:Software2RevisedSoftwareRequirementsSpecification