28
1 1 EE 122: Introduction To Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, and colleagues at Princeton and UC Berkeley 2 Some Questions & Answers • Q: Is the class full or can I enroll? • A: Class size: increased! Welcome to Daniel Killebrew, our new TA: • New section added: M 4-5PM, 299 Cory But not next week (holiday) Do attend one of the other sections next week (socket programming) • Q: Will the class be webcast? • A: No.

EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

1

1

EE 122: Introduction ToCommunication Networks

Fall 2007 (WF 4-5:30 in Cory 277)

Vern Paxson

TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortizhttp://inst.eecs.berkeley.edu/~ee122/

Materials with thanks to Jennifer Rexford, Ion Stoica,and colleagues at Princeton and UC Berkeley

2

Some Questions & Answers• Q: Is the class full or can I enroll?

• A: Class size: increased!Welcome to Daniel Killebrew,our new TA:

• New section added: M 4-5PM, 299 Cory–But not next week (holiday)–Do attend one of the other sections next week (socket

programming)

• Q: Will the class be webcast?

• A: No.

Page 2: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

2

3

Goals for Today’s Class

• Type of Networks–And the key concept of multiplexing

• What’s a Protocol?

4

What Global (non-digital)Communication Network Do You

Use Every Day?

Roughly speaking, how does it work?

Page 3: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

3

5

What’s Another Such NetworkThat You Use Every Day?

6

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Page 4: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

4

7

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

8

• Information transmitted by any node isreceived by every other node in the network– Examples?– Usually in LANs (Local Area Networks)

E.g., Ethernet (classical), WiFi E.g., lecture!

• What problems does this raise?• Problem #1: limited range.• Problem #2: privacy of communication• Problem #3: coordinating access to the shared

communication medium (Multiple AccessProblem)

Broadcast Communication Networks

Page 5: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

5

9

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Swit c he dComm un ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

10

• Information transmitted along a path ofintermediary nodes (“switches” or“routers”)

• Basic issue: how the switches figure outthe next hop along the path

Switched Communication Networks

Page 6: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

6

11

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Swit c he dComm un ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

Circ u it -Swit c he dComm un ic a t io nNe t wo rk

12

Circuit Switching (e.g., Phone Network)• Establish: source creates circuit to destination

– Nodes along the path store connection info– Nodes generally reserve resources for the connection– If circuit not available: “Busy signal”

• Transfer: source sends data over the circuit– No destination address, since nodes know path

• Teardown: source tears down circuit when done

Page 7: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

7

13

Circuit Switching• Node (switch) in a circuit switching network

incoming links outgoing linksNode

How does the node connect the incoming link tothe outgoing?

Telephone Network

• Alexander Graham Bell– 1876: Demonstrates the telephone at US

Centenary Exhibition in Philadelphia

Page 8: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

8

15

Circuit Switching With Human Operator

Telephone Network• Almon Brown Strowger (1839 - 1902)– 1889: Invents the “girl-less, cuss-less” telephone system

-- the mechanical switching system

Page 9: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

9

17

Timing in Circuit Switching

Host 1 Host 2Switch 1 Switch 2

time

18

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

time

Page 10: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

10

19

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

Transmission delay

time

20

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1

Transmission delay

time

Page 11: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

11

21

Timing in Circuit Switching

Circuit Establishment

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1propagation delay between Host 1 and Host 2

Transmission delay

time

22

Timing in Circuit Switching

Information

Circuit Establishment

Transfer

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1propagation delay between Host 1 and Host 2

Transmission delay

time

Page 12: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

12

23

Timing in Circuit Switching

Information

Circuit Establishment

Transfer

Circuit Teardown

Host 1 Host 2Switch 1 Switch 2

propagation delay between Host 1 and Switch1propagation delay between Host 1 and Host 2

Transmission delay

time

24

Circuit Switching• Node (switch) in a circuit switching network

incoming links outgoing linksNode

How do the black and orange circuits share theoutgoing link?

Page 13: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

13

25

Circuit Switching: Multiplexing a Link

• Time-division– Each circuit allocated

certain time slots

• Frequency-division– Each circuit allocated

certain frequencies

timefrequency

time

26

Time-Division Multiplexing/Demultiplexing

• Time divided into frames; frames into slots• Relative slot position inside a frame determines to which

conversation data belongs– E.g., slot 0 belongs to orange conversation

• Requires synchronization between sender andreceiver—surprisingly non-trivial!

