OMNeT++ Community Summit, Beyond INET 3.0

Similar documents
Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

CS 378 (Spring 2003)

Packet Header Formats

Introduction to the Packet Tracer Interface using a Hub Topology

TCP/IP and the OSI Model

Cisco Interconnecting Cisco Networking Devices Part 2

ACL Rule Configuration on the WAP371

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Introduction to Computer Networks. CS 166: Introduction to Computer Systems Security

Lesson 9 OpenFlow. Objectives :

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

ETSF10 Internet Protocols Network Layer Protocols

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

EMT2455 Data Communications 4. Network Layer. Dr. Xiaohai Li. Dept. of Computer Eng. Tech., NYCCT. Last Update: Nov.

2. What flavor of Network Address Translation can be used to have one IP address allow many users to connect to the global Internet? A. NAT B.

CSEP 561 Internetworking. David Wetherall

Computer Networks Security: intro. CS Computer Systems Security

ICS 351: Networking Protocols

Chapter 2 Layer Architecture of Network Protocols. School of Info. Sci. & Eng. Shandong Univ.

Lab Using Wireshark to Examine Ethernet Frames

Use of the TCP/IP Protocols and the OSI Model in Packet Tracer

1 Training Description H3C Certification Training Building Networks for Small- and Medium-Sized Businesses (v6.0)...

The Internet. 9.1 Introduction. The Internet is a global network that supports a variety of interpersonal and interactive multimedia applications.

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

Lab Using Wireshark to Examine Ethernet Frames

Packet Switching, Layer Models and Protocol Suites

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

2016 Braindump2go Valid Cisco Exam Preparation Materials:

The Internetworking Problem. Internetworking. A Translation-based Solution

Computer Network Addressing. The TCP/IP Layers and Addresses. Topics. The Internet Communication. The TCP/IP Layers and Addresses IP Address

Fundamentals of Computer Networking AE6382

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

Certified Cisco Networking Associate v1.1 ( )

Network Layer (4): ICMP

Vorlesung Kommunikationsnetze

HP OpenVMS Network Administration Exam.

Review of Important Networking Concepts

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Lecture 18 Overview. Last Lecture. This Lecture. Next Lecture. Internet Protocol (1) Internet Protocol (2)

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

COPYRIGHTED MATERIAL. Con t e n t s. Chapter 1 Introduction to Networking 1. Chapter 2 Overview of Networking Components 21.

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

Need For Protocol Architecture

Need For Protocol Architecture

CSE 461 Midterm Winter 2018

LOGICAL ADDRESSING. Faisal Karim Shaikh.

Appendix C Software Specifications

Interconnecting Networks with TCP/IP

Time : 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups are directed. Group A.

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

History Page. Barracuda NextGen Firewall F

ITS332 Quiz 1 Answers

Network Architecture Models

The Lean Plan p. 1. Embedded Systems. The Operating System The Development Environment. Acknowledgments Introduction p. 1.

Communication Systems DHCP

Distributed Real-Time Control Systems. Module 26 Sockets

Networking Protocol Stack

TCP/IP Network Essentials

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Recap. Recap. Internetworking. First mile problem. Internet. End Users. Last mile problem. Direct link networks Packet switching.

Layered Networking and Port Scanning

Quality of Service Setup Guide (NB14 Series)

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES

MiPDF.COM. 1. Convert the decimal number 231 into its binary equivalent. Select the correct answer from the list below.

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Chapter 5 OSI Network Layer

I Commands. iping, page 2 iping6, page 4 itraceroute, page 5 itraceroute6 vrf, page 6. itraceroute vrf encap vxlan, page 12

Chapter 6. The Protocol TCP/IP. Introduction to Protocols

Chapter 2 Communicating Over the Network

The SpaceWire Transport Protocol. Stuart Mills, Steve Parkes University of Dundee. International SpaceWire Seminar 5 th November 2003

EXAM - HP0-Y52. Applying HP FlexNetwork Fundamentals. Buy Full Product.

IPng (IPv6) Motivation. Currently: mainly servers, workstations, SLIP/PPP Address space exhaustion + new uses:

