Exam 1 - Material

Ace your homework & exams now with Quizwiz!

What are two fundamental problems involving routers, and what causes these problems?

1. Bandwidth and Internet population scaling: These scaling issues are caused by: An increasing number of devices that connect to the Internet, Increasing volumes of network traffic due to new applications, and New technologies such as optical links that can accommodate higher volumes of traffic. 2. Services at high speeds: New applications require services such as protection against delays in presence of congestion, and protection during attacks or failures. But offering these services at very high speeds is a challenge for routers.

What are the goals of the congestion control?

1. Efficiency. High throughput, or network utilization. 2. Fairness. Each user should have its fair share (we will assume, equal bandwidth) of the network bandwidth. 3. Low delay. High throughput (with large buffers) would lead to long queues in the network leading to delays. Applications that are sensitive to network delays such as video conferencing will suffer. Thus, we want the network delays to be small. 4. Fast convergence. A flow should be able to converge to its fair allocation fast, so that even short flows will get their fair share of the network.

What are four reasons for IXPs increased popularity?

1. IXPs are interconnection hubs handling large traffic volumes 2. Important role in mitigating DDoS attacks 3. "Real-world" infrastructures with a plethora of research opportunities 4. IXPs are active marketplaces and technology innovation hubs

What is the purpose of the router's control plane?

1. Implementing the routing protocols, 2. Maintaining the routing tables, 3. Computing the forwarding table All these functions are implemented in software in the routing processor, or these functions could be implemented by a remote controller.

What are the bottlenecks that routers face, and why do they occur?

1. Longest prefix matching: As we have seen in previous topics, routers need to look up a packet's destination address to forward it. The increasing number of the Internet hosts and networks has made it impossible for routers to have explicit entries for all possible destinations. Instead routers group destinations into prefixes. But then, routers run into the problem of more complex algorithms for efficient longest prefix matching. 2. Service differentiation. Routers are also able to offer service differentiation which means different quality of service (or security guarantees) to different packets. In turn, this requires the routers to classify packets based on more complex criteria that go beyond destination and they can include source or applications/services that the packet is associated with. 3. Switching limitations. As we have seen, a fundamental operation of routers is to switch packets from input ports to output ports. A way to deal with high-speed traffic is to use parallelism by using crossbar switching. But at high speeds, this comes with its own problems and limitations (e.g. head of line blocking). 4. Bottlenecks about services. Providing performance guarantees (quality of service) at high speeds is nontrivial. As is providing support for new services such as measurements and security guarantees.

What are the ramifications of the hourglass shape of the internet?

1. Many applications that were not originally designed for the internet has been modified so that they can communicate over the internet. 2. It has been difficult and a slow process to transition over to IPv6, despite the shortage of IPv4 addresses 3. IPv4, TCP, and UDP provide a stable framework through which there is an ever-expanding set of protocols at the lower layers (physical and data-link layers), as well as new applications and services at the higher layers. But at the same time, these same protocols have been difficult to replace or even modify significantly. TCP/UDP have a lot of products that depend on them. This acts as a shield for IPv4 which has TCP and UDP as products

List and briefly describe each type of switching. Which, if any, can send multiple packets across the fabric in parallel?

1. Memory Input/Output ports operate as I/O devices in an operating system, and they are controlled by the routing processor. When an input port receives a packet, it sends an interrupt to the routing processor and the packet is copied to the processor's memory. Then the processor extracts the destination address and looks into the forward table to find the output port, and finally the packet is copied into that output's port buffer. 2. Bus In this case, the routing processor does not intervene as we saw the switching via memory. When an input port receives a new packet, it puts an internal header that designates the output port, and it sends the packet to the shared bus. Then all the output ports will receive the packet, but only the designated one will keep it. When the packet arrives at the designated output port, then the internal header is removed from the packet. Only one packet can cross the bus at a given time, and so the speed of the bus limits the speed of the router. 3. Crossbar (interconnection network) A crossbar switch is an interconnection network that connects N input ports to N output ports using 2N buses. Horizontal buses meet the vertical buses at crosspoints which are controlled by the switching fabric. Crossbar networks can carry multiple packets at the same time, as long as they are using different input and output ports.

