A multi-platform programming interface for protocol development Carlos Miguel Tavares Calafate, Pietro Manzoni Polytechnic University.

Slides:



Advertisements
Similar presentations
© GFI [ THE e -PROCESS COMPANY ] CSKL - CICS Serves, Knowing Legacy (is still making most profit for the organization). How Nat System switched from APPC.
Advertisements

purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Slide 1/11 Jose Costa-Requena, Raimo Kantola, Nicklas Beijar / MobileMAN M1/ Eurecom MobileMAN Workshop 1 Eurecom Jose Costa-Requena,
NetSlices: Scalable Multi-Core Packet Processing in User-Space Tudor Marian, Ki Suh Lee, Hakim Weatherspoon Cornell University Presented by Ki Suh Lee.
Sockets Tutorial Ross Shaull cs146a What we imagine Network request… response… The packets that comprise your request are orderly.
EEE436 / CS422 Final Presentation Group
Emulatore di Protocolli di Routing per reti Ad-hoc Alessandra Giovanardi DI – Università di Ferrara Pattern Project Area 3: Problematiche di instradamento.
Chapter 7 Protocol Software On A Conventional Processor.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
OSMOSIS Final Presentation. Introduction Osmosis System Scalable, distributed system. Many-to-many publisher-subscriber real time sensor data streams,
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
Proxy Cache Leonid Romanovsky Olga Fomenko Winter 2003 Instructor: Konstantin Sinyuk.
Wireshark Presented By: Hiral Chhaya, Anvita Priyam.
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
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.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
ProCol~ A jEdit Plugin for Remote Project Collaboration Justin Dieters Spring 2004 CS470 Final Presentation.
High Performance User-Level Sockets over Gigabit Ethernet Pavan Balaji Ohio State University Piyush Shivam Ohio State University.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.
Project Idea #1 Project: Simulation in NS Learn how to use NS-2 Examine 2-3 papers that do benchmark studies Implement a simulation of the Drexel TAARP.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
1 TCP/IP Internetting ä Subnet layer ä Links stations on same subnet ä Often IEEE LAN standards ä PPP for telephone connections ä TCP/IP specifies.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
TANGO TANGO ALTERNATE NETWORK GRAPH ORGANIZER Olof Hellqvist Zak Blacher.
Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group /2001 Instructor: Nir Borenshtein HSDSL Lab. Technion.
1/13 Comparison of several MANET routing protocols AODV, OLSR Final presentation By teams 2&3.
Routing & Middleware: Experiments Eleonora Borgia, Franca Delmastro, and Luciana Pelusi Pervasive Computing & Networking Lab. (PerLab) IIT-CNR Pisa.
Network Sniffer Anuj Shah Advisor: Dr. Chung-E Wang Department of Computer Science.
Project Proposal Team 8,9 손영주이경섭장성운정은호. Table of Contents Motivation Motivation Goals and Scope Goals and Scope Technical Problem Description Technical.
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
Networking And their components. What is Networking? In it’s simplest term, networking is when two or more things are able to communicate and understand.
 A hub is a central connecting device in a network.  Each node is connected directly to the hub.  They receive a data packet from one node and send.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
