CSx760 Computer Networks1 Introduction to Network Protocols Kang Li
CSx760 Computer Networks2 Outline Administrative trivia’s TA Class Account TA Individual Contact Information Arsham Mesbah Yingfeng Wang What is a network protocol?
CSx760 Computer Networks3 What is a Network Protocol? A network protocol is about Format Data Format Routine (Action) Format A network protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.
CSx760 Computer Networks4 The Protocol Stack and Ways to Traverse It Protocol stack collection of protocols implementing a series of layers Traverse Bottom-up Top-down
CSx760 Computer Networks5 Internet Top-down by examples Your computerwww.google.com ? What happens when you type in a web page
CSx760 Computer Networks6 Application Layer Your computer Turn the typed in URL into HTTP Get Request Get HTTP 1.1 Host: Connection: keep-alive …
CSx760 Computer Networks7 Application Layer (cont.) Finding the right IP address: DNS Local Domain Name Server ( ) What’s the IP address for Your computer ( ) Oh, it is What if the local DNS server doesn’t know? Where is
CSx760 Computer Networks8 Transport Layer (TCP) Your computer Break message into packets (TCP segments), and deliver them (in order and reliably) Get HTTP 1.1 Host: Connection: keep-alive … Get htt1 p://ww2 w.goog3
CSx760 Computer Networks9 Network Layer (IP) Address each packet so that it can traverse the network from the sender to the destination. Get htt Your computer ( ) ( ) Destination source data
CSx760 Computer Networks10 Network Layer (cont.) Getting to the Campus backbone (static routing) Local router ( ) Please send my packet to Your computer ( ) UGA Default route
CSx760 Computer Networks11 Network Layer (cont.) Getting to the Internet (intra-domain routing) UGA Campus Network Peach Net CS department Each router forward packets toward the destination
CSx760 Computer Networks12 Level3 Network Layer (cont.) Getting through the Internet (inter-domain routing) Qwest Sprint Exodus PeachNet
CSx760 Computer Networks13 Link Layer Your computer ( ) UGA Hardware Address (08:00:20:9D:01:1E) Hardware Address (00:03:E4:3D:A8:00) Local router ( ) Address each IP packet with hardware address so that it be deliver to the next hop IP PacketDst MACSrc MAC How to know the next hop’s hardware address?
CSx760 Computer Networks14 Link and Physical Layer OC-3
CSx760 Computer Networks15 Summary of the Example Top-down Traverse of 5 layers Application: HTTP turn the typed in URL into Get Request Transport: TCP break message into segments, make in-order and reliable delivery Network: IP routing of datagram from source to destination Link: Ethernet/Wavelan data transfer between neighboring network elements Physical: bits “on the wire”
CSx760 Computer Networks16 What’s inside Network Protocols are about format and the order of messages exchanged. What are the challenge of designing protocols? Or, why some protocols are complicated? You need to know why a particular format or order is chosen. Here is the same example …
CSx760 Computer Networks17 What if the Data gets Lost? Internet GET index.html Problem: Lost Data Internet GET index.html Solution: Timeout and Retransmit GET index.html
CSx760 Computer Networks18 Problem: Packet size What if the Data Doesn’t Fit? On Ethernet, max IP packet is 1.5kbytes Typical web page is 10kbytes Solution: Fragment data across packets GETindex.html GET index.html
CSx760 Computer Networks19 Problem: Out of Order What if the Data is Out of Order? GETx.thindeml GET x.thindeml Solution: Add Sequence Numbers GET index.html ml4inde2x.th3GET1
CSx760 Computer Networks20 What if receiver has no resources (flow control)? Internet PUT remix.mp3 Problem: Overflowing receiver buffers Internet Solution: Receiver advertised window PUT remix.mp3 16KB free
CSx760 Computer Networks21 What if Network is Overloaded? Problem: Network Overload Short bursts: buffer What if buffer overflows? Packets dropped and retransmitted Sender adjusts rate until load = resources Solution: Buffering and Congestion Control
CSx760 Computer Networks22 What if the Data gets Corrupted? Internet GET windex.htmlGET index.html Problem: Data Corruption Solution: Add a checksum 0,996,7,8214,571,2,36 X
CSx760 Computer Networks23 Questions?