How does a router process advertisements?

1. Process begins when an LS update is received. A. Every Link State Advertisements (LSA) is unpacked, the OSPF protocol checks whether it is a new or a duplicate LSA, compared to the link-state (LS) DB. i.) If it is a duplicate, it sends an LS ACK packet back immediately. ii.) If it is new, it updates the LS DB, schedules a Shortest Path First (SPF) algorithm calculation and it determines which interface the LSA needs to be flooded out of. 2. Once the LS update packet has been processed, it prepares new LSAs updates into a new LS update packet and sends it to the next router. 3. After this, the SPF calculations are computed. 4. And finally the Forwarding Information Base (FIB) is updated. The information in the FIB is used to decide which outgoing interface card is the incoming packet forwarded to.

Which services do IXPs provide?

1. Public peering 2. Private peering 3. Route servers and Service level agreements 4. Remote peering through resellers 5. Mobile peering 6. DDoS blackholing 7. Free value-added services

How does a host infer congestion?

1. Through packet delay. As networks congest, queues in the router buffers build up. As packet round trip times increase (estimated based on ACKs) can be an indicator of congestion in the network, but packet delays tend to be variable, so it is not an straight forward indicator. 2. Through packet loss. As the network congests, routers start dropping packets. Packets can be lost due to other reasons such as routing errors, hardware failure, TTL expiry, error in the links, or flow control problems. Early implementations of TCP used packet loss as a signal for congestion.

What are the two main protocols within the transport layer?

1. User datagram protocol (UDP) 2. Transmission Control Protocol (TCP)

What are disadvantages of a layered architecture?

1. Violation of the goal of layer separation 2. Overhead costs/performance 3. Duplication of functionality

What are the basic components of a router?

1. input/output ports 2. switching fabric, 3. routing processor.

How does a TCP sender limit the sending rate?

