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
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
|