Review
description
Transcript of Review
![Page 1: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/1.jpg)
ReviewCS 3516 – Computer
Networks
![Page 2: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/2.jpg)
Protocol
• What does a network protocol do?
![Page 3: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/3.jpg)
Protocol
• What does a network protocol do?
• 1) define format• 2) order of msgs sent and received
among network entities• 3) actions taken on msg transmission,
receipt
![Page 4: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/4.jpg)
Home Access Networks
• What are some of the main differences between DSL and Cable for home network access?
![Page 5: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/5.jpg)
Home Access Networks
• What are some of the main differences between DSL and Cable for home network access?
• DSL– Uses existing telephone infrastructure– 1 Mbps up, 8 Mbps down– dedicated physical line
• Cable– Uses existing cable infrastructure– 2 Mbps up, 30 down– Shared access to headend
![Page 6: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/6.jpg)
Traversing the Core
• What are two fundamentally different ways of getting packets across the network core?
![Page 7: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/7.jpg)
Traversing the Core
• What are two fundamentally different ways of getting packets across the network core?
• Circuit switching– Call setup, dedicated resources, no
sharing• Packet switching
– No setup, resources used as needed and available, sharing
![Page 8: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/8.jpg)
Delay
• What are the four sources of delay in a network node?
![Page 9: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/9.jpg)
Delay
• What are the four sources of delay in a network node?
• dproc = processing delay• dqueue = queuing delay• dtrans = transmission delay• dprop = propagation delay
proptransqueueprocnodal ddddd
![Page 10: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/10.jpg)
Layering
• Why are networks composed of layers?• What are the layers in the Internet
Protocol stack?
![Page 11: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/11.jpg)
Layering
• Why are networks composed of layers?• What are the layers in the Internet
Protocol stack?
• Helps deal with complexity; modularization
• Application, transport, network, data-link, physical
![Page 12: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/12.jpg)
Security
• What are sources of malware over a network?
![Page 13: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/13.jpg)
Security
• What are sources of malware over a network?
• Trojan horse– Hidden part of some otherwise useful software
• Virus– infection by actively receiving object (e.g., e-mail
attachment); self-replicating• Worm
– infection by passively receiving, self replicating
![Page 14: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/14.jpg)
Architectures
• What is a hybrid architecture (in the context of this class)? Provide an example.
![Page 15: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/15.jpg)
Architectures
• What is a hybrid architecture (in the context of this class)? Provide an example.
• Combines Client-Server (i.e. centralized server for some functionality) and P2P (for exchange of information/data)
• Example: IM – server for login, help peers find each other, P2P for exchange of messages
![Page 16: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/16.jpg)
Process
• What is a process? Do pure P2P applications have server processes?
![Page 17: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/17.jpg)
Process
• What is a process? Do pure P2P applications have server processes?
• A process is a program running on a host
• Yes, P2P architectures still have server processes– Client process: process that initiates
communication– Server process: process that waits to be
contacted
![Page 18: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/18.jpg)
Transport Services to Application Layer
• What are the possible services that a Transport Layer provides?
![Page 19: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/19.jpg)
Transport Services to Application Layer
• What are the possible services that a Transport Layer provides?
• Data loss• Timing• Throughput• Security
![Page 20: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/20.jpg)
Persistent versus Non-Persistent HTTP
• What is the difference between a persistent versus a non-persistent HTTP connection?
![Page 21: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/21.jpg)
Persistent versus Non-Persistent HTTP
• What is the difference between a persistent versus a non-persistent HTTP connection?
Nonpersistent HTTP• At most one object is
sent over a TCP connection.
Persistent HTTP• Multiple objects can
be sent over single TCP connection between client and server.
![Page 22: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/22.jpg)
Cookies
• What is an HTTP cookie? What is it used for?
![Page 23: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/23.jpg)
Cookies
• What is an HTTP cookie? What is it used for?
• A header line in an HTTP request or response message that can be stored on a client browser
• Used to identify a client session at a browser since HTTP is effectively stateless
![Page 24: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/24.jpg)
Web Cache
• Why use a Web Cache?
![Page 25: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/25.jpg)
Web Cache
• Why use a Web Cache?
• Reduce response time for client request• Reduce traffic on an institution’s access
link
![Page 26: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/26.jpg)
DNS Hierarchy
• What is the DNS hierarchy? Why is DNS organized in a hierarchy instead of being centralized?
![Page 27: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/27.jpg)
DNS Hierarchy
• What is the DNS hierarchy? Why is DNS organized in a hierarchy instead of being centralized?
• Reasons– single point of failure, traffic volume,
maintenance doesn’t scale!
Root DNS Servers
com DNS servers org DNS servers edu DNS servers
poly.eduDNS servers
umass.eduDNS servers
yahoo.comDNS servers
amazon.comDNS servers
pbs.orgDNS servers
![Page 28: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/28.jpg)
P2P
• Broadly, when can P2P file distribution be faster than Client-Server file distribution?
![Page 29: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/29.jpg)
P2P
• Broadly, when is P2P file distribution efficient compared to Client-Server file distribution?
• When:– There are numerous clients– Server uplink capacity is the bottleneck– Clients have sufficient uplink capacity to
participate in distribution
![Page 30: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/30.jpg)
BitTorrent
• What is a tracker? What is a torrent?
![Page 31: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/31.jpg)
BitTorrent
• What is a tracker? What is a torrent?
tracker: tracks peers participating in torrent
torrent: group of peers exchanging chunks of a file
![Page 32: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/32.jpg)
What Messages are Exchanged by TCP During a Connection
Setup?
![Page 33: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/33.jpg)
What Messages are Exchanged by TCP During a Connection
Setup?
![Page 34: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/34.jpg)
What is Congestion in the Internet?
![Page 35: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/35.jpg)
What is Congestion in the Internet? What Happens?
![Page 36: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/36.jpg)
What is Congestion in the Internet? What Happens?
• Informally: “too many sources sending too much data too fast for network to handle”
• Different from flow control!– (sender won’t overflow receiver’s buffer by transmitting
too much, too fast)• Manifestations:
– Lost packets (buffer overflow at routers)– Long delays (queueing in router buffers)
![Page 37: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/37.jpg)
How Does TCP Determine Rate and Infer Congestion?
![Page 38: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/38.jpg)
How Does TCP Determine Rate and Infer Congestion?
• Decentralized: each TCP sender sets its own rate, based on implicit feedback: - ACK: segment received (a good thing!),
network not congested, so increase sending rate
- lost segment: assume loss due to congested network, so decrease sending rate
![Page 39: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/39.jpg)
What is “Additive Increase, Multiplicative Decrease” in Relation to TCP Congestion
Control?
![Page 40: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/40.jpg)
What is “Additive Increase, Multiplicative Decrease” in Relation to TCP Congestion
Control?• Linear Increase - For each “cwnd’s
worth” of packets successfully sent, increase cwnd by 1 packet
• Multiplicate Decrease - When loss, halve cwnd
![Page 41: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/41.jpg)
Is TCPSlow Start Really Slow?
![Page 42: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/42.jpg)
Is TCPSlow Start Really Slow?
• Every time an ACK arrives, cwnd is incremented
cwnd is effectively doubled per RTT “epoch”.
![Page 43: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/43.jpg)
What is the Difference between Forwarding and Routing
![Page 44: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/44.jpg)
What is the Difference between Forwarding and Routing
• forwarding: move packets from router’s input to appropriate router output
• routing: determine route taken by packets from source to destination
![Page 45: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/45.jpg)
What is an MTU? Why Does it Matter for the Network Layer?
![Page 46: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/46.jpg)
What is an MTU? Why Does it Matter for the Network Layer?
• MTU = Maximum Transmission Unit– largest
possible link-level frame
• IP datagrams larger than MTU are fragmented
reassembly
![Page 47: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/47.jpg)
What is DHCP?
![Page 48: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/48.jpg)
What is DHCP?
• DHCP: Dynamic Host Configuration Protocol
• Allows hosts to dynamically obtain its IP address from network server when it joins network– Plus first hop router– Plus name server
![Page 49: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/49.jpg)
Why NAT?
![Page 50: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/50.jpg)
Why NAT?• Motivation: local network uses just one IP
address as far as outside world is concerned:– Range of addresses not needed from ISP: just
one IP address for all devices– Can change addresses of devices in local
network without notifying outside world– Can change ISP without changing addresses of
devices in local network– Devices inside local net not explicitly
addressable, visible by outside world (a security plus)
![Page 51: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/51.jpg)
In Forwarding IP Datagrams, What Layer Does NAT Violate
and How?
![Page 52: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/52.jpg)
In Forwarding IP Datagrams, What Layer Does NAT Violate
and How?• Violates upper layer (Transport)
boundary• Modifies Port number
![Page 53: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/53.jpg)
What are “Global” Routing Algorithms Called? What are
“Decentralized” Routing Algorithms Called?
![Page 54: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/54.jpg)
What are “Global” Routing Algorithms Called? What are
“Decentralized” Routing Algorithms Called?
Global:• All routers have complete topology, link cost info• “link state” algorithmsDecentralized: • Router knows physically-connected neighbors, link costs
to neighbors• Iterative process of computation, exchange of info with
neighbors• “distance vector” algorithms
![Page 55: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/55.jpg)
Compare and Contrast LS vs. DV
![Page 56: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/56.jpg)
Compare and Contrast LS vs. DV
• DV– Exchange information with neighbors
when change in tables– Compute route based on distance to
neighbor plus neighbors estimate• LS
– Flood link information periodically– Compute route based on full topology
and link information
![Page 57: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/57.jpg)
What and Why Hierarchical Routing?
![Page 58: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/58.jpg)
What and Why Hierarchical Routing?
Scale: with 200 million destinations:• Can’t store all dest’s in routing tables!• Routing table exchange would swamp
links! Administrative autonomy• Internet = network of networks• Each network admin may want to
control routing in its own network
![Page 59: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/59.jpg)
What is a CRC?
![Page 60: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/60.jpg)
What is a CRC?
Cyclic Redundancy Check• View data bits, D, as a binary number• Choose r+1 bit pattern (generator), G • Goal: choose r CRC bits, R, such that
– <D,R> exactly divisible by G (modulo 2) – Receiver knows G, divides <D,R> by G.
• If non-zero remainder error detected!– Can detect all burst errors less than r+1 bits
• Widely used in practice (Ethernet, 802.11 WiFi)
![Page 61: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/61.jpg)
What are the 3 Broad Classes of MAC Protocols?
![Page 62: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/62.jpg)
What are the 3 Broad Classes of MAC Protocols?
Three broad classes:• Channel Partitioning
– Divide channel into smaller “pieces” (time slots, frequency)
– Allocate piece to node for exclusive use• Random Access
– Channel not divided, allow collisions– “Recover” from collisions
• Taking turns– Nodes take turns, but nodes with more to send can
perhaps take longer turns
![Page 63: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/63.jpg)
Why is ALOHA Inefficient? How to Fix in Wired Networks?
![Page 64: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/64.jpg)
Why is ALOHA Inefficient? How to Fix in Wired Networks?
• Empty slots and collisions• Can fix with:
– CA – Collision Avoidance – listen before transmit
– CD – Collisions Detection – stop transmitting upon hearing collision
![Page 65: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/65.jpg)
What Problem Does ARP Solve? And How?
![Page 66: Review](https://reader033.fdocuments.us/reader033/viewer/2022052702/5681688d550346895ddf0f06/html5/thumbnails/66.jpg)
What Problem Does ARP Solve? And How?
• How to determine MAC address of B knowing B’s IP address
• broadcasts ARP query packet, containing B's IP address – dest MAC address = FF-FF-FF-FF-FF-FF– all machines on LAN receive ARP query
• B receives ARP packet, replies to A with its (B's) MAC address– frame sent to A’s MAC address (unicast)
• A caches (saves) IP-to-MAC address pair in its ARP table until information becomes old (times out)