A TCP sender cannot send faster than the slowest component, which is either the network or the receiving host. A sender uses ACKs as a pacing mechanism. TCP uses a congestion window which is similar to the receive window used for flow control. It represents the maximum number of unacknowledged data that a sending host can have in transit (sent but not yet acknowledged). TCP uses a probe-and-adapt approach in adapting the congestion window. Under regular conditions, TCP increases the congestion window trying to achieve the available throughput. Once it detects congestion then the congestion window is decreased. 0p-[p LastByteSent - LastByteAcked <= min{cwnd, rwnd} LastByteSent -LastByteAcked represents the number of unacknowledged data. cwnd represents the congestion window rwnd represents the receiver window.

What are the basics of BGP?

A pair of routers, known as BGP peers, exchange routing information over a semi-permanent TCP port connection called a BGP session. To begin a BGP session a router will send an OPEN message to another router. Then the sending and receiving router will send each other announcements from their individual routing tables. A BGP session between a pair of routers in two different ASes is called external BGP (eBGP) session, and a BGP session between routers that belong to the same AS is called internal BGP (iBGP) session.

What is the end-to-end (e2e) principle?

A principle that suggests the network core should be simple and minimal, while the end-systems should carry the intelligence.

What tasks occur in a router?

A router has input links and output links and its main task is to switch a packet from an input link to the appropriate output link based on the destination address.

How does a router use the BGP decision process to choose which routes to import?

A router receives incoming BGP messages and processes them. It applies the import policies to exclude routes entirely from further consideration. Then the router implements the decision process to select the best routes that reflect the policy in place. The new selected routes are installed in the forwarding table. Finally, the router decides which neighbors to export the route to, by applying the export policy.

Explain how TCP CUBIC works.

Aggressive scale up, instead of Additive Increase, up to the previous Wmax where packet loss was experienced, then slows down, if no loss is experienced, it scales up again. TCP CUBIC is RTT-fair because the scaleup time is based on the time elapsed since the last loss event and instead of the usual ACK-based timer used in TCP Reno.

What is an example of a link state routing algorithm?

An example of a link state routing algorithm is Dijkstra's algorithm.

Provide examples of popular protocols at each layer of the five-layered Internet model.

Application Layer - HTTP, SMTP, FTP, DNS Transport Layer - TCP, UDP Network Layer - IP Protocol, Routing Protocol Data Link Layer - Ethernet, Wifi, PPP Physical Layer - twisted pair copper wire, coaxial cable, single mode fiber optics

What is end-to-end congestion control?

As opposed to the previous approach, the network here does not provide any explicit feedback about congestion to the end hosts. Instead, the hosts infer congestion from the network behavior and adapt the transmission rate. This largely aligns with the end-to-end principle adopted in the design of the networks

Explain TCP throughput calculation.

BW < MSS/RTT * 1/sqrt(p) BW == Bandwidth MSS == Maximum Segment Size RTT == Round Trip Time P == probability loss (the network delivers 1 out of every p consecutive packets followed by a single packet loss).

What are the benefits of variable-stride versus fixed-stride multibit tries?

By varying the strides we could make our prefix database smaller, and optimize for memory. Some key points about fixed-stride trie: 1. Every element in a trie represents two pieces of information: a pointer and a prefix value. 2. The prefix search moves ahead with the preset length in n-bits (3 in this case) 3. When the path is traced by a pointer, we remember the last matched prefix (if any). 4. Our search ends when an empty pointer is met. At that time, we return the last matched prefix as our final prefix match. Some key points about variable stride: 1. Every node can have a different number of bits to be explored 2. The optimizations to the stride length for each node are all done in pursuit of saving trie memory and the least memory access 3. An optimum variable stride is selected by using dynamic programming

How does a route server work?

Collects and shares routing information from its peers or participants that connects with Executes its own BGP decision process and also re-advertise the resulting information (I.e. best route selection) to all RS's peer routers.

Describe the two types of multiplexing/demultiplexing.

Connectionless (UDP): The identifier of a UDP socket is a two-tuple that consists of a destination IP address and a destination port number. The UDP headers of a transport-layer segment include the source port and the destination port (No IP address, that is used in the network layer). When multiplexing, a sender host takes a message from the application layer, appends the UDP headers (source port & destination port) to form a segment and forwards it to the network layer. This is encapsulation. When demultiplexing, the transport layer at the receiving host identifies the correct socket by looking at the destination port in the incoming segment. Note: the host will forward the segments to the same destination process via the same destination socket, even if the segments are coming from different source hosts and/or different source port numbers Connection oriented (TCP): The identifier of a TCP socket is a four-tuple that consists of the source IP address and port number, and the destination IP address and port number. The TCP headers of a transport-layer segment include the source port and the destination port (No IP address, that is used in the network layer), and other bits (like a special connection-establishment bit). A connection is first established before client & server exchange data.

Explain Multiplicative Decrease (AIMD) in the context of TCP.

Cuts the congestion window in half after a packet is lost to reduce network congestion When the TCP sender detects that a timeout occurred, then it sets the CongestionWindow (cwnd) to half of its previous value. This decrease of the cwnd for each timeout corresponds to the "multiplicative decrease" part of AIMD. For example, suppose the cwnd is currently set to 16 packets. If a loss is detected, then cwnd is set to 8. Further losses would result to the cwnd to be reduced to 4 and then to 2 and then to 1. TCP Reno uses two types of packet loss detection as a signal of congestion. 1. First is the triple duplicate ACKs and is considered to be mild congestion. In this case, the congestion window is reduced to half of the original congestion window. 2. The second kind of congestion detection is timeout i.e. when no ACK is received within a specified amount of time. It is considered a more severe form of congestion, and the congestion window is reset to the Initial Window.

How does an AS determine what rules to import/export?

Deciding which routes to advertise is a policy decision and it is implemented through route filters; route filters are essentially rules that determine which routes an AS will allow to advertise to other neighboring ASes.

Convert between different prefix notations (dot-decimal, slash, and masking).

Dot decimal: e.g. of 16-bit prefix: 132.234 Slash notation: Standard notation: A/L (where A=Address, L=Length) e.g.: 132.238.0.0/16 Masking: We can use a mask instead of the prefix length. e.g.: The Prefix 123.234.0.0/16 is written as 123.234.0.0 with a mask 255.255.0.0

How is encapsulation used in a layered model?

During encapsulation, each layer builds a protocol data unit (PDU) by adding a header and optionally a trailer, both of which contain control information to the PDU from the layer above.

What is the main idea behind distance vector routing algorithm?

Each node maintains its own distance vector, with the costs to reach every other node in the network. The neighboring nodes exchange their distance vectors to update their own view of the network. The DV routing algorithm is: iterative (the algorithm iterates until the neighbors do not have new updates to send to each other) asynchronous (the algorithm does not require the nodes to be synchronized with each other) distributed (nodes send information to one another, calculations are not happening in a centralized manner). based on the Bellman Ford Algorithm.

Walk through an example of the distance vector algorithm.

Each node x updates its own distance vector using the Bellman Ford equation: Dx(y) = minv{c(x,v) + Dv(y)} for each destination node y in the network. A node x, computes the least cost to reach destination node y, by considering the options that it has to reach y through each of its neighbor v. So node x considers the cost to reach neighbor v, and then it adds the least cost from that neighbor v to the final destination y. It calculates that quantity over all neighbors v and it takes the minimum.

Explain the Spanning Tree Algorithm.

Find the shortest path to the root for each node in a graph. In the initiation, each node tells all other nodes that it is the root. Each node takes all messages from surrounding nodes and decides the root and the path to root based on: 1. Node ID - The root of the configuration has a smaller ID 2. Distance to root node if the roots have equal IDs 3. Both roots IDs are the same and the distances are the same, then the node breaks the tie by selecting the configuration of the sending node that has with the smallest ID In addition, a node stops sending configuration messages over a link (port), when the node receives a configuration message that indicates that it is not the root, e.g. when it receives a configuration message from a neighbor that: a) either closer to the root, or b) it has the same distance from the root, but it has a smaller ID.

