Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall 2011 Department of Electrical and Computer Engineering University.

Slides:



Advertisements
Similar presentations
CST Computer Networks NAT CST 415 4/10/2017 CST Computer Networks.
Advertisements

Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
A Full Bandwidth ATM Firewall Olivier Paul, Maryline Laurent, Sylvain Gombault ENST de Bretagne in collaboration with France Telecom R&D DRET.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Lecture15: Network Address Translation for IPv4 Connecting Networks.
Protocols and the TCP/IP Suite
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Mid-Semester Presentation Spring 2005 Network Sniffer.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
1 Version 3.0 Module 9 TCP/IP Protocol and IP Addressing.
5/8/2006 Nicole SAN Protocols 1 Storage Networking Protocols Nicole Opferman CS 526.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Networking Components
OSI Model Routing Connection-oriented/Connectionless Network Services.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
An Agile Vertical Handoff Scheme for Heterogeneous Networks Hsung-Pin Chang Department of Computer Science National Chung Hsing University Taichung, Taiwan,
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
13/09/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Transport layer and Application Layer Slide 1.
1 GAIA VoIP traffic generator and analyzer Presentation by Amrut Bang Ashish Deshpande Vijay Gabale Santosh Patil Sponsored by GS Lab Pvt. Ltd Pune Institute.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
LWIP TCP/IP Stack 김백규.
1/28/2010 Network Plus Network Device Review. Physical Layer Devices Repeater –Repeats all signals or bits from one port to the other –Can be used extend.
Module 4: Designing Routing and Switching Requirements.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer: TCP and UDP. Overview of TCP/IP protocols Comparing TCP and UDP TCP connection: establishment, data transfer, and termination Allocation.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
ECE453 – Introduction to Computer Networks Lecture 17 – Top – Down Approach (A Review)
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Networking Basics CCNA 1 Chapter 11.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 3: TCP/IP Architecture.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
1 Chapters 2 & 3 Computer Networking Review – The TCP/IP Protocol Architecture.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
CSCI 465 D ata Communications and Networks Lecture 24 Martin van Bommel CSCI 465 Data Communications & Networks 1.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
ECE 526 – Network Processing Systems Design Network Address Translator II.
A MAIN PROJECT SEMINAR ON PACKET FILTERING FIREWALL USING NETFILTERS IN LINUX FOR ARM9 BY: R. SRINIVASULU (07N21A0446) CH. SHIVA RAM (07N21A0442) K. MALLIKARJUNA.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Ad Hoc – Wireless connection between two devices Backbone – The hardware used in networking Bandwidth – The speed at which the network is capable of sending.
Central Management of 300 Firewalls and Access-Lists Fabian Mauchle TNC 2012 Reykjavík, 21-May-2012.
Developing IoT endpoints with mbed Client
LWIP TCP/IP Stack 김백규.
Instructor Materials Chapter 9: NAT for IPv4
Routing and Switching Essentials v6.0
Chapter 6: Network Layer
CT1303 LAN Rehab AlFallaj.
Computer Networks 9/17/2018 Computer Networks.
Group 2: Qiuxi Zhu, Buchao Yu, Guoxi Wang
Protocols and the TCP/IP Suite
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CSCI {4,6}900: Ubiquitous Computing
Cabrillo College Building Cisco Remote Access Network
Instructor Materials Chapter 9: NAT for IPv4
Storage Networking Protocols
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Chapter 11: Network Address Translation for IPv4
Protocols and the TCP/IP Suite
Outline Overview of IP History of the Internet - 3-May-19
Computer Networks Protocols
The E.N.a.A. (Ed Needs an A) Network Bridge
Virtual Private Network
Presentation transcript:

Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University of Michigan Dearborn

Overview/Features  USB Tethering System: Android Phone & Linux Computer  Unique: Scalable for a network configuration Support for multiple machines  Permanent Network Solution Easy on the phone Customizable Security Features  No modifications to Android Phone & Linux Computer  Android 1.5+ Achievements  Fully functional under moderately heavy loads  Network Scalable Limitations  Currently Limited to 512 Open Connection: Limited up to three devices  Maximum Cellular throughput ~ 10%

