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

  Creating sql script queries

Get the movie title for all movies that are comedy or horror, rename the output attribute name to be "Happily Scared"

  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.

  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.

  Statement to display the sku, sku_description

write an sql statement to display the SKU, SKU_Description, WareHouse ID, and QuantityOnHand for all products having a QuantityOnOrder equal to 0. Sort the results in descending order by WareHouse ID and in ascending order by SKU

  What could the mds that violate 4nf be

Let's define the rating of a director to be the average rating of all his/her movies. Find the names and ratings of all directors who have directed movies starring Al Pacino.

  Write sql commands to implement profile

Write SQL commands which would implement this profile. Next, write query that would list profile, profile resource name, and limit value for the new profile.

  Query that uses cube operator to return lineitemsum

Write summary query which uses CUBE operator to return LineItemSum (which is the sum of InvoiceLineItemAmount) group by Account(an alias for AccountDesciption).

  Select statement to return one row

Write a SELECT statement that returns one row for each general ledger account number which contains three columns.

  Create a clustered index on the groupid column

Write the CREATE INDEX statements to create a clustered index on the GroupID column and a nonclustered index on the IndividuallD column of the GroupMembership table.

  Produce a report showing an organization chart

Produce a report showing an organization chart for Mourgos's department. Print last names, salaries, and department IDs and create a report that shows the hierarchy of the managers for the employee Lorentz. Display his immediate manager first

  Write a xquery which returns all concert titles

Write a XQuery which returns all concert titles whose type is chamber orchestra where average ticket price is at least $50.

  Write a perl subroutine for temperature conversion

Write a perl subroutine for temperature conversion named ' convert_temp '. It should be able to handle both Fahrenheit to Celsius conversions as well as Celsius to Fahrenheit conversions.

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