What is a slow start in TCP?

For new connections, to speed up the increase of the congestion window, the source host starts by setting cwnd to 1 packet and doubles it (exponential growth) after each RTT (Round Trip Time) until it reaches a slow start threshold, after which it starts using AIMD. For example, When it receives the ACK for this packet, it adds 1 to the current cwnd and sends 2 packets. Now when it receives the ACK for these two packets, it adds 1 to cwnd for each of the ACK it receives and sends 4 packets

What is hot potato routing?

Hot potato routing is a technique/practice of choosing a path within the network, by choosing the closest egress point based on intra domain path cost (Interior Gateway Protocol/IGP cost). Hot potato routing simplifies computations for the routers as they are already aware of the IGP path costs. It makes sure that the path remains consistent, since the next router in the path will also choose to send the packet to the same egress point. Hot potato routing also effectively reduces the network's resource consumption by getting the traffic out as soon as possible.

What is CIDR, and why was it introduced?

In the earlier days of the Internet, we used an IP addressing model based on classes (fixed length prefixes). With the rapid exhaustion of IP addresses, in 1993, the Classless Internet Domain Routing (CIDR) came into effect. CIDR essentially assigns IP addresses using arbitrary-length prefixes. CIDR has helped to decrease the router table size but at the same time it introduced us to a new problem: longest-matching-prefix lookup.

Walk through an example of the link state routing algorithm.

Initialization step: We note that the algorithm starts with an initialization step, where we initialize all the currently known least-cost paths from u to its directly attached neighbors. We know these costs because they are the costs of the immediate links. For nodes in the network that are not directly attached to u, we initialize the cost path as infinity. We also initialize the set N' to include only the source node u. Iteration step: After the initialization step, the algorithm follows with a loop that is executed for every destination node v in the network. At each iteration, we look at the set of nodes that are not included in N', and we identify the node (say w) with the least cost path from the previous iteration. We add that node w into N'. For every neighbor v of w, we update D(v) with the new cost which is either the old cost from u to v (from the previous iteration) or the known least path cost from source node u to w, plus the cost from w to v, whichever between the two quantities is the minimum. The algorithm exits by returning the shortest paths, and their costs, from the source node u to every other node v in the network.

The switching fabric moves the packets from input to output ports. What are the functionalities performed by the input and output ports?