Technical Problem Provide a flexible, secure, and reliable system that enables an Android device to send and receive network traffic for a small LAN Design Requirements 1. Unmodified Android Device and Linux Computer 2. Routing capable 3. USB Interface (Phone/Router) 4. Support the major protocols: TCP, UDP, ICMP 5. Scalable customizable security features 6. FAST

Minimum System Specifications  Routing Computer: 1GHz, 64 MB Ram, 64 MB Space, Linux 2.6, NICs, USB 2.0, switch (optional)  Android Device: 64MB Ram, 20 MB Storage, Android 1.5+, Data / Tethering Services/Subscription Performance Specifications  Maximum cellular throughput: 95%  Maintain enough connectivity for up to 4 machines  Fully Functional, Stable System Standards  Router Development: POSIX C API: Threading, Sockets, Portability  Phone Development: Java/Dalvik JVM, Android API  Network Protocols: IPv4, TCP, UDP, ICMP  Network Inter: IEEE , IEEE (Ethernet), USB 2.0

 Interface Tasks (Chris) Tunnel to Router Interface: Hook Traffic into router program Phone to Router USB Interface: Controlled Socket link between phone and router  Router Tasks (Chris) TCP/UDP/ICMP Implementation: TCP/UDP/ICMP to Application Converter  Phone Tasks (Chris & Justin) TCP/UDP/ICMP Implementation: Socket/Datagram Channel Connection  Integration (Chris) Debugging, Validation & Verification Optimization

Internet/Transport Features Protocol Selection: IPv4, TCP, UDP, ICMP ○ Alternatives: IPv6, DCCP, SCTP, RSVP, ECN, etc. Constraints: ○ NO IP Fragmentation ○ Client connections only TCP Features TCP Options: MSS Support ~ 1460 byes vs. 536 ○ Alternatives: Timestamp, SACK, Window Scaling

System Optimization (Phone) Open Connections Maintained Independent Threads (Thread Pool) ○ Alternatives: Dynamic Thread Allocation, Single Threaded Resource Limitation: limited open connections to 512 Idle Connection lifetime, TCP: 20 seconds, UDP 5 seconds (Limited Connections) ○ Alternatives: Unlimited lifetime, Very Low lifetime

Network Request User Mode Program Network to Application Conversion Phone Socket/Datagram Time  Application to Network Conversion

Tunnel Interface  Tunnel Driver (Linux 2.6+) Intercept Internet Traffic Must be: started, setup/configured, obtained  Dedicated Thread: Non-blocking Read/Writes  Raw Buffers stored into a BufferQueue Phone/Router USB Interface  Android Debugging Bridge Features: Converts USB signals into a network socket  Phone/Router: Dedicated threads: read into a BufferQueue, processed in respective programs

General  Convert Packets to Simple Commands for phone to process  Convert Simple Commands to Packets for Network Consumption TCP Emulation  Reliability tradeoff Complex  Must maintain State diagram: 3 – Way Handshake (Connection Establishment) Data Transfer 4 – Way Handshake (Connection Termination)  Flow Control Track Sequence Numbers Sliding Window Sized limited to 40 MSS ~ 57KB UDP/ICMP Emulation  No Reliability, Simple Design  Stateless: Send or Receive Data, phone handles connectivity

Network Traffic TCP Header IPv4 Header Data Lookup Table Android Device Command Data

Router  Abstract Tester: Phone command emulator, allowed testing of the router implementation ~ 98% of Maximum Data Throughput (Fast Computer) Phone  Thread Pool Model maximum throughput ~ 10%  512 Open Connections == 512 Open Threads: Dalvkim JVM not efficient  Estimated Support no more than 3 machines Overall  System stable even under heavy loads  No port-mapping correlation, indirectly very secure form of NAT  Very Difficult to debug  Some redundancy between the phone and router

Conclusions  Functional system, cellular optimization could lead to great potential  Poor Threading Performance, Android not ready for server level apps  Security Improvements, Network flexibility of the Linux OS Improvements:  Move to a single Super thread for cellular sockets  Possibly port to Windows Server for those interested  Provide an interactive GUI

Faculty Advisor: Professor Xiang Coordinator: Professor Miller

Router Abstract Tester

Simplified VHL Design

Tunnel Interface Structure Source/Destination Computer WLAN / ETH Router, Kernel Mode User Mode Program TUN Router, User Mode IPTables (Firewall)

Phone/Router Interface User Mode Program ADB/USB Android Program Internet Cell Phone