Computer Networks Exam 2

Datagram

the name of a network-layer packet

What is the difference between a router and a link-layer switch?

Router uses IP (layer 3) address of the packet to forward it.
Switch uses MAC (layer 2) address of packet to forward it.

Two most important network-layer functions in a datagram network?

Forwarding and routing

Forwarding

process of moving the packet that arrives at the input link of the router to a correct output link. Done by using forwarding tables.

Routing

route in which the packet flows from sender to receiver, calculated by routing algorithm. Determines end-to-end paths that packet takes

Important network-layer functions in a virtual-circuit network

Forwarding, routing, connection setup

Connection setup

three-way handshake is required before data flows from source to destination. Routers along the chosen path handshake with each other to set up connection

What are some services that network layer provides to a single packet?

Guaranteed delivery, guaranteed delivery with bounded delay

Applications that would benefit from ATM's CBR service model

Telephone companies, audio/video traffic, live multimedia apps

What are the three types of switching fabrics? Which can send multiple packets across the fabric in parallel?

Via memory, via bus, via interconnected network.
Switching via interconnected network, allows packets from different input ports to the same output port.

Do routers have IP addresses? How many?

Every router has an IP address for each interface.

What is the 32-bit binary equivalent of the IP address 223.1.3.27?

Each decimal number represents a byte (8 bits).
11011111 00000001 00000011 00011011

What is DHCP?

Dynamic Host Configuration Protocol. Allows the host in obtaining the IP address automatically. Client-server protocol.

When one host sends a TCP segment encapsulated in an IP datagram, how does the receiving host network layer know it should pass the segment to TCP rather than UDP or something else?

The IP datagram consts of an 8-bit field called Protocol, which gives info about which transport layer protocol the segment is to be passed to.

What are the differences/similarities between the IPv4 and IPv6 headers?

IPv6 consists of minimum number of fields, rather than a lot of optional fields.
IPv6 has a FIXED header size (40 bytes), IPv4 header is TYPICALLY 20-bytes.
IPv6 src/dest address: 128 bits.
IPv4 src/dest address: 32 bits.

Compare/contrast link-state and distance-vector routing algorithms

Both find best path from src router to dest router. Both compute least-cost path.
LS computes least-cost path from src to dest with complete knowledge on network, DV computes least-cost path in an iterative/distributed manner
LS shortest path found with Dijkstra, DV found with Bellman Ford
Open Shortest Path First (OSPF) is LS, Routing Information Protocol (RIP) is DV
LS is global, DV is decentralized (exchange info with neighbors)

Broadcast routing

network layer provides a service of delivering a packet sent from a source node to all other nodes in the network

Multicast routing

enables a single source node to send a copy of a packet to a subset of other network nodes

What is a broad definition for the network layer?

the network layer transports segments from a sending node to a receiving node (hosts)

What are some services that network layer provides to a flow of packets?

In-order delivery, guaranteed minimum bandwidth to flow, restrictions on changes in inter-packet spacing

What three things does a virtual circuit network consist of?

Path from source to destination
VC numbers (one number for each link along path)
Entries in forwarding tables in routers along path

What do VC routers maintain?

connection state information

Briefly describe datagram network.

No call setup at network layer, packets forwarded using destination host address, no network-level concept of "connection

How are datagram forwarding tables set up? (Mention longest prefix matching)

They feature a range of destination addresses for each link interface. Longest prefix matching: use longest address prefix that matches the destination address.

Is the Internet datagram or VC? Is ATM datagram or VC?

Internet = datagram (data exchange among computers, many link types, "smart" end systems)
ATM = VC (evolved from telephony, human conversation, "dumb" end systems, like telephones)

What does a class A IP address consist of?

network | host
1.0.0.0 to 127.255.255.255

What does a class B IP address consist of?

10 | network | host
128.0.0.0 to 191.255.255.255

What does a class C IP address consist of?

110 | network | host
192.0.0.0 to 223.255.255.255

What does a class D IP address consist of?

1110 | multicast address
224.0.0.0 to 239.255.255.255

How does an ISP get its IP addresses? How does a customer network get its IP addresses? How does a host get its IP addresses?

From IANA (Internet Assigned Numbers Authority)
From its ISP
Manual configuration, DHCP

What is the Internet Protocol (IP) service model?

Provides datagram service to transport layer, host-to-host connectivity (connectionless), best-effort packet delivery

What is CIDR?

Classless InterDomain Routing, a solution to the IPv4 problem.

What is a subnet?

device interfaces with the same subnet part of the IP address. Can physically reach each other without intervening router

How do you determine the subnet?

detach each interface from its host or router, creating islands of isolated networks (each one is called a subnet)

Dijkstra's Algorithm

Link costs known to all nodes, computes least cost paths from one source node, iterative.
c(x,y) = link cost from node x to y
D(v) = current value of cost of path from source to dest v
p(v) = predecessor node along path from source to v

Bellman-Ford algorithm

dx(y) = cost of least-cost path from x to y
dx(y) = min{c(x,v) + dv(y)}

What is ICMP?

Internet Control Message protocol.
Used by hosts/routers to communicate network-level info (error reporting, echo request/reply).

What is Prim's algorithm?

start with arbitrary node, successively add nodes where the link cost is minimal, stop when the graph is a spanning tree

What is Kruskal's algorithm?

Organize the links in increasing order of their weights, successively add links from the list, make sure no cycles are created, stop when spanning tree