Internet. 1) Internet basic technology (overview) 3) Quality of Service (QoS) aspects

Internetworking Over SpaceWire: A Link-Layer Layer Broadcast Service for Network Stack Support

Lab 1: Packet Sniffing and Wireshark

Internet Protocol. Outline Introduction to Internet Protocol Header and address formats ICMP Tools CS 640 1

Review of Important Networking Concepts. Recall the Example from last lecture

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Advanced Computer Networks. End Host Optimization

Chapter 8 Lab 8-2, Using Manual IPv6 Tunnels with EIGRP for IPv6

Link-Layer Layer Broadcast Protocol for SpaceWire

McGraw-Hill The McGraw-Hill Companies, Inc., 2000

( A ) 1. WAP is a (A) protocol (B) hardware (C) software (D) network architecture

LSI Industries AirLink Network Security. Best Practices. System Information 01/31/18. Physical Access. Software Updates. Network Encryption

Peer entities. Protocol Layering. Protocols. Example

Network Security. Thierry Sans

Computer Networking. Introduction. Quintin jean-noël Grenoble university

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

K2289: Using advanced tcpdump filters

Why IPv6? Roque Gagliano LACNIC

Chapter 5 Network Layer

Computer Network Programming. The Transport Layer. Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University

Vendor: Cisco. Exam Code: Exam Name: Implementing Cisco IP Routing (ROUTE v2.0) Version: Demo

COMS Introduction to Computers. Networking

Networking Fundamentals

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015

CSCD433/533 Advanced Networks Winter 2017 Lecture 13. Raw vs. Cooked Sockets

Networking and Internetworking 1

Transcription:

OMNeT++ Community Summit, 2015 Beyond INET 3.0 IBM Research - Zurich, Switzerland September 3-4, 2015 Levente Mészáros

Overview Network node architecture refactoring Cross-layer communication and optimization Mobility refactoring

Real World Network Node Architecture Real world applications often use different kind of sockets and protocols simultaneously Application Kernel Socket API Transport Layer TCP UDP Network Layer IPv4 IPv6 Link Layer Ethernet 802.11 PPP VLAN

Current Network Node Architecture 1 Nodes currently have separate submodule vectors for different kinds of applications What if an application wants to use TCP and UDP simultaneously? tcpapp[] tcp App[] pingapp[] tunapp[] ppp[] wlan[] tun[]

Current Network Node Architecture 2 TUN application are currently connected to TUN interfaces only TUN applications are useless without being connected to other protocols Should we connect them to TCP, UDP, IPv4, or all of them? tcpapp[] App[] pingapp[] tunapp[]? tcp ppp[] wlan[] tun[]

Current Network Node Architecture 3 Dual network stack needs extra dispatch mechanism towards network protocols Where should the dispatch mechanism be? In general, protocols of adjacent OSI layers should be in many-tomany relationship tcpapp[] tcp App[] pingapp[] tunapp[]? ipv6 ppp[] wlan[] tun[]

TCP Applications Limitation: TCP applications exclusively and directly connect to TCP tcpapp[] tcp Dispatch from TCP towards applications is built into TCP Dispatch from IPv4 towards TCP is built into IPv4 App[] pingapp[] tunapp[] ppp[] wlan[] tun[]

UDP Application Limitations: UDP applications exclusively and directly connect to UDP tcpapp[] tcp Dispatch from UDP towards applications is built into UDP Dispatch from IPv4 towards UDP is built into IPv4 App[] pingapp[] tunapp[] ppp[] wlan[] tun[]

Ping Application Network layers currently have separate gates for ping applications (pingin, pingout) tcpapp[] tcp IPv4 needs to do special ICMP packet handling to reach ping applications App[] pingapp[] tunapp[] ppp[] wlan[] tun[]

New Network Node Architecture app[] Added separate packet s between OSI layers Eliminated dispatch mechanisms from individual protocols tcp ipv6 ppp[] wlan[] tun[]

Protocol Registration Mechanism app[] Protocols have to register themselves in the (protocolid, gate) tcp registers ipv6 ppp[] wlan[] tun[]

