Sunday, February 28, 2010

Lecture 9: Routing the Internet (Feb 22)

In today's lecture, Dr. Gunes talked about how routing in the internet works. In the entirety of the internet, it would be impractical to store all the destinations in to a routing table. The tables would be very large and inefficient. Network administrators do not want to be told how to configure their own routers, so each network may be a little different from other networks. They are all autonomous systems (AS). Each network much communicate with itself with the same intra-autonomous system routing protocol, but for other ASes to communicate with each other, there must be a Gateway router to bind them directly together.

The forwarding tables in each AS must have a intra-routing table as well as an inter-routing table to communicate with external destinations. An example from the lecture shows the tasks of the Inter-AS. When a datagram from the inside needs to be delivered to the outside, the AS must learn how the destination can be communicated to and where it can be reached through. Once it is known, the AS propagates the information to all of the routers in its network, so they are informed of how to reach that destination.

In Intra-AS routing, there are a few common routing protocols. The ones mentioned in the lecture were Routing Information Protocol (RIP) and Open Shortest Path First (OSPF). RIP uses the distance vector algorithm mentioned in the last lecture and OSPF uses the link state algorithm mentioned previously as well. A major point of RIP is that constantly exchanges its distance vectors, also called advertisements, with its neighbors every thirty-seconds and the OSPF keeps a topological map at each of its nodes where its advertisements are flooded across the network.

Thursday, February 25, 2010

Lecture 10: BGP (Feb 24)

Today's lecture started off with the introduction of Lab 2 and the requirements for that lab. We then began a discussion about BGP and what it entails. BGP is essentially a protocol for subnets to announce "I am here." Routers will exchange routing information with each other in order to learn the reachability of other routers. BGP actually consists of two separate protocols, one that is internal to the asynchronous system and then one for inter-AS communications. We have these different protocols because we want the inter-AS routing to focus on policies while the intra-AS routing can focus on performance.

Wednesday, February 24, 2010

Lab 2 on RIP

You may post your questions and comments regarding the RIP lab under this blog post.

You may schedule lab sessions to work in the networking lab using the link posted on WebCT.

Do not forget to turn in the solutions for Question Sheet for the PreLab in Page 131 of Mastering Networks: An Internet Lab Manual by Monday, March 1st by 1pm on WebCT.

Clarification: You may find the solution to the first question in PreLab at http://www.techonia.com/configure-linux-pc-router.

Monday, February 22, 2010

Lecture 8: Routing Algorithms (Feb 17)

Today's lecture talks about routing algorithms, which are used by routers to determine where data packets should go in a network. This problem is essentially that of finding the shortest route through a weighted graph.

These algorithms may use global or local information. The routing itself can be relatively static or dynamic over time. Dijkstra's algorithm uses global information and constructs a shortest-path tree from a given router. For this strategy, every router remembers the complete topology of the network and paths toward each location. Bellman-Ford algorithm uses local information and broadcasted network changes to approximate and over time attain optimal routes. For this strategy, each router remembers their known closest distance to all locations in the network and the first hop toward that location.

In both algorithms, changes in the network may cause instabilities. Dijkstra's algorithm may have instabilities if packets change edge weights in a network graph. Bellman-Ford algorithm has troubles propagating information about increase in transmission costs or dead connections.

Wednesday, February 10, 2010

Lecture 7 : Routing (Feb 10)

Todays instruction was focused on how Routing works. It is important to understand the difference between the terms forwarding or routing. Forwarding is used when describing a packet at one hop, while routing is in reference to the whole path taken by a packet. There were two major types of connections discussed, Virtual Connections and Datagram Networks. Virtual Connections are technologies such as ATM, Frame Relay, and X2.5. These methods create a connection from end to end. This allows ATM to guarantee no loss, order, timing and rate of data transfer. Virtual Connections are efficient and practical in smaller network models, but fail in larger networks because resources are tied up in reserved connections. Datagram Networks, on the other hand, are much more efficient with large-scale networks. IP is the Datagram network protocol. There is not dedicated connection from one client to the other. The data is forward from one device to the next until it reaches the destination. IP cannot make any of the guarantees that ATM could, but it keeps the networks simple and fast. Next the lecture focused on the basics of how a forwarding table works. Forwarding tables have assigned IP address ranges that correspond to a routers interface locally. If an IP address falls within a certain range, the packet would be sent on that interface. A common method used in forwarding tables is longest prefix matching. This means that the forwarding table entry that matches the most digits in the IP address will correspond to the interface that the data will be sent on.

Monday, February 8, 2010

Student presentations

I have uploaded the link for class presentation schedule on WebCT under announcements.
Indicate your preferred date and topic on the spread sheet.

Lecture 6: TCP (Feb. 8)

Today's instruction was focused on how the TCP protocol communicates together between two systems. First, a connection needs to be made between the two parties. This is done via a syn, syn ack, ack three-way handshake. This is necessary to provide each party with the initial sequence number of the other and to verify a connection. After that, data can be transmitted from both sender and receiver. Each party keeps track of the sequence number, window size, and request number (ACK) of the other party to ensure that all the data is delivered reliably and securely. It's worthy to note that each party keeps two buffers. One is to hold the incoming data from the other party and the other is to hold the data sent by themselves in case they need to send it again. To terminate a connection, you can either send a RST segment which abruptly ends the session or you can do it the nice way. The nice involves one party sending a FIN segment which is following by an ACK from the other party. The connection is still alive however because the other party might still have information to send. Once the other party is finished, they send a FIN segment which is again ACK'd by the other. Then the connection is done but TCP stays on the line for a while to ensure that any lost packages have a chance to reach their destination.

Sunday, February 7, 2010

Lecture 5: TCP/IP(cont.) (Feb 3)

In today,s lecture Dr. Gunes firstly went over the previous lecture and reminded us CSMA, Ethernet and its architecture, IP addresses,IP formats, and the structure of IP Datagram. Then, he talked about TCP/IP model deeply. First, he explained IP flow control and error detection mechanisms. He talked about ICMP and showed the differences between different types of ICMP messages. Then, he explained UDP which is the other part of TCP/IP transport layer protocol. After the UDP, we begun discussing Transmission Control Protocol in depth. Dr. Gunes, explained the most important 4 features, which are connection-oriented, reliable, full-duplex and byte-stream, of TCP. Then, he talked about the TCP ports. One important thing regarding ports is that TCP and UDP ports have different namespaces, so we can use the same port number for both. Then, we talked about the TCP segment format and addressing issues in TCP/IP. Finally, we compared the TCP and UDP.

Monday, February 1, 2010

Lecture 4: TCP/IP (Feb 1)

In today’s lecture, Dr. Gunes spoke about Ethernet frames, the IP protocol and how sub-netting works. We learned the structure of the Ethernet frame and what each section of the frame is responsible for. As a class we discussed Ethernet addressing and how the 48 bit MAC addresses are used to address in a one to one. When a packet is going to be broadcasted to all the mac addresses in the sub-network the MAC address consisting of all 1’s. Internet Protocol is an extremely integral part of the internet as we know it. In class we discussed the distinct differences between MAC addressing and IP addressing. One of the interesting differences was that to broad cast to all IP addresses in the network all 0’s are used. We discussed how IP addresses are distributed across the continents and reasons for moving away from IPv4 which uses a 32 bit address towards IPv6 which uses 128 bit addresses. We talked about the different classes of IP addresses. We talked about how IP addresses have a host and network IDs and how the least significant bits can be masked to divide a sub-network and group hosts based on physical topology. Near the end of the lecture we went over Address Resolution. This is the process by which you can use the IP address of a host to query for its MAC address. Dr. Gunes ended the lecture talking about IP datagram structure and MTU’s. Over all this lecture was great for understanding the fundamentals about how IPs and MAC addresses are used at the lower layers to route traffic.

Lab 1 on TCP/IP protocols

You may post your questions and comments regarding the WireShark lab on IP, ICMP, Ethernet and ARP under this blog post.