• In case of non-permanent conversations– Need to dynamically bind a slot to a conversation– How to do this?

• If a conversation does not use its circuit the capacity is lost!

Frames

0 1 2 3 4 5 0 1 2 3 4 5Slots =

Page 14: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

14

27

5 Minute Break

Questions Before We Proceed?

28

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Swit c he dComm un ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

Circ u it -Swit c he dComm un ic a t io nNe t wo rk

Pa cke t -Swit c he dComm un ic a t io nNe t wo rk

Page 15: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

15

29

Packet Switching• Data sent as chunks of formatted bit-sequences (Packets)

• Packets have following structure:

Header and Trailer carry control information(e.g., destination address, checksum)

• Each packet traverses the network from node to nodealong some path (Routing) based on header info.

• Usually, once a node receives the entire packet, it stores it(hopefully briefly) and then forwards it to the next node(Store-and-Forward Networks)

Header Data Trailer (sometimes)

30

Packet Switching• Node in a packet switching network

incoming links outgoing linksNode

Memory

Page 16: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

16

31

Packet Switching: Multiplexing/Demultiplexing

• Data from any conversation can be transmitted at anygiven time– Single conversation can use the entire link capacity if it is alone

• How to tell them apart?– Use meta-data (header) to describe data

32

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Swit c he dComm un ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

Circ u it -Swit c he dComm un ic a t io nNe t wo rk

Pa cke t -Swit c he dComm un ic a t io nNe t wo rk

Da t a g ram Ne t wo rk

Page 17: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

17

33

Datagram Packet Switching• Each packet is independently switched–Each packet header contains full destination address

• No resources are pre-allocated (reserved) inadvance

• Leverages “statistical multiplexing” (or stat-muxing)–Essentially: “chances are good that packets from

different conversations won’t all arrive at the same time,so we can get by without enough capacity for all of themat their peak transmission rate”

–Assuming independence of traffic sources, can computeprobability that there is enough capacity

• Example: IP networks; postal system

34

Timing of Datagram Packet Switching

Packet 1

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

Page 18: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

18

35

Timing of Datagram Packet Switching

Packet 1

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

36

Packet 1

Packet 1

Timing of Datagram Packet Switching

Packet 1 processingdelay ofPacket 1 atNode 2

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

Page 19: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

19

37

Packet 1

Packet 2

Packet 3

Packet 1

Packet 2

Packet 3

Timing of Datagram Packet Switching

Packet 1

Packet 2

Packet 3

processingdelay ofPacket 1 atNode 2

Host 1 Host 2Node 1 Node 2

propagationdelay betweenHost 1 and Node 1

transmission time of Packet 1at Host 1

38

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

Page 20: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

20

39

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

40

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

Page 21: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

21

41

• Communication networks can be classified based onthe way in which the nodes exchange information:

Taxonomy of Communication Networks

Commun ic a t io nNe t wo rk

Swit c he dComm un ic a t io nNe t wo rk

Bro a d c a s tComm un ic a t io nNe t wo rk

Circ u it -Swit c he dComm un ic a t io nNe t wo rk

Pa cke t -Swit c he dComm un ic a t io nNe t wo rk

Da t a g ram Ne t wo rk

Virt ua l Circ u itNe t wo rk

A hybrid of circuits andpackets; headers include a

“circuit identifier” establishedduring a setup phase

42

Advantages of Circuit Switching• Guaranteed bandwidth

– Predictable communication performance– Not “best-effort” delivery with no real guarantees

• Simple abstraction– Reliable communication channel between hosts– No worries about lost or out-of-order packets

• Simple forwarding– Forwarding based on time slot or frequency– No need to inspect a packet header

• Low per-packet overhead– Forwarding based on time slot or frequency– No IP (and TCP/UDP) header on each packet

Page 22: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

22

43

Disadvantages of Circuit Switching• Wasted bandwidth

– Bursty traffic leads to idle connection during silent period– Unable to achieve gains from “statistical multiplexing”

• Blocked connections– Connection refused when resources are not sufficient– Unable to offer “okay” service to everybody

• Connection set-up delay– No communication until the connection is set up– Unable to avoid extra latency for small data transfers

• Network state– Network nodes must store per-connection information– Unable to avoid per-connection storage and state– This makes failures more disruptive!

44

Packet-Switching vs. Circuit-Switching• Critical advantage of packet-switching over circuit