Interface Registration Mechanism app[] Interfaces also have to register themselves in the (interfaceid, gate) tcp ipv6 registers ppp[] wlan[] tun[]

Simpler Network Node Architectures Dispatchers are optional app app[] Modules can still be organized in other ways app[] eth eth

IPv4 Network Layer Architecture IPv4 network layer also uses a internally ARP and IP don't exchange packets, thus no connection between them igmp icmp arp ip

TCP Application app[] TCP application still uses a TCPSocket to send and receive packets Dispatcher learns where sockets are, based on socket open and close commands tcp ipv6 ppp[] wlan[] tun[]

UDP Application app[] UDP application still uses a UDPSocket to send and receive packets Dispatcher routes packets based on the destination protocol Destination protocol is determined from control info and packet class tcp ipv6 ppp[] wlan[] tun[]

Ping Application app[] Ping application uses a raw IPv4Socket to send and receive ICMP echo packets There's no special network layer gate for ping applications tcp ipv6 ppp[] wlan[] tun[]

Ethernet Application app[] Ethernet applications can directly communicate using ethernet sockets tcp ipv6 ppp[] wlan[] tun[]

MANET Routing Application app[] MANET routers now share the same network node architecture Routing application can be replaced from INI file Routing applications can still use all kinds of sockets routing[] tcp ipv6 ppp[] wlan[] tun[]

Tunnel Application app[] Tunnel application simultaneously opens a TUN device and a raw IPv4Socket tcp ipv6 ppp[] wlan[] tun[]

Tunnel Application 1 app[] Node receives packet from network tcp ipv6 ppp[] wlan[] tun[]

Tunnel Application 2 app[] Node receives packet from network IPv4 forwards packet to TUN interface tcp ipv6 ppp[] wlan[] tun[]

Tunnel Application 3 app[] Node receives packet from network IPv4 forwards packet to TUN interface tcp Application receives packet from TUN interface ipv6 ppp[] wlan[] tun[]

Tunnel Application 4 app[] Node receives packet from network IPv4 forwards packet to TUN interface tcp Application receives packet from TUN interface Application sends packet inside another IPv4 packet ipv6 ppp[] wlan[] tun[]

Standard Host 1

Standard Host 2

Overview Network node architecture refactoring Cross-layer communication and optimization Mobility refactoring

Cross-layer design Application Layer Quality of service parameters Transport Layer Link quality indication Network Layer Resource optimization parameters Link Layer Physical Layer Physical channel conditions

Current Cross-Layer Communication Applications send UDP packets on a specific interface by setting the interfaceid in UDPControlInfo Currently applications cannot even specify type of service parameter to control the quality of service functionality

New Cross-Layer Communication As packets go through the layers Application Layer Packets collect various request tags Transport Layer Network Layer Link Layer Physical Layer Packets collect various indication tags

Tag Examples QualityOfServiceRequest tos InterfaceIndication InterfaceRequest id MACAddressRequest source destination TransmissionRequest power channel id MACAddressIndication Packet source destination ReceptionIndication power channel

Overview Network node architecture refactoring Cross-layer communication and optimization Mobility refactoring

Current Mobility Models 1 There are mobility models that do static positioning There are mobility models that move nodes around How to combine these models?

Current Mobility Models 2 There are group mobility models with built-in differences for individual nodes How to reuse existing models for group mobility? How to model a docking ship with passengers moving around?

Current Mobility Models 3 Sometimes positioning and orientation are best expressed in separate mobility models (e.g. satellites) Sometimes elevation may be derived from the position on the surface of the Earth (e.g. a moving vehicle)

Mobility Superposition Support combining different positioning and orientation models using superposition Support start/end time (limits) for mobility models superposition positioning & orientation group initial perturbation time individual

Coordinate Systems Geographic coordinate system such as WGS-84 Abstract Cartesian coordinate system How to express coordinates inside buildings around a city? How to express antenna orientation of a vehicle separately?

Questions and Answers Thank you for your kind attention! IBM Research - Zurich, Switzerland September 3-4, 2015 Levente Mészáros