Input ports: 1. The first function is to physically terminate the incoming links to the router. 2. Second, the data link processing unit decapsulates the packets. 3. Finally, the input ports perform the lookup function, they consult the forwarding table to ensure that each packet is forwarded to the appropriate output port through the switch fabric. Output ports: 1. An important function of the output ports is to receive and queue the packets which come from the switching fabric and then send them over to the outgoing link.

What is the EvoArch model?

It's an attempt to explain why some protocols survive and others die off. It can also be used to explain the staying power of older, suboptimal protocols. It looks at two things, the number of protocols in an upper layer that depend on a protocol and the amount of competition a protocol has in the same layer.

Explain Additive Increase (AIMD) in the context of TCP.

Linearly increases the number of packets sent until a packet is lost (timeout) The idea behind additive increase is to increase the window by one packet every RTT (Round Trip Time). So, in the additive increase part of the AIMD, every time the sending host successfully sends a cwnd number of packets it adds 1 packet to cwnd. Also, in practice, this increase in AIMD happens incrementally. TCP doesn't wait for ACKs of all the packets from the previous RTT. Instead, it increases the congestion window size as soon as each ACK arrives. In bytes, this increment is a portion of the MSS (Maximum Segment Size). Increment = MSS × (MSS / CongestionWindow)

What are 2 main challenges with BGP? Why?

Misconfiguration and faults. A possible misconfiguration or an error can result in an excessively large number of updates which in turn can result in route instability, router processor and memory overloading, outages, and router failures

Is TCP fair in the case where two connections have different RTTs? Explain.

No, because the connections with the smaller RTT will be adjusting its congestion windows faster, because it relies on received ACKs.

What is the Open Shortest Path First (OSPF) protocol?

Open Shortest Path First (OSPF) is a routing protocol which uses a link state routing algorithm to find the best path between the source and the destination router. OSPF was introduced as an advancement of the RIP Protocol. Include authentication of messages exchanged between routers, the option to use multiple same cost paths, and support for hierarchy within a single routing domain.

What were original the design goals of BGP? What was considered later?

Original design goals of the BGP protocol: 1. Scalability: Manage the complications of the internet growth, while achieving convergence in reasonable timescales and providing loop-free paths. 2. Express routing policies: BGP has defined route attributes that allow ASes to implement policies (which routes to import and export), through route filtering and route ranking. Each ASes routing decisions can be kept confidential, and each AS can implement them independently of one another. 3. Allow cooperation among ASes: Each individual AS can make local decisions (which routes to import & export) while keeping these decisions confidential from other ASes. 4. Security

What kind of relationship does AS have with other parties?

Prevalent forms of business relationships between ASes: 1. Provider-Customer relationship (or transit): This relationship is based on a financial settlement which determines how much the customer will pay the provider, so the provider forwards the customer's traffic to destinations found in the provider's routing table (including the opposite direction of the traffic as well). 2. Peering relationship: In a peering relationship, two ASes share access to a subset of each other's routing tables. The routes that are shared between two peers are often restricted to the respective customers of each one. The agreement holds provided that the traffic exchanged between the two peers is not highly asymmetric.

Repeaters, hubs, bridges, routers operate on which layers?

Repeaters - Physical Layer Hubs - Physical Layer Bridges - Data Link Layer Routers - Network Layer

What is a packet for the transport layer called?

Segment

Explain the TCP connection tear down.

Step 1: Client sends special segment with no data: FIN = 1 Step 2: Server acknowledges the connection closes request: ACK Step 3: Server sends segment to indicate the connection is closed: FIN = 1 Step 4: Client sends acknowledgement to server - and another one some time later in case it is lost: ACK

Explain TCP three-way handshake?

Step 1: TCP Client sends special segment with no data - connection-request: SYN = 1 seq = client_seq (Client-generated initial sequence number, random value) Step 2: Server sends back a special "connection-granted" segment called SYNACK - and allocates buffer & resources: SYN = 1 ack = client_seq + 1 seq = server_seq (Server-generated initial sequence number, random value) Step 3: Client (receives SYNACK segment) sends acknowledgement and allocates buffer & resources: SYN bit set to 0 ack = server_seq + 1 seq = client_seq + 1

