600 likes | 634 Views
Finals Review. Chapter 1. Internet Concepts. Applications, End-hosts, Routers, Switches, Communication Links Overall architecture How they are organized Network edge vs network core Circuit-switching vs packet switching FDM vs TDM Datagram vs Virtual Circuit network
E N D
Internet Concepts • Applications, End-hosts, Routers, Switches, Communication Links • Overall architecture • How they are organized • Network edge vs network core • Circuit-switching vs packet switching • FDM vs TDM • Datagram vs Virtual Circuit network • Both are forms of Packet switching • Statistical Multiplexing
Internet Concepts… • What is a protocol • Definition • Examples • 5 Layers of TCP/IP protocol stack • 7 Layers of OSI protocol stack • Encapsulation of packets
Types of Services • Connection-oriented vs Connectionless service • Reliable vs unreliable service • Byte-stream vs datagram delivery • Flow-control vs Congestion Control • In-order vs out-of-order (rather any-order) delivery • Quality-of-service vs best-effort delivery • Performance requirements: Bandwidth, Delay, Data loss rate
Types of delay • Queuing delay • Transmission delay • Propagation delay • Their formulas • Numerical problems • Should be able to solve, if you understand the basic concepts
Application Architectures • Client-Server model • Pure peer-to-peer model • Hybrid peer-to-peer model • Differences between them • Examples of each
Addressing • IP address • Binary vs Dotted decimal representation • Conversion between the two • Port numbers • Reserved vs unreserved ports
Sockets • Definition • Components of a socket • What constitutes a socket? • What constitutes a connection? • Half-association vs full-association
Application layer protocols • HTTP • General view of the architecture • HTTP servers design • Persistent vs. non-persistent HTTP • Persistent HTTP with and without pipelining • Don’t worry about memorizing syntax of protocol messages • But understand how the protocol works
Application layer protocols… • FTP • Protocol overview • Control vs Data connection • Why do we need two connections
Application layer protocols… • Email • Architecture overview • How email gets from one place to another • Difference between mailbox and message queues • Protocol overview • SMTP, POP3, IMAP, HTTP • How they differ • SMTP vs. HTTP • Push vs Pull architecture • Why is it so easy to send SPAM emails? • What is the main drawback of current architecture that lets this happen?
Domain Name System • Overview • What does it do? • How it works? • Why is it not centralized? • Root vs TLD vs Authoritative vs Local DNS servers • What’s the hierarchy? • Where does Local DNS server belong?
Domain Name System… • Iterative vs recursive queries • Pros and cons of each • DNS caching – how it helps? • Types of DNS records • How to insert new records into DNS
Socket API • Sequence of Socket API calls • At client and at server • For TCP and for UDP • How do you specify a server’s port number • How does a client get a port number?
Transport layer overview • What does it do? • Importance of sockets • Importance of port numbers • Reliable vs. unreliable delivery • Multiplexing and demultiplexing
UDP • Why is it needed at all? • How is a UDP socket identified • Is it a half or a full association? • UDP header components • Demultiplexing in UDP • Using single UDP socket to talk to multiple remote machines.
TCP • What services does it provide? • How is a TCP connection identified • Is it a half or a full association? • TCP header components • Demultiplexing in TCP • Using single UDP socket to talk to multiple remote machines.
Detecting errors • Checksum • What does it mean? • Does a correct checksum mean no errors? • How is it computed?
Reliable data transfers • Concept of Finite State Machines • States, Events, transitions, actions • Simple FSMs for Stop-and-Wait protocol at sender/receiver • With no errors • With bit errors • With packet losses
Pipelined RDT Protocols • Go-back-N • Selective Repeat • Sender/Receiver algorithms • Relationship between window size and sequence number range.
TCP • TCP services • Byte-based sequence number and acks • Estimating TCP’s • Round Trip Time • Timeout
TCP Reliable Data Transfer • Handling lost ACKs • Handling premature timeout • Use of Cumulative Acks • Fast Retransmit mechanism
TCP Flow Control • Receiver advertising spare room in receive window. • Sender limits unacked data to size of receive window
TCP Connection management • 3-way Handshake • SYN, ACK, SYN-ACK sequence • Closing a connection • FIN, ACK sequence
TCP Congestion Control (CC) • Causes and costs of congestion • End-to-end vs. Network Assisted CC • Defining loss event • Adjusting congestion window • AIMD • Slow start • Reaction to 3 duplicate ACKs • Reaction to Timeout • Why treat 3 and 4 differently?
TCP FairnessDelay Modeling • Definition of ‘fairness’ • Why is TCP called ‘fair’ ? • Impact of parallel TCP connections on fairness. • TCP delay modeling with Slow Start • Non-persistent HTTP • Persistent pipelined HTTP • Non-persistent HTTP with X parallel connections
Chapter 4 Network Layer
Basic concepts • Key network layer functions • Routing • Forwarding • Connection setup • in some networks like ATM • Routing vs. Forwarding • Distinction between services provided by Internet and ATM networks
Virtual Circuits Networks • Vs. Datagram Networks • Vs. Circuit-switched networks • Forwarding table • Structure • Maintenance • Switching mechanism • Signaling for VC setup
Datagram networks • Forwarding Table structure • Route Lookup mechanism • Longest prefix matching • Why Longest Prefix
Router Architecture • Input port • Functions • Switching Fabric • 3-types of fabrics • Memory, bus, crossbar • Advantages/Disadvantages of each • Output port • Queuing, Scheduling
Queue management • Input vs Output port queuing • Head-of-the-line (HOL) Blocking. • Origins of congestion • queuing delay and loss
IP datagram format IP protocol version number 32 bits total datagram length (bytes) header length (bytes) type of service head. len ver length for fragmentation/ reassembly fragment offset “type” of data flgs 16-bit identifier max number remaining hops (decremented at each router) upper layer time to live Internet checksum 32 bit source IP address 32 bit destination IP address upper layer protocol to deliver payload to E.g. timestamp, record route taken, specify list of routers to visit. Options (if any) data (variable length, typically a TCP or UDP segment) how much overhead with TCP? • 20 bytes of TCP • 20 bytes of IP • = 40 bytes + app layer overhead
Basic IP concepts • Fragmentation and Reassembly • IP Addresses • Notion of subnets • CIDR addresses • Why CIDR was adopted? • Hierarchical addressing • Route aggregation
Network Address Translation • How does it work? • Translation process • Translation table • Uses of NAT • Problems with NAT
ICMP, IPV6 • ICMP • Use • Location in protocol stack • How does traceroute work? • IPV6 • Main differences with IPv4 • Transitioning from IPV4 to IPV6 • Tunnelling
Routing Algorithms • Routing problem : finding the least-cost path • Global vs. decentralized routing • Static vs. dynamic routing • Link state vs. distance vector routing
Link State Routing • Dijkstra’s algorithm • How does it work? • Why is it the same as breadth-first search
Distance Vector Routing • Bellman-Ford Equation • Distance Vector Algorithm • Count-to-infinity problem • Good news vs. bad news • Poisoned reverse technique • Link State vs Distance Vector • Message complexity • Speed of convergence • Robustness
Hierarchical Routing • Autonomous systems • Scalability of routing • Administrative control • Inter vs Intra AS routing • Hot-potato routing
Routing Information Protocol (RIP) • Distance Vector protocol • Routing • Recovery from Failures • Implementation • How ‘routed’ works
OSPF • Link State routing • Djikstra’s algo • Route Advertisement exchange • Additional Features over RIP • Hierarchical OSPF
BGP • Intra-AS routing • What BGP advertisements mean • Criteria for route selection • Policy vs performance
Chapter 5 Data Link Layer
Data link layer services • Framing • Reliable delivery between adjacent nodes • Flow control • Error detection • Error correction • Half vs full-duplex transmission
Error Detection • As opposed to correction • Parity checking • Single bit parity • 2-Dimensional bit parity • CRC checksum • Advantages • How to compute
Multiple Access Protocols • Resolving contention on shared media • Types • Channel Partitioning • Random Access • Taking turns