Introduction to Network Protocols Kang Li

23
CSx760 Computer Networks 1 Introduction to Network Protocols Kang Li

description

Introduction to Network Protocols Kang Li. Outline. Administrative trivia’s TA Class Account [email protected] TA Individual Contact Information Arsham Mesbah Yingfeng Wang What is a network protocol?. What is a Network Protocol?. - PowerPoint PPT Presentation

Transcript of Introduction to Network Protocols Kang Li

Page 1: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 1

Introduction to Network Protocols

Kang Li

Page 2: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 2

Outline

Administrative trivia’s TA Class Account

[email protected]

TA Individual Contact Information Arsham Mesbah <[email protected]> Yingfeng Wang <[email protected]>

What is a network protocol?

Page 3: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 3

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.

Page 4: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 4

The Protocol Stack and Ways to Traverse It

Protocol stack collection of protocols

implementing a series of layers

Traverse Bottom-up Top-down

Page 5: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 5

Internet

Top-down by examples

Your computer www.google.com?

What happens when you type in a web page

Page 6: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 6

Application Layer

Your computer

Turn the typed in URL into HTTP Get Request

Get http://www.google.com HTTP 1.1Host: www.google.comConnection: keep-alive…

Page 7: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 7

Application Layer (cont.)Finding the right IP address: DNS

Local Domain Name Server

(129.95.50.2)

What’s the IP address for www.google.com?

Your computer(129.95.50.53)

Oh, it is 216.239.53.100

What if the local DNS server doesn’t know?

Where is www.google.com?

Page 8: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 8

Transport Layer (TCP)

Your computer

Break message into packets (TCP segments),and deliver them (in order and reliably)

Get http://www.google.com HTTP 1.1Host: www.google.comConnection: keep-alive…

Get htt1p://ww2

w.goog3

Page 9: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 9

Network Layer (IP)

Address each packet so that it can traverse the network from the sender to the destination.

Get htt1216.239.51.100 128.192.4.122

Your computer(128.192.4.122)

www.google.com(216.239.51.100)

Destination source data

Page 10: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 10

Network Layer (cont.)Getting to the Campus backbone (static routing)

Local router

(128.192.4.1)

Please send my packet to 216.239.51.100

Your computer(128.192.4.122)

UGA

Default route

Page 11: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 11

Network Layer (cont.)Getting to the Internet (intra-domain routing)

UGA Campus Network

Peach Net

CS department

Each router forward packets toward the destination

Page 12: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 12

Level3

Network Layer (cont.)Getting through the Internet (inter-domain routing)

Qwest

Sprint

Exodus

PeachNet

Page 13: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 13

Link Layer

Your computer(128.192.4.122)

UGA

Hardware Address (08:00:20:9D:01:1E)

Hardware Address(00:03:E4:3D:A8:00)

Local router

(128.192.4.122)

Address each IP packet with hardware address so that it be deliver to the next hop

IP PacketDst MAC Src MAC

How to know the next hop’s hardware address?

Page 14: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 14

Link and Physical Layer

OC-3

Page 15: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 15

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”

Page 16: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 16

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 …

Page 17: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 17

What if the Data gets Lost?

InternetGET index.html

Problem: Lost Data

InternetGET index.html

Solution: Timeout and Retransmit

GET index.htmlGET index.html

Page 18: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 18

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

Page 19: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 19

Problem: Out of Order

What if the Data is Out of Order?

GETx.thindeml

GET x.thindeml

Solution: Add Sequence Numbers

GET index.html

ml 4 inde 2 x.th 3 GET 1

Page 20: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 20

What if receiver has no resources (flow control)?

InternetPUT remix.mp3

Problem: Overflowing receiver buffers

Internet

Solution: Receiver advertised window

PUT remix.mp3

16KB free

Page 21: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 21

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

Page 22: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 22

What if the Data gets Corrupted?

InternetGET windex.htmlGET index.html

Problem: Data Corruption

Solution: Add a checksum

0,9 9 6,7,8 21 4,5 7 1,2,3 6X

Page 23: Introduction to Network Protocols Kang Li

CSx760 Computer Networks 23

Questions?