From MTU LUG wiki
CS4461 Computer Networks Final Exam Study Guide
Virtual Circuit Networks:
Virtual Circuit networks consist of
-path between src and dst hosts -VC numbers, one number for each link along the path -Entries in the forwarding table in each router along the path
Packets carry VC numbers in the header. Each router in the VC must rewrite this header since they may differ depending on the router.
In a Virtual Circuit network the routers must maintain connection state information for the ongoing connections. Each time a new connection is started a new entry in the forwarding table needs to be created.
Virtual Circuit Phases
-VC setup: -the sending transport layer contacts the network layer -specifies the receiver's address -waits for the network to set up the VC. -The network layer determines the path between src and dst -the series of links and routers through which all packets of the VC will travel. -The network layer then adds an entry in the forwarding table in each router along the path. -Data Transfer: VC is established and data begins to flow -VC teardown: -src or dst informs network layer of its desire to terminate the VC. -The network layer then updates forwarding tables to delete the routes.
Each time an end system wants to send a packet it stamps the dst address on the packet and sends it to the network. The packet is sent through a series of routers. Each router uses the dst address to forward the packet.
-lookup the appropriate output link interface in the table -forward the packet out the chosen interface
Matches the prefix of the dst address and chooses output link based on that.
Longest Prefix Matching Rule
-find the longest matching entry in the table -forward the packet to the link interface associated with that prefix
Problem - contiguous blocks of address space are getting smaller meaning forwarding tables get larger.
No connection state information is maintained, but forwarding state information is. This happens on a specified interval of time rather than each time a connection is started and ended.
Problem - Forwarding tables can be modified before all the info is transmitted so the paths of individual packets may differ and packets may arrive out of order.
The Internet Protocol (IP):
-Version Number: 4 bits specify the IP protocol version. -Router uses this to determine how to interpret the remainder of the packet -Header Length: 4 bits to specify where in the IP datagram the data begins (typically 20) -Type of Service: TOS bits set to determine priority -Datagram Length: Total length of the IP datagram (header plus data) measured in bytes -field is 16 bits long so max is 65535 bytes (typically 1500 bytes) -Identifier, flags, fragmentation offset: IP fragmentation stuff -Time-to-live: TTL ensures that datagrams don't cycle forever in routing loops -Decreased by 1 each time it goes through a router -Must be dropped when it hits 0 -Protocol: Used only at the dst to indicate the specific transport layer protocol -Header checksum: Aids routers in detecting bit errors -Src and Dst IP addresses: src creates a datagram -puts its own IP in the src IP address field -puts dst IP address into the dst IP address field -Options: allow for the IP header to be extended -Data: the payload of the packet contains the transport-layer segment to be delivered
Link State Routing Algorithm:
The network topology and all link costs are known and available as input to the LS algorithm. Dijkstra's algorithm is popular.
Problem - oscillations in updates. A solution would be to mandate that no 2 routers can run the LS algorithm at the same time.
Popular LS Algorithm in use: OSPF
Distance Vector Routing Algorithm:
The DV algorithm is iterative and distributed meaning that each node receives information from one or more of its directly connected neighbors. It is iterative in that it continues until no more information is exchanged between neighbors.
Link-Cost change and Link Failure:
-At time t0, y detects the link-cost change -updates its distance vector -informs its neighbors of the change -At time t1, z receives the update from y and updates its table -it compares a new least cost to x -sends its new distance vector to its neighbors -At time t2, y receives z's update and updates its table -y's least costs do not change -y sends no messages to z -Algorithm stabilizes
Popular DV Algorithm In Use: RIP
Border Gateway Protocol:
BGP is an inter-AS routing protocol. BGP provides each AS a means to
-Obtain subnet reachability information from neighboring ASs -Propagate the reachability information to all routers internal to the AS -Determine "good" routes to subnets based on the reachability information and on AS policy
Essentially BGP allow for a subnet to shout out "OMG I'M OVER HERE!!!!111!one"