What is the Routing Information Protocol (RIP)?

The Routing Information Protocol (RIP) is based on the Distance Vector protocol. The metric for choosing a path could be shortest distance, lowest cost or a load-balanced path. Routing updates between neighbors are done periodically, using RIP advertisements which contain information about sender's distances to destination subnets. Each router maintains a routing table, which contains its own distance vector as well as the router's forwarding table.

Describe the relationships between ISPs, IXPs, and CDNs.

The basis of the internet ecosystem includes Internet Service Providers (ISPs), Internet Exchange Points (IXPs), and Content Delivery Networks (CDNs). 1. ISPs can be categorized into three tiers or types: access ISPs (or Tier-3), regional ISPs (or Tier-2) and large global scale ISPs (or Tier-1). Tier-1 ISPs operate at a global scale, and essentially form the "backbone" network over which smaller networks can connect, regional ISPs connect to Tier-1 ISPs, and smaller access ISPs connect to regional ISPs. 2. IXPs are interconnection infrastructures, which provide the physical infrastructure, where multiple networks (e.g. ISPs and CDNs) can interconnect and exchange traffic locally. As of 2019, there are approximately 500 IXPs around the world. 3. CDNs are networks that are created by content providers with the goal of having greater control of how the content is delivered to the end-users, and also to reduce connectivity costs. Some example CDNs include Google and Netflix. This ecosystem we just described, forms a hierarchical structure. There is competition at every level of the hierarchy. But, at the same time, competing ISPs need to cooperate to provide global connectivity to their respective customer networks. ISPs deploy multiple interconnection strategies depending on the number of customers in their network and also the geographical location of these networks.

What is BGP?

The border routers of the ASes use the Border Gateway Protocol (BGP) to exchange routing information with one another. In contrast, the Internal Gateway Protocols (IGPs), operate within an AS and they are focused on "optimizing a path metric" within that network. Example IGPs include Open Shortest Paths First (OSPF), Intermediate System - Intermediate System (IS-IS), Routing Information Protocol (RIP), E-IGRP.

What is the computational complexity of the link state routing algorithm?

The complexity of the algorithm is in the order of n squared O(n^2). The algorithm searches through n (n+1) / 2 nodes.

When does count-to-infinity problem occur in the distance vector algorithm?

The count-to-infinity problem occurs in the distance vector algorithm when the cost of a link increases and two nodes think they can get to a third node through each other based on their previous outdated costs. This link cost change took a long time to propagate among the nodes of the network

What is the purpose of the Spanning Tree Algorithm?

The goal is to have bridges select which ports to use for forwarding in order to eliminate loops.

What is the main idea behind a link state routing algorithm?

The link state routing algorithm looks to determine the shortest paths (determined by the link costs) between a source node and all other nodes in the network. The link costs and the network topology are known to all nodes.

What is selective ACKing?

The receiver acknowledges a correctly received packet even if it is not in order. The out-of-order packets are buffered until any missing packets have been received at which point the batch of the packets can be delivered to the application layer. The sender retransmits only those packets that it suspects were not received. TCP would need to use a timeout as there is a possibility of ACKs getting lost in the network.

What is multiplexing, and why is it necessary?

The sending host will need to gather data from different applications (through different ports), and encapsulate each data chunk with header information (that will later be used in demultiplexing) to create segments, and then forward the segments to the network layer. We refer to this job as multiplexing 1. Multiplexing is the functionality by which multiple applications in the same host can use the network simultaneously. It is provided by the transport layer. 2. Multiplexing is needed to route the traffic coming into the host to the correct application (via sockets). 3. Multiplexing uses sockets (transport protocol, IP address, port) to identify which application (on the local host) is listening to which remote application.

What is Stop and Wait ARQ?

The simplest way to implement ARQ, the sender sends a packet and waits for its acknowledgement from the receiver. The trick is to determine the timeout, too small and you have too many retransmissions, too large, and you add delays. Has a low performance.

How does poison reverse solve the count-to-infinity problem?

