Write a program that does simplified bgp route advertising

Assignment Help PL-SQL Programming
Reference no: EM13315630

In this assignment you will write a program that does simplified BGP route advertising. Your program will take four command-line arguments:
<port number to listen on> <AS number> <BGP ID> <routing table file>

It will first read the routes from the routing table file. Then, it will listen on the specified TCP port and accept connections from BGP peers. When a peer connects, it will send BGP UPDATE messages to the new peer, advertising the routes currently in the routing table.

Additionally, it will periodically check the modification time of the routing table file and if it detects that it has changed, it will re-read it and
send BGP UPDATEs reflecting the changes to all connected peers. This functionality is described in more detail below.

1. Routing table file

The file format will be very similar to the one in assignment 2, except that the nexthop value will be an actual IP address. That is, the format will be:

<subnet> <netmask> <nexthop>

where all three values are in IPv4 dotted decimal and are seperated by spaces. Example:

112.23.56.0 255.255.255.0 1.2.3.4

Note that the nexthop address is from the point of view of routers outside of your AS. Another difference from the previous assignment is that the routing table may change after your program has started and you need to be able to detect changes. The simplest way to do that is to periodically check the file modification time and compare it against a previously stored modification time. If the time changes, that means that the file has been changed and you should re-read it and send an update to the currently connected peers.

To check a file's modification time you can use "os.path.getmtime(<file path>)" (after importing the "os" module). You can check the time every 10 seconds (or less for testing) and you should only re-read the file if the time has changed.

2. Communication with BGP peers

When a new client connects to your server, you should first send a BGP OPEN message with your AS number and BGP ID and no parameters (see next section for more details on the message format). You should also try to read a BGP OPEN message from the newly connected peer. If the message you read is invalid (e.g. does not start with marker = 16 FF's or the type field is not set to 1 or the length is incorrect for a BGP OPEN with no parameters) you should print a warning and disconnect the client. If the remote peer's AS or ID is the same as yours, you should also print a warning and disconnect the client.

After the connection has been established an you have exchanged OPEN messages, you should send a BGP UPDATE messages to the peer, advertising all of the routes currently in your routing table.


Attachment:- Assignment.pdf

Reference no: EM13315630

Questions Cloud

What is the maximum weight of the paddlers and other gear : A simple "box-like" canoe has outer dimensions of 15.0 ft in length, 2.0 ft in width, and 1.0 ft in depth. The canoe shell is made of concrete with a specific weight of 58.0 lbs/ft^3 and contains 15.0 lbs of steel reinforcement with negligible vol..
Write a review of dividends and investment strategies : Write a review of dividends and investment strategies - explain the key points that the author is trying to communicate. Your review should be at least 1 page and no more than 2 pages, not counting the title or reference pages.
Estimate settlement at t after the beginning of construction : The coefficient of consolidation of a clay for a given pressure range was obtained as 8x10^-3 mm^2/sec on the basis of one-dimensional consolidation test results. In the field, there is a 2-m thick layer of the same clay.
Find the charge on the outisde of the conductor : Given a sphere of charge inside a conductor. The sphere has a radius of 5cm. Find the charge on the outisde of the conductor
Write a program that does simplified bgp route advertising : Additionally, it will periodically check the modification time of the routing table file and if it detects that it has changed, it will re-read it and send BGP UPDATEs reflecting the changes to all connected peers. This functionality is described i..
What is the angular acceleration of the disk : Just as you had done in your lab, imagine that you have a solid uniform disk (same as a uniform cylinder) with a string wound around its rim. What is the angular acceleration of the disk
Determine the minimum theoretical wall thickness : compressed nitrogen (140 lbm) is stored in a spherical tank of diameter D = 2.5 ft @ temp. of 77 degrees Fahrenheit . what is the pressure inside the tank? if the max allowable stress is 30 ksi, find the minimum theoretical wall thickness.
Estimate the channel roughness in trapezoidal channel : flow of 600cfs is measured at a depth of 3.4 ft in trapezoidal channel with bottom width of 25ft and side slopes of 3:1(h:v). The channel reach has a slope of .002. Estimate the channel roughness.
Determine the average power transmitted by the wave : A fellow student of mathematical bent tells you that the wave function of a traveling wave on a thin rope isy(x,t)= 2.10mm cos[( 6.96rad/m )x+( 744rad/s )t]. Determine the average power transmitted by the wave

Reviews

Write a Review

PL-SQL Programming Questions & Answers

  Write programme in oracle to make employee table

List the employee_id and employee_name of the employees form the l_employees table with the top 4 credit limits.

  Write the queries in sql

Write your queries so that the final answers will never include duplicates, but add the keyword DISTINCT only in cases where duplicates would otherwise be produced.

  Identify the attributes of the entities

Identify the various entities and their attributes involved in the application and identify the attributes of the entities that are unique to each entity.

  Prior to the adoption of sql as a standard

Prior to the adoption of SQL as a standard by the American National Standards Institute (ANSI), each database management system (DBMS) had its own unique command language and syntax. SQL was adopted as an ANSI standard in 1986. The International S..

  Write sql statement to display first-last name of students

Write a SQL statement to display the First and Last name of students who have the Status greater than 1 and less than 10. Use BETWEEN.

  Create report using wizard or based on sql query

Create a report using the wizard or based on an SQL query that that shows Courses that instructors are approved to teach. Show Course Number, First Name, and Last Name of Instructor.

  Let the user type his first and last name

The program should let the user type his first and last name.

  Display the customerid from the orders table

Display the CustomerID from the Orders table and the sum of the associated ItemPrice multiplied by Quantity using Gross Sales (with a space) as the column name from the OrderItems table.

  Display all the lastnames from the customers table

Display all the LastNames from the Customers table and any associated OrdersIDs from the Orders Table. Show the LastName even if they do not have any associated orders. Order the results by LastName in ascending order.

  Script below to create an updateable

Use the script below to create an updateable view named balance_due_view. Then, create and test an INSTEAD OF trigger named invoices_instead_of_insert that lets the user update the columns in the view by directly updating the Invoices table.

  Update stock levels when the order is cancelled

Execute queries to confirm that the basket order status and product stock levels have been appropriately modified by the trigger - the trigger needs to fire when a new status record is added to the BB_BASKETSTATUS table and when the IDSTAGE col..

  How to select the primary key

How to select the primary key from the candidate keys? How do foreign keys relate to candidate keys? provide examples from either your workplace or class assignments

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd