INSY 3303 Ch. 5
Describe the anatomy of a router. How does a router differ from a computer?
A router consists of a CPU, memory, and ports or interfaces. A router differs from a computer because they are diskless and they don't come with a monitor, keyboard or mouse.
What is a session?
A session can be thought of as a conversation between two computers. When the sender wants to send a message, it first establishes a session with the destination computer. The sender then sends the data packets in order until all data has been sent. Then the session is ended.
Explain how multicasting works.
Computers wishing to participate in a multicast (e.g., for videoconferencing) send a message to the sending computer or some other computer performing routing along the way using a special type of TCP-level packet called Internet Group Management Protocol (IGMP). Each multicast group is assigned a special Class D IP address to identify the group. Any computer performing routing knows to route all multicast messages with this Class D IP address onto the subnet that contains the requesting computer. The routing computer sets the data link layer address on multicast messages to a matching multicast data link layer address. Each requesting computer must inform its data link layer software to process incoming messages with this multicast data link layer address. When the multicast session ends (e.g., the videoconference is over), the client computer sends another IGMP message to the organizing computer or the computer performing routing to remove it from the multicast group.
What are the differences between connectionless and connection-oriented routing?
Connectionless routing means each packet is treated separately and makes its own way through the network. It is possible that different packets will take different routes through the network depending upon the type of routing used and the amount of traffic. Because packets following different routes may travel at different speeds, they may arrive out of sequence at their destination. The sender's network layer therefore puts a sequence number on each packet, in addition to information about the message stream to which the packet belongs. The network layer must reassemble them in the correct order before passing the message to the application layer. Connection-oriented routing sets up a virtual circuit between the sender and receiver. In this case, a temporary virtual circuit is defined between the sender and receiver. The network layer makes one routing decision when the connection is established, and all packets follow the same route. All packets in the same message arrive at the destination in the same order in which they were sent. In this case, packets only need to contain information about the stream to which it belongs; sequence numbers are not needed, although many connection-oriented protocols include a sequence number to ensure that all packets are actually received. Connection-oriented routing has greater overhead than connectionless routing, because the sender must first "open" the circuit by sending a control packet that instructs all the intervening devices to establish the circuit routing. Likewise, when the transmission is complete, the sender must "close" the circuit. Connection-oriented protocols also tend to have more overhead bits in each packet.
What is a subnet and why do networks need them?
Each organization must assign the IP addresses it has received to specific computers on its networks. In general, IP addresses are assigned so that all computers on the same local area network have a similar addresses. For example, suppose a university has just received a set of Class B addresses starting with 128.184.x.x. It is customary to assign all the computers in the same LAN numbers that start with the same first three digits, so the Business School LAN might be assigned 128.184.56.x while the Computer Science LAN might be assigned 128.184.55.x (see Figure 6-8). Likewise, all the other LANs at the university and the backbone network that connects them, would have a different set of numbers. Each of these LANs are called a TCP/IP subnet because they are logically grouped together by IP number. Knowing whether a computer is on your subnet or not it very important for message routing.
How does HTTP use TCP and DNS use UDP?
HTTP at the application layer would pass its message packet with overhead, including the Internet address of the destination, to the transport layer where TCP software would complete packetization at the Transport layer and hand it off to the Network layer. Domain Name Services, the Domain Name Server (aka DNS) is primarily responsible for translating IP Addresses into valid Domain Names and translating valid Domain Names into IP addresses. UDP is a connection-less transport layer protocol. DNS would pass either a Domain Name or an IP address along with its packet(s) to the Transport layer for forwarding to the Network layer to be routed to the destination.
What is address resolution?
In order to send a message, the sender must be able to translate the application layer address (or server name) of the destination into a network layer address and in turn translate that into a data link layer address. This process is called address resolution. There are many different approaches to address resolution that range from completely decentralized (each computer is responsible for knowing all addresses) to completely centralized (there is one computer that knows all addresses).
What is Quality of Service routing and why is it useful?
Quality of service (QoS) routing is a special type of connection-oriented dynamic routing in which different messages or packets are assigned different priorities. For example, videoconferencing requires fast delivery of packet to ensure that the images and voices appear smooth and continuous; they are very time-dependent, because delays in routing will seriously affect the quality of the service provided. Email can have a low QoS, as it is not critical that it be delivered immediately to the destination.
What is routing?
Routing is the process of determining the route or path through the network that a message will travel from the sending computer to the receiving computer. Every computer that performs routing has a routing table developed by the network manager that specifies how messages will travel through the network.
How does TCP/IP perform address resolution for network layer addresses?
Server name resolution is the translation of application layer addresses into network layer addresses (e.g., translating an Internet address such as www.cba.uga.edu into an IP address such as 128.192.98.3). This is done using the Domain Name Service (DNS). Throughout the Internet there are a series of computers called name servers that provide DNS services. These name servers run special address databases that store thousands of Internet addresses and their corresponding IP addresses. These name servers are in effect the "directory assistance" computers for the Internet. Any time a computer does not know the IP number for a computer, it sends a message to the name server requesting the IP number. When TCP/IP needs to translate an application layer address into an IP address, it sends a special TCP-level packet to the nearest DNS server. This packet asks the DNS server to send the requesting computer the IP address that matches the Internet address provided. If the DNS server has a matching name in its database, it sends back a special TCP packet with the correct IP address. If that DNS server does not have that Internet address in its database, it will issue the same request to another DNS server elsewhere on the Internet. Once your computer receives an IP address it is stored in a server address table. This way, if you ever need to access the same computer again, your computer does not need to contact a DNS server. Most server address tables are routinely deleted whenever you turn off your computer.
How is TCP different from UDP?
TCP is a connection-oriented protocol. UDP is a connection-less protocol. What are the differences between connectionless and connection-oriented routing? Connection-oriented routing sets up a virtual circuit between the sender and receiver. In this case, a temporary virtual circuit is defined between the sender and receiver. The network layer makes one routing decision when the connection is established, and all packets follow the same route. All packets in the same message arrive at the destination in the same order in which they were sent. In this case, packets only need to contain information about the stream to which it belongs; sequence numbers are not needed, although many connection-oriented protocols include a sequence number to ensure that all packets are actually received. Connection-oriented routing has greater overhead than connectionless routing, because the sender must first "open" the circuit by sending a control packet that instructs all the intervening devices to establish the circuit routing. Likewise, when the transmission is complete, the sender must "close" the circuit. Connection-oriented protocols also tend to have more overhead bits in each packet. Connectionless routing means each packet is treated separately and makes its own way through the network. It is possible that different packets will take different routes through the network depending upon the type of routing used and the amount of traffic. Because packets following different routes may travel at different speeds, they may arrive out of sequence at their destination. The sender's network layer therefore puts a sequence number on each packet, in addition to information about the message stream to which the packet belongs. The network layer must reassemble them in the correct order before passing the message to the application layer.
What are the parts of TCP/IP and what do they do? Who is the primary user of TCP/IP?
TCP performs packetizing: breaking the data into smaller packets, numbering them, ensuring each packet is reliably delivered, and putting them in the proper order at the destination. IP performs routing and addressing. IP software is used at each of the intervening computers through which the message passes; it is IP that routes the message to the final destination. The TCP software only needs to be active at the sender and the receiver, because TCP is only involved when data comes from or goes to the application layer. TCP/IP is the network layer protocol now used on the Internet. It is also the world's most popular network layer protocol, used by almost 70 percent of all backbone, metropolitan, and wide area networks. TCP/IP is commonly combined with Ethernet.
How does TCP establish a session?
TCP sets up a virtual circuit between the sender and the receiver. The transport layer software sends a special packet (called a SYN, or synchronization characters) to the receiver requesting that a connection be established. The receiver either accepts or rejects the connection, and together, they settle on the packet sizes the connection will use. Once the connection is established, the packets flow between the sender and the receiver, following the same route through the network.
What type of routing does a TCP/IP client use? What type of routing does a TCP/IP gateway use? Explain.
The TCP/IP client uses static routing because the client must always point to a single gateway router. The TCP/IP gateway router uses dynamic routing because typically it must process multiple requests for routing beyond the single segment that it physically supports.
What benefits and problems does dynamic addressing provide?
The bootp or DHCP server can be configured to assign the same network layer address to the computer each time it requests an address (based on its data link layer address), or it can lease the address to the computer by picking the "next available" network layer address from a list of authorized addresses. Addresses can be leased for as long as the computer is connected to the network or for a specified time limit (e.g., two hours). When the lease expires, the client computer must contact the bootp or DHCP server to get a new address. Address leasing is commonly used by Internet service providers (ISPs) for dial-up users. Dynamic addressing greatly simplifies network management in non-dial-up networks too. With dynamic addressing, address changes need to be done only to the bootp or DHCP server, not each individual computer. The next time each computer connects to the network or whenever the address lease expires, it automatically gets the new address
Compare and contrast unicast, broadcast, and multicast messages.
The most common type of message in a network is the usual transmission between two computers. One computer sends a message to another computer (e.g., a client requesting a Web page). This is called a unicast message. In the situation of a broadcast message, the message is sent to all computers on a specific LAN or subnet. A third type of message called a multicast message is used to send the same message to a group of computers.
What does the network layer do?
The network layer performs three important functions: addressing, routing, and breaking long messages into smaller packets for transmission by the data link layer. The network layer sits between the application layer and the data link layer. The network layer accepts messages from the application layer and formats and addresses them for transmission by the data link layer. The network layer also accepts individual messages from the data link layer and organizes them into coherent messages that it passes to the application layer.
What does the transport layer do?
The transport layer links application software in the application layer with the network and is responsible for the end-to-end delivery of the message. The transport layer sits between the application layer and the network layer. The transport layer accepts messages from the application layer and packetizes them. Packetizing means to take one outgoing message from the application layer and break it into a set of smaller packets for transmission through the network. Conversely, it also means to take the incoming set of smaller packets form the network layer and reassemble them into one message for the application layer.
How does TCP/IP perform address resolution for data link layer addresses?
To send a message to a computer in its network, a computer must know the correct data link layer address. In this case, the TCP/IP software sends a broadcast message to all computers in its subnet. A broadcast message, as the name suggests, is received and processed by all computers in the same LAN (which is usually designed to match the IP subnet). The message is a specially formatted TCP-level request using Address Resolution Protocol (ARP) that says "Whoever is IP address xxx.xxx.xxx.xxx, please send me your data link layer address." The TCP software in the computer with that IP address then responds with its data link layer address. The sender transmits its message using that data link layer address. The sender also stores the data link layer address in its address table for future use.
Compare and contrast the three types of addresses used in a network.
When users work with application software, they typically use the application layer address (e.g., entering an Internet address into a browsers, such as www.cba.uga.edu). When a user types an Internet address into a Web browser, the request is passed to the network layer as part of an application layer packet formatted using the HTTP standard. The network layer software translates this application layer address into a network layer address. The network layer protocol used on the Internet is TCP/IP, so this Web address (www.cba.uga.edu) is translated into an TCP/IP address (usually just called an IP address for short) which is four bytes long when using IPv4 (e.g., 128.192.78.5). The network layer then determines the best route through the network to the final destination. Based on this routing, the network layer identifies the data link layer address of the next computer to which the message should be sent. If the data link layer is running Ethernet, then the network layer IP address would be translated into an Ethernet address (e.g., 00-0F-00-81-14-00).
What is a subnet mask?
While it is customary to use the last byte of the IP address to indicate different subnets, it is not required. Any portion of the IP address can be designated as a subnet by using a subnet mask. Every computer in a TCP/IP network is given a subnet mask to enable it to determine which computers are on the same subnet (i.e., LAN) as it is, and which computers are outside of its subnet. The subnet mask is a number that each routing device on a network can use to compare the routing packet to in order to determine if the packet stays in that portion or the network, or should be routed on to the next portion of the network. For example, a network could be configured so that the first two bytes indicated a subnet (e.g., 128.184.x.x) so all computers would be given a subnet mask giving the first two bytes as the subnet indicator. This would mean that a computer with an IP address of 128.184.22.33 would be on the same subnet as 128.184.78.90, and that the message stays within that network. On the other hand, if the subnet comparison shows that the message is not on that particular subnet, then the routing device will move the packets on in their journey.
How does decentralized routing differ from centralized routing?
With centralized routing, all routing decisions are made by one central host computer. Centralized routing is used typically only in host-based networks and in this case, routing decisions are rather simple. All computers are connected to the central computer by individual point-to-point circuits, so any message received is simply retransmitted on the point-to-point circuit connected to the destination. Decentralized routing allows all computers in the network make their own routing decisions following a formal routing protocol. In MANs and WANs, the routing table for each computer is developed by its individual network manager. Most decentralized routing protocols are self-adjusting, meaning that they can automatically adapt to changes in the network configuration (e.g., adding and deleting computers and circuits).
How does dynamic addressing work?
With dynamic addressing, a server is designated to supply a network layer address to a computer each time the computer connects to the network. This is commonly done for client computers, but usually not done for servers. Instead of providing a network layer address in a configuration file, a special software package is installed on the client that instructs it to contact bootp or DHCP servers using data link layer addresses. This message asks the servers to assign the requesting computer a unique network layer address. The server runs a corresponding bootp or DHCP software package that responds to these requests and sends a message back to the client giving it its network layer address (and its subnet mask).
How does static routing differ from dynamic routing? When would you use static routing? When would you use dynamic routing?
With static routing, the routing table is developed by the network manager, and changes only when computers are added to or removed from the network. For example, if the computer recognizes that a circuit is broken or unusable (e.g., after the data link layer retry limit has been exceeded without receiving an acknowledgment), the computer will update the routing table to indicate the failed circuit. If an alternate route is available, it will be used for all subsequent messages. Otherwise, messages will be stored until the circuit is repaired. When new computers are added to the network, they announce their presence to the other computers, who automatically add them into their routing tables. Static routing is commonly used in networks that have few routing options. For example, most LANs are connected to the backbone network in only one place. There is only one route from the LAN to the backbone, so static routing is used. Dynamic routing (or adaptive routing) is used when there are multiple routes through a network and it is important to select the best route. Dynamic routing attempts to improve network performance by routing messages over the fastest possible route, away from busy circuits and busy computers. An initial routing table is developed by the network manager, but is continuously updated by the computers themselves to reflect changing network conditions, such as network traffic. Routers can monitor outgoing messages to see how long they take to transmit and how long it takes for the receiving computer to acknowledge them. Based on this monitoring the router can effectuate table updating.