Вы находитесь на странице: 1из 4

CS 4450 Simple Study Guide

I. Overview
a. The goal of networking is to send data from point A to point B.
b. To send data, we need a medium through which A and B can transfer and receive
data.
c. We can think of this medium as a pipe

d. Bandwidth = width of the pipe = the number of bits you can send per units time
e. Latency = length of pipe = time it takes for a bit to reach the other end of the pipe
f. This gives us two metrics by which we describe the time it takes for data to be sent:
i. Transmission Delay = packet size / bandwidth
1. Time it takes to push all bits of a packet onto the link
ii. Propagation Delay = length of pipe / speed of propagation
1. Time it takes to move a single bit from one end of the pipe to the
other

g. In general, there are multiple pipes connecting multiple users.

h. If C cannot send data as fast as it is receiving it, then it must start queuing packets.

i. This causes congestion.


ii. Queuing Delay: Time to transmit all packets in front of queue.

II. Sharing the Network


a. Circuit Switching
i. Reserve path and resources before sending the data
ii. Pros: predictable performance, reliable delivery, simple forwarding
iii. Cons: resource underutilization (connection set up overheads)
1. Someone might send data that doesn’t take up the total bandwidth,
thereby wasting resources.
b. Packet Switching
i. On-demand reservation, packets carry data and header information
ii. Efficient resource utilization
iii. Unpredictable performance, header overhead, complex forwarding, a best
effort protocol.

III. Layering
a. We divide the task of data delivery into modules.
i. Physical: bits on a wire/medium
ii. Data-Link: deliver packets to host across a local network
iii. Network: deliver packets to host across networks
iv. Transport: deliver reliably to the correct process
v. Application: do something with the data

IV. Data-Link
a. Deals with how to exchange data within a local network
i. Point-to-point: dedicated pairwise communication
ii. Broadcast: shared wire or medium
b. The end host has a unique name: MAC Address. This is used as an identifier.
c. Broadcast Medium:
i. Encode destination name (i.e. MAC Address) in sent packet.
ii. Send the packet to every host.
iii. If the destination name doesn’t match the host’s, the host discards it.
iv. This can cause collisions (sending packets at the same time).
d. CSMA/CD: Carried Sense Multiple Access Collision Detection
i. Continuously listen to the channel, and send if it’s idle.
ii. Listen while transmitting
1. If there’s a collision, send a jam signal and abort.
iii. After a wait time chosen from a set of {0, 1, …, 2^k-1} (for k collisions),
attempt a retransfer. (exponential back off time)
e. Drawbacks of CSMA/CD:
i. Imposes a restriction on the frame size and network length
ii. The Transmission Time has to be greater than 2 * Propogation Delay, the
latter of which is the worst time to receive a jamming signal.
iii. Increasing bandwidth decreases the transmission time, meaning the
propagation delay decreases as well. This means the network length
becomes very small, which isn’t good if we want to send data across large
distances.
f. Point-to-Point Medium
i. Allows for concurrent communication with no collisions
ii. There are no constraints on the link length and frame size
iii. Scalable
iv. Switched Ethernet
1. A switch maintains a forwarding table: destination address, port to
forward to
2. On receiving a packet P:
a. Check FT for P’s DA
b. If present, forward
c. Else, broadcast P *
d. Add entry in FT if not already present
3. *: there might be loops if we broadcast. So, we must build a
spanning tree, since there will be no cycles. This leads us to the
Spanning Tree Protocol.

V. Spanning Tree Protocol:


a. Message Format: (Y, d, X): X advertises a distance of d for Y
b. Round 1: Each switch advertises (X, 0, X) to the neighbors
c. Switches update their views each round
i. If a node receives message (Y, d, Z), check’s Y’s id
ii. If Y’s id is smaller than the current root, update
d. Switches compute distance from root
i. Add 1 to shortest distance received from neighbor
e. Send message (Y, d+1, X) if anything has changed (root or shortest distance)

VI. Network
a. Deals with sending data across networks, i.e. routing amongst networks.
b. Deals with routing tables and routers: table has a destination address and port to
forward field.
c. We have two protocols:
i. Link State protocol
1. Every router knows its local state
2. Each router floods information (LSA) to everyone
3. Each node has the entire topology of the graph
4. Can find shortest distances using a classic shortest path algorithm
ii. Distance Vector protocol
1. Makes use of Bellman Ford algorithm to compute distances in
distributed manner.
2. Count to infinity problem
a. If a failure occurs, it might be the case a node advertises a
distance to its next hop node.
b. This causes an incremental update of distances that might
extend to infinity
c. To fix this, do not advertise to a next hop (split horizon)
d. Poisoned Reverse: send oo to neighbor you go through for
path. This optimizes the protocol.

VII. IP Addressing
a. Analogy: Company
i. CEOs at top, interns at the bottom
ii. CEO is not expected to know everyone’s names, just his direct subordinates
iii. Example
1. CEO: 128.0.0.0/8
a. First 8 bits identify the CEO
2. Manager: 128.64.0.0/16
a. First 16 bits identify the Manager
3. Leader: 128.64.15.0/24
a. First 24 bits identify the Leader
4. Intern: 128.64.15.1
a. Identifier for the intern

Вам также может понравиться