Notes from learning about distributed systems in GW CS 6421 with Prof. Wood
- A series of applications that decide how to forward the packets
- A networking operating system capable of coordinating forwarding devices
- A network of forwarding devices performing the required operations on the packets.
- Modifying a packet
- Dropping a packet
- Tunnel the packet somewhere else
- Future packets of the same type can take a fast path, don't need to consult the SDN controller.
- Flow entries will be cached to speed up processing.
- Topology service - how forwarding devices are connected with each other.
- Inventory service - track information about all SDN enabled devices.
- Statistics service - how many packets. etc, statistical information.
- Host tracking - IP and MAC addresses of the host.
- Java API
- Northbound (RESTConf)
- Logically Centralized
- Not Physically Centralized
- Can have network operating systems
- Can have multiple ones
- Can have hierachy
- Logically centralizaed and have a global view of all SDN controllers.
- Applications are easier to program due to global view.
- SDN contoller and all devices exhibit themselves as a large switch.
- Make network functions run as fast as possible.
- Process individual packets.
- More flexible in software
- Isolates functionality, easy to deploy and manage
- Slower than hardware
- Operating systems
- Networking
- Security
- Modeling
- Real-time computing
- Stream processing
- Platform for efficient packet processing in VMs and lightweight containers
- Highly optimized to reach ~70Gbps
- NF Manager -> Host's user space
- NFs run inside docker containers
- NUMA-aware processing
- Zero-copy data transfer between NFs
- No interrupts using DPDK poll-mode driver
- Scalable RX and TX threads in manager and NFs
- SDN-enabled NF Manager directs flows to NFs
- Fast enough to run software-based router, 38Gbps
- Lots of extra layers
- We in fact just need packet data
- Handle 14 million interrupts per second
- DMA to copy to user buffer.
- Polling for packet arrival.
- Regular function to transmit packets.
- Don't have native support for virtualization.
- Zero-copy packet forwarding
- Amortized system call overhead
- Compatible with libpcap and other standard libraries
- Much faster than linux native technology stacks
1-1. List all devices using the ip command

1-2. Configure the network interface

1-3. Check the IP address assigned to this interface

1-4. Edit the configuration file

1-5. Log into linux on windows using ssh

1-7. Making up Java environment variable

1-9. Java 11 does not support this anymore :( switching to java 8

1-11. A portion of the feature list

1-12. Using putty + Xming to launch X applications on windows - This experiment can also be done on windows using VMware + putty + Xming

1-13. Use pingall to confirm availability - the command line should be ovsk instead of ovs

1-14. Login page of opendaylight dlux

1-15. Openflow messages captured using wireshark

1-16. Topology as displayed in the opendaylight dlux

2-5. Simple test, system working

2-6. Ping successful, bridge NF working (1)

2-7. Ping successful, bridge NF working (2)

- Launch an instance in the EC2 console.
- Configure and create the virtual machine instance.
- Connect to the instance
- Terminate the instance
- Create a bucket
- Upload the file to a bucket
- Make the object public
- Create a bucket policy
- Upload a newer version and explore versioning