switching: Exploitation of statistical multiplexing

• Another: since routers don’t know about individualconversations, when a router or link fails, it’s:Easy to fail over to a different path

• A third: easier for different parties to link their networkstogether because they’re not promising to reserveresources for one another

• However, packet-switching must handle congestion:– More complex routers– Harder to provide good network services (e.g., delay and

bandwidth guarantees)

• In practice, sometimes combined, e.g., IP over SONET

Page 23: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

23

45

Questions?

46

What Is A Protocol?

• A protocol is an agreement on how tocommunicate

• Includes syntax and semantics– How a communication is specified & structured

Format, order messages are sent and received– What a communication means

Actions taken when transmitting, receiving, or when a timerexpires

Page 24: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

24

47

Examples of Protocols in Human Interactions

• Telephone1. (Pick up / open up the phone.)2. Listen for a dial tone / see that you have service.3. Dial.4. Should hear ringing …5. Callee: “Hello?”6. Caller: “Hi, it’s Alice ….”

Or: “Hi, it’s me” (← what’s that about?)7. Caller: “Hey, do you think … blah blah blah …” pause8. Callee: “Yeah, blah blah blah …” pause

48

Examples of Protocols in Human Interactions

• Asking a question1. Raise your hand.2. Wait to be called on.

3. Or: wait for speaker to pause and vocalize

Page 25: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

25

49

Examples of Protocols in Human Interactions

• Expressing approvalfor a performance.1. Applause.

Who is this woman?

Why don’t her fansapplaud her performances?

2. Foot-stomping

3. The key: a protocolshould effectively enablecommunication.

50

Example: HyperText Transfer Protocol

GET /courses/archive/spring06/cos461/ HTTP/1.1Host: www.cs.princeton.eduUser-Agent: Mozilla/4.03CRLF

HTTP/1.1 200 OKDate: Mon, 6 Feb 2006 13:09:03 GMTServer: Netscape-Enterprise/3.5.1Last-Modified: Mon, 6 Feb 2006 11:12:23 GMTContent-Length: 21CRLFSite under construction

Request

Response

Page 26: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

26

51

Example: IP Packet

4-bitVersion

4-bitHeaderLength

8-bit Type ofService (TOS) 16-bit Total Length (Bytes)

16-bit Identification 3-bitFlags 13-bit Fragment Offset

8-bit Time to Live (TTL)

8-bit Protocol 16-bit Header Checksum

32-bit Source IP Address

32-bit Destination IP Address

Options (if any)

Payload

20-byte20-byteheaderheader

52

IP: “Best-Effort” Packet Delivery

• Datagram packet switching–Send data in packets–Header with source & destination address

• Service it provides:–Packets may be lost–Packets may be corrupted–Packets may be delivered out of order

source destination

IP network

Page 27: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

27

53

Example: Transmission Control Protocol

• Communication service– Ordered, reliable byte stream– Simultaneous transmission in both directions

• Key mechanisms at end hosts– Retransmit lost and corrupted packets– Discard duplicate packets and put packets in order– Flow control to avoid overloading the receiver buffer– Congestion control to adapt sending rate to network

load

source network destination

TCP connection

54

Protocol Standardization• Ensure communicating hosts speak the same

protocol– Standardization to enable multiple implementations– Or, the same folks have to write all the software

• Standardization: Internet Engineering Task Force– Based on working groups that focus on specific issues– Produces “Request For Comments” (RFCs)

Promoted to standards via rough consensus and running code– IETF Web site is http://www.ietf.org– RFCs archived at http://www.rfc-editor.org

• De facto standards: same folks writing the code– P2P file sharing, Skype, <your protocol here>…

Page 28: EE 122: Introduction To Communication Networksinst.eecs.berkeley.edu/~ee122/fa07/notes/02-Networks... · 2007-08-31 · 7.Caller: “Hey, do you think … blah blah blah …” pause

28

55

Summary

• Types of communication networks– Broadcast, circuit-switched, packet-switched– Advantages & disadvantages of each

• Protocols: agreement on how to communicate– For networks, often requires formal standardization

56

Next Lecture• Architecture, Layering, and the “End-to-End

Principle”

• Read 1.4 & 1.5 of Kurose/Ross

• Reminder: new section M 4-5, but doesn’t meetnext week

• Pick up class computer account forms

• Take the survey (http://tinyurl.com/2wynmu)ASAP and join the mailing list if you haven’talready