Discussion of MIF API draft-liu-mif-api-extension-04 IETF 80 March 28, 2011 Dapeng Liu.

Slides:



Advertisements
Similar presentations
MIF API Extension Discussion MIF IETF 78 Dapeng Liu Yuri Ismailov.
Advertisements

Introduction to Sockets Jan Why do we need sockets? Provides an abstraction for interprocess communication.
CS 4700 / CS 5700 Network Fundamentals
Computer Net Lab/Praktikum Datenverarbeitung 2 1 Overview Sockets Sockets in C Sockets in Delphi.
Copyright © 2014 EMC Corporation. All Rights Reserved. Basic Network Configuration for File Upon completion of this module, you should be able to: Configure.
CSE 333 – SECTION 8 Networking and sockets. Overview Network Sockets IP addresses and IP address structures in C/C++ DNS – Resolving DNS names Demos.
Sockets: Network IPC Internet Socket UNIX Domain Socket.
I/O Models Satish Krishnan. I/O Models Blocking I/O Non-blocking I/O I/O Multiplexing Signal driven I/O Asynchronous I/O.
Elementary TCP Sockets© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
1 Elementary TCP Sockets socket function connect function bind function listen function accept function fork and exec functions Concurrent servers close.
Sockets CS 3516 – Computer Networks. Outline Socket basics Socket details (TCP and UDP) Socket options Final notes.
Sockets Programming CS144 Review Session 1 April 4, 2008 Ben Nham.
Tutorial 8 Socket Programming
CSE/EE 461 Getting Started with Networking. Basic Concepts  A PROCESS is an executing program somewhere.  Eg, “./a.out”  A MESSAGE contains information.
1 Advanced Name and Address Conversions getaddrinfo, getnameinfo, gai_strerror, freeaddrinfo host_serv, tcp_connect, tcp_listen, udp_client, udp_connect,
Introduction to Project 1 Web Client and Server Jan 2006.
CS 360 – Spring 2007 Pacific University TCP section 6.5 (Read this section!) 27 Feb 2007.
MIF API draft-ietf-mif-api-extension-05 Dapeng Liu.
UNIX Sockets COS 461 Precept 1. Clients and Servers Client program – Running on end host – Requests service – E.g., Web browser Server program – Running.
Socket programming in C. Socket programming Socket API introduced in BSD4.1 UNIX, 1981 explicitly created, used, released by apps client/server paradigm.
ECE 4110 – Internetwork Programming Client-Server Model.
TCP/IP Protocol Stack IP Device Drivers TCPUDP Application Sockets (Gate to network) TCP: –Establish connection –Maintain connection during the communication.
Elementary TCP Sockets
Socket Programming. Introduction Sockets are a protocol independent method of creating a connection between processes. Sockets can be either – Connection.
University of Calgary – CPSC 441.  UDP stands for User Datagram Protocol.  A protocol for the Transport Layer in the protocol Stack.  Alternative to.
CS345 Operating Systems Φροντιστήριο Άσκησης 2. Inter-process communication Exchange data among processes Methods –Signal –Pipe –Sockets.
ACE Address Configuration Executive. Why ACE? ACE provides access to several address resolution protocols under a single API ACE is the only API available.
Starting Work on the MIF Analysis Document Hui Deng, China Mobile Margaret Wasserman, Sandstorm IETF 76, Hiroshima, Japan.
Remote Shell CS230 Project #4 Assigned : Due date :
Computer Networks : TP1 Prof. Dr. Amine Berqia and Prof. Dr. Fernando Lobo {bamine,
Lab 5 Sockets. Useful Sockets Links (courtesy of Stanford University) Programming UNIX Sockets in C - Frequently Asked Questions
More on Socket API. More on Socket I/O Functions  Scatter read and gather write.
Name and Address Conversions Chap 11. Domain Name System  A lookup mechanism for translating objects into other objects  A globally distributed, loosely.
API Extension Discussion for MIF-enabled Hosts IETF#77 Dapeng Liu, Zhen Cao.
Networking Tutorial Special Interest Group for Software Engineering Luke Rajlich.
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
Advanced Sockets API-II Vinayak Jagtap
1 Socket Options Ref: Chapter 7. 2 Socket Options Various attributes that are used to determine the behavior of sockets.Various attributes that are used.
Project Goal Convert existing (real) TCP/IP applications to native API This should be done with minimum modifications of the applications’ source code.
Node Information Queries July 2002 Yokohama IETF Bob Hinden / Nokia.
CSE/EE 461 Getting Started with Networking. 2 Basic Concepts A PROCESS is an executing program somewhere. –Eg, “./a.out” A MESSAGE contains information.
TELE 402 Lecture 6: Name and address conversions 1 Overview Last Lecture –Socket Options and elementary UDP sockets This Lecture –Name and address conversions.
Sockets Socket = abstraction of the port concept: –Application programs request that the operating system create a socket when one is needed –O.S. returns.
MIF Current Practices draft-mrw-mif-current-practices-01.txt Margaret Wasserman
Advanced UNIX programming Fall 2002 Instructor: Ashok Srinivasan Lecture 25 Acknowledgements: The syllabus and power point presentations are modified versions.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
CSCI 330 UNIX and Network Programming Unit XV: Transmission Control Protocol.
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: HsinYu Ha.
CMPT 471 Networking II Network Programming © Janice Regan,
Review: – Why layer architecture? – peer entities – Protocol and service interface – Connection-oriented/connectionless service – Reliable/unreliable service.
CSCI 330 UNIX and Network Programming Unit XIV: User Datagram Protocol.
4.6 Multicast at the Network Layer Introduction: The Internet multicast abstraction and multicast groups The IGMP Protocol Multicast.
API Extension for MIF- enabled Hosts Dapeng Liu, Zhen Cao, Bo Zhou.
EECS340 Recitation 1: Very helpful to your project Hongyu Gao 1.
API Extension Discussion for MIF-enabled Hosts IETF#77 Dapeng Liu, Zhen Cao.
1 Socket Interface. 2 Client-Server Architecture The client is the one who speaks first Typical client-server situations  Client and server on the same.
Sockets Intro to Network Programming. Before the internet... Early computers were entirely isolated No Internet No network No model No external communications.
Multicast Source Filter API draft-ietf-idmr-msf-api-00.txt Dave Thaler (Microsoft) Bill Fenner (AT&T Research) Bob Quinn (Stardust.com)
1 Socket Interface. 2 Basic Sockets API Review Socket Library TCPUDP IP EthernetPPP ARP DHCP, Mail, WWW, TELNET, FTP... Network cardCom Layer 4 / Transport.
MIF API Discussion Dapeng Liu/Ted Lemon. MIF Scenario APP Net 1 Net 2 Net 3 IF1 IF2 Server.
Socket Option.
Sockets and Beginning Network Programming
Chapter4 Elementary TCP Socket
Interacting With Protocol Software
Sockets.
Today’s topic: Basic TCP API
Socket options: a summary
Advanced UNIX programming
Socket Extensions for OnDemand Mobility Management
Presentation transcript:

Discussion of MIF API draft-liu-mif-api-extension-04 IETF 80 March 28, 2011 Dapeng Liu

MIF API Concept Abstract MIF API: Advanced MIF API for app developer. Describe the abstract function of MIF API.

MIF API definition Address selection API Routing selection API Interface selection API Interface information API DNS selection API Notification API

1. Address Selection API int setsockopt (int socket, int level, int option_name, const void *option_value, socklen_t option_len); The setsockopt() function shall set the option specified by the option_name argument, at the protocol level specified by the level argument, to the value pointed to by the option_value argument for the socket associated with the file descriptor specified by the socket argument. Examples of option: SO_DEBUG, SO_DONTROUTE, SO_SNDBUF… Extend new option type used for address selection: SO_ADDR. When setsockopt() set this parameter, the application will use the IP address specified by option_value as the source IP address.

2. Route selection API Extend new option type parameter for setsockopt() function: SO_FSTHOP: When this option is set, the packet will send via the gateway that specified by option_value.

3. Interface selection API Extend new option type parameter for setsockopt() function: SO_INF: When this option is set, the interface that specified by option_value is used. Discussion: Do we need to include the interface selection API in the draft?

4. Interface Information API Get Interface status/configuration API getInterfaceInfo() get all interface’s information and configuration Need to define new structure, e.g.: Struct InterfaceInfo{ char * name; /*Interface name*/ struct parameter; /*IP, MAC, addr Scope, Type…*/ unit32_t status;} Discussion: Do we need the setInterfaceInfo() API?

5. DNS selection API Current version of gethostbyname()/gethostbyaddr() has the following definition: struct hostent *gethostbyname(const char *name) Propose to extend: struct hostent *gethostbyname(const char *name, struct sockaddr *DNS_addr) DNS_addr is used to specify which DNS server the application want to use for the DNS query. Discussion: Do we need the DNS selection API?

6. Notification API Sometimes, application need to know physical interfaces changing event. For example: Apple platform provide mechanism that application can re-connect using new interface when a new interface is up and obtaining an IP address. Standardize those implementation in MIF API. Example: new notification API to notify the event of interfaces changing. Discussion: Do we need to include this notification API in the draft?

Q & A