The way it works is that a node a, that uses node b to get a node c, will tell node b that the cost for its path to node c is infinity (Da(c)=infinity). Node b assumes that node a has no path to node c except through node b, so it will never send packets to node c via node a. Poison reverse helps prevent the count-to-infinity problem only for 2 nodes, it does not solve a general count to infinity involving 3 or more nodes that are not directly connected.

Name 4 takeaway observations around network traffic characteristics. Explain their consequences.

These challenges revolve around lookup speed, memory, and update time: Measurement studies on network traffic had shown a large number (in the order of hundred thousands, 250,000 according to a measurement study in the earlier days of the Internet) of concurrent flows of short duration. This already large number has only been increasing. This has a consequence that a caching solution would not work efficiently. The important element while performing any lookup operation is how fast it is done (lookup speed). A large part of the cost of computation for lookup is accessing memory. An unstable routing protocol may adversely impact the update time in the table: add, delete or replace a prefix. Inefficient routing protocols increase this value up to additional milliseconds. An important trade-off is memory usage. We have the option to use expensive fast memory (cache in software, SRAM in hardware) or cheaper but slower memory (e.g., DRAM, SDRAM)

What are the similarities between the OSI model and the five-layered Internet model?

They both include Application, Transport, Network, Link, and Physical Layer

Explain the forwarding (or switching) function of a router.

This is the router's action to transfer a packet from an input link interface to the appropriate output link interface. Forwarding takes place at very short timescales (typically a few nanoseconds), and is typically implemented in hardware.

What are the differences between UDP and TCP?

UDP Connectionless (no three way handshake), Unreliable (Best effort, no delivery guarantee, no congestion control). Provides very basic functionality and relies on the application-layer to implement the remaining. Offers less delays and better control over sending data. No congestion control or similar mechanisms No connection management overhead The UDP header is 64 bits long, composed of: Source port, destination port Length (of UDP segment, header + data) Checksum (1s complement of the sum of: source port, destination port, length and application data). TCP Connection oriented Reliable (TCP guarantees an in-order delivery of the application-layer data without any loss or corruption), flow control, congestion control.Provides some strong primitives with a goal to make end-to-end communication more reliable and cost-effective.

When would an application layer protocol choose UDP over TCP?

UDP: Highest throughput, more control when sending data, for applications more sensitive to delays, but can handle data loss. Ex. App layer protocols: NFS, SNMP, RIP, DNS, streaming data, internet telephony TCP: Delivery guarantee Ex. App layer protocols: SMTP, HTTP, FTP, streaming data, internet telephony

Why do we need multibit tries?

Unibit trie requires a large number of memory accesses for lookup.

What are the examples of a violation of e2e principle?

Violation of e2e principle refers to scenarios where it is not possible to implement a functionality entirely at the end host such as: 1. Firewalls 2. Traffic Filters 3. Network Address Translation

What is prefix expansion, and why is it needed?

We expand a given prefix to more prefixes. We ensure that the expanded prefix is a multiple of the chosen stride length. At the same time we remove all lengths that are not multiples of the chosen stride length. We end up with a new database of prefixes, which may be larger (in terms of actual number of prefixes) but with fewer lengths. So, the expansion gives us more speed with an increased cost of the database size. When we expand our prefixes, there may be a collision, i.e. when an expanded prefix collides with an existing prefix. In that case the expanded prefix gets dropped.

What is the difference between the forwarding and routing?

We refer to forwarding as the action of transferring a packet from an incoming link to an outgoing link within a single router. By routing we refer to how routers work together using routing protocols to determine the good paths over which the packets travel from the source to the destination node.

What is network-assisted congestion control?

We rely on the network layer to provide explicit feedback to the sender about congestion in the network. For instance, routers could use ICMP source quench to notify the source that the network is congested. However, under severe congestion, even the ICMP packets could be lost, rendering the network feedback ineffective

How does a bridge "learn"?

When the bridge receives any frame this is a "learning opportunity" to know which hosts are reachable through which ports. This is because the bridge can view the port over which a frame arrives and the source host.

Is TCP fair in the case two where connections have the same RTT? Explain.

Yes, because both connections will be adjusting their congestion windows at a similar pace.

What is a bridge?

a device with multiple inputs/outputs that transfers frames from an input to one (or multiple) outputs. Note: when it connects to LAN it fails if the network topology results in loops (cycles).

