230 likes | 370 Views
Introduction to Network Protocols Kang Li. Outline. Administrative trivia’s TA Class Account cs4760@odin.cs.uga.edu TA Individual Contact Information Arsham Mesbah <arsham@uga.edu> Yingfeng Wang <ywang802@gmail.com> What is a network protocol?. What is a Network Protocol?.
E N D
Introduction to Network ProtocolsKang Li CSx760 Computer Networks
Outline • Administrative trivia’s • TA Class Account • cs4760@odin.cs.uga.edu • TA Individual Contact Information • Arsham Mesbah <arsham@uga.edu> • Yingfeng Wang <ywang802@gmail.com> • What is a network protocol? CSx760 Computer Networks
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 Networks
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 Networks
Internet Top-down by examples What happens when you type in a web page Your computer www.google.com ? CSx760 Computer Networks
Application Layer Turn the typed in URL into HTTP Get Request Your computer Get http://www.google.com HTTP 1.1 Host: www.google.com Connection: keep-alive … CSx760 Computer Networks
Application Layer (cont.)Finding the right IP address: DNS Where is www.google.com? Local Domain Name Server (129.95.50.2) Your computer (129.95.50.53) What’s the IP address for www.google.com? Oh, it is 216.239.53.100 What if the local DNS server doesn’t know? CSx760 Computer Networks
3 w.goog 2 p://ww 1 Get htt Transport Layer (TCP) Break message into packets (TCP segments), and deliver them (in order and reliably) Your computer Get http://www.google.com HTTP 1.1 Host: www.google.com Connection: keep-alive … CSx760 Computer Networks
1 Get htt Network Layer (IP) Address each packet so that it can traverse the network from the sender to the destination. Your computer (128.192.4.122) www.google.com (216.239.51.100) data source Destination 216.239.51.100 128.192.4.122 CSx760 Computer Networks
UGA Network Layer (cont.)Getting to the Campus backbone (static routing) Local router (128.192.4.1) Your computer (128.192.4.122) Default route Please send my packet to 216.239.51.100 CSx760 Computer Networks
Network Layer (cont.)Getting to the Internet (intra-domain routing) Each router forward packets toward the destination Peach Net CS department UGA Campus Network CSx760 Computer Networks
Qwest Exodus Level3 Sprint PeachNet Network Layer (cont.)Getting through the Internet (inter-domain routing) CSx760 Computer Networks
UGA Link Layer Address each IP packet with hardware address so that it be deliver to the next hop Local router (128.192.4.122) Your computer (128.192.4.122) Dst MAC Src MAC IP Packet Hardware Address (00:03:E4:3D:A8:00) Hardware Address (08:00:20:9D:01:1E) How to know the next hop’s hardware address? CSx760 Computer Networks
Link and Physical Layer OC-3 CSx760 Computer Networks
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 Networks
What’s inside • Network Protocols are aboutformat 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 Networks
Solution: Timeout and Retransmit GET index.html GET index.html Internet GET index.html What if the Data gets Lost? Problem: Lost Data GET index.html Internet CSx760 Computer Networks
Solution: Fragment data across packets ml x.ht inde GET GET index.html What if the Data Doesn’t Fit? Problem: Packet size • On Ethernet, max IP packet is 1.5kbytes • Typical web page is 10kbytes CSx760 Computer Networks
Solution: Add Sequence Numbers ml 4 inde 2 x.th 3 GET 1 GET index.html What if the Data is Out of Order? Problem: Out of Order ml inde x.th GET GET x.thindeml CSx760 Computer Networks
Solution: Receiver advertised window PUT remix.mp3 Internet 16KB free What if receiver has no resources (flow control)? Problem: Overflowing receiver buffers PUT remix.mp3 Internet CSx760 Computer Networks
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 Networks
Solution: Add a checksum X 0,9 9 6,7,8 21 4,5 7 1,2,3 6 What if the Data gets Corrupted? Problem: Data Corruption GET index.html GET windex.html Internet CSx760 Computer Networks
Questions? CSx760 Computer Networks