Final year thesis under Dr. Mayank Pandey, Professor, Computer Science, and Engineering Department, MNNIT.
• Realizes a publish-subscribe architecture over SDN using the Floodlight controller module and Mininet infrastructure emulator.
• Maintains an IPv4 based topical hierarchy in a centralized controller to enable content-based subscription via dynamic routes that transmit content amongst interested nodes in an asynchronous and space-decoupled fashion (publishers and subscribers are abstracted from each other).
• Technologies used: SDN, Mininet, Floodlight, Wireshark. Effective use of Networking concepts e.g. Subnetting and Data structures e.g. Trie.
Detailed thesis at https://drive.google.com/file/d/1ARdShp-ugso0HIwAQPm8KXj3k3Y7YRHz/view.
Publish Subscribe System over Software Defined Networking
1. Modeling a Publish-Subscribe System over Software
Defined Network
IT-16
Somil Gupta (20138026)
Shubham Agrawal (20138025)
Utkarsh Gaur (20138041)
Gaurav Bajaj (20138001)
Ravi Pratap Verma (20138082)
Submitted to
Department of Computer Science & Engineering
Motilal Nehru National Institute of Technology Allahabad
April, 2017
Mentor : Er.Shashwati Banerjea
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 1 / 26
2. Copy of Certificate
Certified that the work contained in the report titled Modeling a
Publish-Subscribe System over Software Defined Networks by
Somil Gupta (20138026)
Shubham Agrawal (20138025)
Utkarsh Gaur (20138041)
Gaurav Bajaj (20138001)
Ravi Pratap Verma (20138082)
has been carried out under my supervision and this work has not been
submitted elsewhere for a degree.
(Er.Shashwati Banerjea)
Computer Science and Engineering Dept.
M.N.N.I.T, Allahabad
**The original signed certificate can be retrieved from the project report submitted to the panel during presentation.
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 2 / 26
3. Outline
1 Introduction to Fundamental Concepts
2 Tools and Technologies
3 Proposed Model for Content Based Publish-Subscribe System
4 Client Applications
5 Controller Application
6 References
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 3 / 26
4. Introduction to Fundamental Concepts
Publish-Subscribe Systems
This paradigm allows subscribers to express their interest in one or more
events and get notified by publishers whose advertised genres match with
their interest(s)
Figure: Typical illustration of a publish-subscribe system
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 4 / 26
5. Introduction to Fundamental Concepts (Continued)
Software Defined Networking(SDN)
It abstracts the underlying network as a unified entity and separates the
control from the data plane fabric, which can be manipulated through a
central controller or applications running over it.
Figure: Traditional Network Vs. SDN
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 5 / 26
6. Introduction to Fundamental Concepts (Continued)
Architectural components (adjacent
figure shows SDN architecture)
SDN Application
SDN Controller
SDN Datapath
SDN Control to Data-Plane
(South Bound) Interface
SDN Northbound Interfaces
Management & Admin
Figure: SDN Architecture
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 6 / 26
7. Introduction to Fundamental Concepts (Continued)
Publish-Subscribe over SDN:
1 Advantages of working over SDN
Maintains an efficient, scalable, fault-tolerant and resilient network
Reduces the complexity
Maintains on demand QoS
2 Role of SDN principles
Separation of Control and Data Planes: Clients can reside in data
plane while middleware can run over controller.
Centralized network control: Helps in creation of dynamic
communication channels between interested parties that keep changing
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 7 / 26
8. Introduction to Fundamental Concepts (Continued)
Publish-Subscribe Internet Routing Paradigm
It wants to follow a clean slate approach to specify, implement and test
an inter-networked publish/subscribe architecture. It will redesign the
Internet from the publish/subscribe point of view, taking nothing (not
even IP) for granted.
Figure: PSIRP and its aspects
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 8 / 26
9. Tools and Technologies
1 OpenFlow Protocol
The communications interface defined between the control and
forwarding layers of an SDN.
Allows direct access to and manipulation of the forwarding plane, both
physical and virtual (hypervisor-based).
2 Mininet- A Network Emulator
A network emulation orchestration system using lightweight
virtualization.
Packets are processed by Ethernet switch, router or middleware.
3 Floodlight Controller
An SDN Controller that works with the OpenFlow protocol to
orchestrate traffic flows in an SDN environment.
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 9 / 26
10. Tools and Technologies (continued)
4 MaxiNet: Distributed Emulation of SDN
A distributed version of Mininet where multiple Mininet instances
running on different physical machines (called workers) are
interconnected and used to emulate very large SDN.
Centralized API for controlling the emulation and monitoring resource
usage.
Components used by MaxiNet:
METIS: A set of programs for partitioning graphs, finite element
meshes, and producing fill reducing orderings for sparse matrices.
Pyro: A library that enables objects to talk to each other over the
network, with minimal programming effort.
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 10 / 26
11. Proposed Model for Content Based Publish-Subscribe
System
Proposed Model and its Characteristics
1 The system is a variant of content based systems using fixed
single-valued attributes based subscription scheme.
2 Virtual IP based representation of topic groups and MAC address
based representation of attribute groups.
3 Dynamic and efficient routing
4 Asynchronized and Space decoupling
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 11 / 26
12. Proposed Model for Content Based Publish-Subscribe
System (Continued)
Terminology related to the model
1 Topic Group
2 Topic IP
3 Attribute Group
4 Attribute MAC address
5 Transaction ID
6 Query Expression
7 Topic Trie (shown in the next slide)
8 ARPing
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 12 / 26
13. Proposed Model for Content Based Publish-Subscribe
System (Continued)
Figure: Trie data structure representation
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 13 / 26
14. Client Application - Publisher
Figure: Workflow of Publisher
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 14 / 26
15. Client Application - Subscriber
Figure: Workflow of Subscriber
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 15 / 26
16. Controller Application
Controller responsibilities
1 Triggered Event Listening
2 Virtual IP Resolution Request Management
3 Subscription, advertisement and content status management
4 Route creation and event response management
Modules Associated
1 Event Processor Module
2 Proxy ARP Module
3 Event Middleware Module
4 Routing Manager Module
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 16 / 26
17. Controller Application (Continued)
Modules
1 Event Processor Module
Packet Handler
Device Listener
Switch Listener
2 Proxy ARP Module
Return ARP reply to requests for virtual controller IP
Proxy ARP to requests for hosts in network
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 17 / 26
18. Controller Application (Continued)
3 Event Middleware Module
Data structures managed by the module:
Topic Tree (depicted in the following slides)
Topic Trie
Map of Publisher/Subscriber IP to attribute groups
Services provided by the module:
(Un)advertise
(Un)subscribe
Set/Reset content availability status
Fetch content
Obtain configuration parameters
Query expression processing (depicted in the following slides)
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 18 / 26
20. Controller Application (Continued)
Figure: Processing of query expression
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 20 / 26
21. Controller Application (Continued)
4 Routing Manager Module
Services provided by the module:
1 Send response/acknowledgement as PacketOut
2 Send notification to given Subscriber
3 Command Publisher to publish content
4 Create Route between given Publisher and Subscriber( as shown in the
next slide)
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 21 / 26
23. Controller Application (Continued)
Figure: Interaction among modules
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 23 / 26
24. References
1 Eugster, P., and Felber, P. The Many faces of publish/subscribe.
2 Zhang, K., and Jacobsen, H.A. SDN like:The next generation of
pub/sub.
3 Toyokazu Akiyama, Y. K. proposal for a new generation sdn-aware
pub/sub environment.
4 https://www.sdxcentral.com/sdn/floodlight.html
5 https://networkenhancers.blogspot.in/archive.html
6 https://javabypatel.blogspot.in/trie-datastructure.html
7 https://www.tomsitpro.com/sdn.html
8 P. Wette, M. Drxler, A. Schwabe, F. Wallaschek, M. Hassan Zahraee,
H. Karl: MaxiNet: Distributed Emulation of Software-Defined
Networks.
9 http://www.psirp.org/overview/mission.html
(MNNIT Allahabad) Modeling a Publish-Subscribe System over Software Defined NetworkApril, 2017 24 / 26