Network Virtualization Sandip Chakraborty. In routing table we keep both the next hop IP (gateway) as well as the default interface. Why do we require.
What is O.S Introduction to an Operating System OS Done by: Hani Al-Mohair.
SEDA. How We Got Here On Tuesday we were talking about Multics and Unix. Fast forward years. How has the OS (e.g., Linux) changed? Some of Multics.
PROWIND (Positioning Relay over Wirelessly Networked Devices) Team Members: Alexander Smithson, Dian Ding, Yeh Cheng Yuan Graduate Advisor: Eric Liao Faculty.
David B. Johnson Rice University Department of Computer Science DSR Draft Status Monarch Project 57th IETF.
LINUX® Netfilter The Linux Firewall Engine. Overview LINUX® Netfilter is a firewall engine built into the Linux kernel Sometimes called “iptables” for.
Also known as hardware/physi cal address Customer Computer (Client) Internet Service Provider (ISP) MAC Address Each Computer has: Given by NIC card.
Mobile Packet Sniffer Ofer Borosh Vadim Lanzman Dr. Chen Avin
Class Notes CS403- Internet Technology Prepared by: Gulrez Alam Khan.
An open source user space fast path TCP/IP stack and more…
Cooperative Caching in Wireless P2P Networks: Design, Implementation And Evaluation.
Chapter 4 – Thread Concepts
Introduction to threads
Developing IoT endpoints with mbed Client
Current Generation Hypervisor Type 1 Type 2.
Software Mr. Singh.
Day 12 Threads.
Chapter 4 – Thread Concepts
MobileMAN Workshop 2 Cambridge 2 –
Introduction to ZBOSS Embedded Systems Software Training Center
Indigo Doyoung Lee Dept. of CSE, POSTECH
Ad hoc Routing Protocols
Software Defined Networking (SDN)
Implementing an OpenFlow Switch on the NetFPGA platform
Lecture Topics: 11/1 General Operating System Concepts Processes
Ns-3 Tutorial Xin Li.
Windows sockets Iveta LenčiauskaitE.
STATEL an easy way to transfer data
Presentation transcript:

A multi-platform programming interface for protocol development Carlos Miguel Tavares Calafate, Pietro Manzoni Polytechnic University of Valencia (Spain)

Our area of research: Requirements: Network interface card control Strong interaction with packet flows – Sending / receiving process – Queue management – Routing table and forwarding process High level of kernel integration Communication protocols for wireless ad-hoc networks. Ex: AODV, DSR, OLSR

Problem Usually developed in Linux using ANSI C. Implementation is too bound to the type of the Operating System Conversion to other operating systems requires re-writing almost from scratch. Result: Windows 2000 and Windows CE users usually have to wait for a long time before these implementations are available.

Solution A library (PICA) that: –Is written in ANSI C –Makes available the required basic functions. –Targets the Linux, Windows NT & Windows CE platforms simultaneously. –Does not introduce great overhead. –Has self-explaining API

management IP Forwarding Threads Logging Privileges Timers Synchronization Sockets PICA NICs Routing table Packet System management primitives Network management primitives

Linux Windows NT Windows CE Common source code Other platforms PICA, PCAP & Std. C Libraries Platform specific binary Compiler

What is achieved? C code that only uses PICA library and standard C functions can be compiled directly on other supported platforms. Conversion of existing protocols to other Operating Systems is faster. New protocols can be created in a shorter period, and be available for all supported O.S. simultaneously.

Implementations with PICA Optimized Link State Routing (OLSR) protocol – Original implementation from INRIA (France) for the Linux platform. – Windows NT and Windows CE versions required only 3 weeks work with PICA. – Enhancements were easy and straightforward.

Example if (PICAgetAvailableDevices(&devs) == 0) { fprintf(stderr,"Error getting available devices\n"); exit(-1); } for (i=0;i<devs.num_devices;i++) { } if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { sprintf(logdata, "socket: %s\n", strerror(errno)); close(s); return; } ifc.ifc_len = sizeof (buf); ifc.ifc_buf = buf; if (ioctl(s, SIOCGIFCONF, (char *)&ifc) < 0) { sprintf(logdata, "ioctl (get interface configuration)\n", strerror(errno)); close(s); return; } ifr = ifc.ifc_req; cplim = buf + ifc.ifc_len; for (cp = buf; cp ifr_name) + size(ifr->ifr_addr)) { } Original (Linux) With PICA (multiplatform)

Other applications Even though PICA’s originally biased towards ad- hoc routing protocols, it turned out to be quite general purposed: – Network analyzers and sniffers – Software switches – Traffic shapers – Educational programs – etc.

Web page:

Questions?