What are sockets?

an endpoint for sending or receiving communication over a network. Sockets are the interface between the application and transport layers.

What is an IXP?

are physical infrastructures that provide the means for ASes to interconnect and directly exchange traffic with one another. 1. The ASes that interconnect at an IXP are called participant ASes. 2. The physical infrastructure of an IXP is usually a network of switches that are located either in the same physical location, or they can be distributed over a region or even at a global scale. 3. Typically, the infrastructure has fully redundant switching fabric that provides fault-tolerance, and the equipment is usually located in facilities such as data centers to provide reliability, sufficient power and physical security. 4. The exchange of routes across the IXP is via BGP only.

What is the difference between iBGP and eBGP?

eBGP is used for sessions between border routers of neighboring ASes and iBGP is used for sessions between internal routers of the same AS.

What is encapsulation?

encapsulation is a method of designing modular communication protocols in which logically separate functions in the network are abstracted from their underlying structures by inclusion or information hiding within higher-level objects.

What are the differences between the OSI model and the five-layered Internet model?

five-layer stack's Application Layer includes Presentation Layer and Session Layer, OSI differentiates Application, Presentation, and Session Layers

What is the difference between iBGP and IGP-like protocols (RIP or OSPF)?

iBGP is not another IGP-like protocol (e.g. RIP or OSPF). IGP-like protocols are used to establish paths between the internal routers of an AS based on specific costs within the AS. In contrast, iBGP is only used to disseminate external routes within the AS.

Explain a round in the EvoArch model.

is a discrete-time model that is executed over rounds: 1. Add random nodes in different layers 2. Make connections to lower level nodes based on generality probability 3. Update the node evolutionary values 4. Remove nodes that fall below a certain threshold

What is an AS?

is a group of routers (including the links among them) that operate under the same administrative authority. Each AS implements its own set of policies, makes its own traffic engineering decisions and interconnection strategies, and also determines how the traffic leaves and enters the network. Examples of AS can be ISPs and CDNs.

What is transmission control and why do we need to control it?

is a mechanism in the transport layer to control the transmission rate. It is used to determine and adapt the transmission rate given the changing host and network conditions. UDP lets the application developers implement the mechanisms for transmission control, while TCP handles it for the user, and deals with issues like fairness in using the network.

What is Automatic Repeat Request or ARQ?

is a mechanism used in the transport layer to ensure reliability. If the sender has not received an acknowledgement from the remote host regarding a specific segment in a given period of time, it will automatically resend it.

What is flow control and why do we need to control it?

is a mechanism used to dynamically control the sender's transmission rate based on the receivers' buffer availability (called receive window) to protect the receiver's buffer. This avoids overflowing the receiver's buffer.

What is congestion control?

is a mechanism used to dynamically control the sender's transmission rate to avoid congestion in the network (longer queues, packet drops, etc.).

What is fast retransmit?

occurs when the sender retransmits a segment that has not yet timed out, but for which it has received 3 duplicate ACKs

What does the transport layer provide?

provides an end-to-end connection between two applications that are running on different hosts (on the same or different networks).

What are advantages of a layered architecture?

scalability, modularity and the flexibility to add or delete components which makes it easier overall for cost-effective implementations.

What is a distributed algorithm?

sub-type of parallel algorithm, typically executed concurrently, with separate parts of the algorithm being run simultaneously on independent processors, and having limited information about what the other parts of the algorithm are doing.

What is Go-back-N?

the receiver notifies the sender of a missing packet, by sending an ACK for the most recently received in-order packet. The sender would then send all packets from the most recently received in-order packet, even if some of them had been sent before. The receiver can simply discard any out-of-order received packets. A single packet error can cause a lot of unnecessary retransmissions. To address this, the sender can send at most N segments without waiting for acknowledgements, typically referred to as the window size. As it receives acknowledgement from the receiver, it is allowed to send more packets based on the window size.


Related study sets

Macroeconomics- Ch. 12 Aggregate Demand and Aggregate Supply

View Set

Electronic Configuration (Chem 101)

View Set

Excelsior College Lifespan 1 Exams

View Set