lecture 2: layers and framing

20
Lecture 2: Layers and Framing CSE 123: Computer Networks Alex C. Snoeren DISCUSSION CANCELLED TODAY

Upload: others

Post on 08-Jan-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 2: Layers and Framing

Lecture 2:Layers and Framing

CSE 123: Computer NetworksAlex C. Snoeren

DISCUSSION CANCELLED TODAY

Page 2: Lecture 2: Layers and Framing

Our Problem● Communications is complicated

u Modulation and encoding bitsu Splitting sequences of bits into packetsu Fixing errorsu Controlling access to networku Routingu Recovering from lost messagesu Etc….

● Really hard to think about all of this and get it right● Not all applications need all of it● How to achieve interoperability?

CSE 123 – Lecture 2: Layers & Framing 2

Page 3: Lecture 2: Layers and Framing

Layering: A Modular Approach

● Sub-divide the problemu Each layer relies on services from layer below u Each layer exports services to layer above

● Interface between layers defines interactionu Hides implementation details (encapsulation)u Layers can change without disturbing other layers (modularity)

● Interface among peers in a layer is a protocolu If peers speak same protocol, they can interoperate

CSE 123 – Lecture 2: Layers & Framing 3

Page 4: Lecture 2: Layers and Framing

Key Design Decision● How do you divide functionality across the layers?

● End-to-end argument [Saltzer84]u Functionality should be implemented at a lower layer iff it can be correctly and

completely implemented thereu Incomplete versions of a function can be used as a performance enhancement, but

not for correctness● Early, and still relevant, example

u ARPAnet provided reliable link transfers between switchesu Was this enough for reliable communication?u No, packets could still get corrupted on host-switch link, or inside of the switchesu Hence, still need reliability at higher layers

CSE 123 – Lecture 2: Layers & Framing 4

Page 5: Lecture 2: Layers and Framing

Protocol Standardization● Communicating hosts speaking the same protocol

u Standardization to enable multiple implementationsu Or, the same folks have to write all the software

● Internet Engineering Task Forceu Based on working groups that focus on specific issuesu Produces “Request For Comments” (RFCs)

» Rough consensus and running code» After enough time passes, promoted to Internet Standards

● Other standards bodies existu ISO, ITU, IEEE, etc.

CSE 123 – Lecture 2: Layers & Framing 5

Page 6: Lecture 2: Layers and Framing

TCP/IP Protocol Stack

CSE 123 – Lecture 2: Layers & Framing 6

HTTP

TCP

IP

Ethernetinterface

HTTP

TCP

IP

Ethernetinterface

IP IP

Ethernetinterface

Ethernetinterface

SONETinterface

SONETinterface

host host

router router

Link Layer

Network Layer

Transport Layer

Application Layer

Page 7: Lecture 2: Layers and Framing

Encapsulation via Headers

● Typical Web packet

● Notice that layers add overheadu Space (headers), effective bandwidthu Time (processing headers, “peeling the onion”), latency

CSE 123 – Lecture 2: Layers & Framing 7

IP Hdr Payload (Web object)TCP Hdr HTTP HdrEthernet Hdr

Start of packet End of packet

datalink network transport application

Which header gets added first?

A. EthernetB. IPC. TCPD. HTTP

Page 8: Lecture 2: Layers and Framing

Data Link

Physical

Applications

The Hourglass Model

“Thin Waist”

FTP HTTP TFTPNV

TCP UDP

IP

NET1 NET2 NETn…

Internet Protocol Suite

CSE 123 – Lecture 2: Layers & Framing 8

Transport

Page 9: Lecture 2: Layers and Framing

Later: Phy/(MAC)Link layer● Signal encoding

u Encode binary data from source node into signals that physical links carryu Signal is decoded back into binary data at receiving nodeu Work performed by network adapter at sender and receiver

● Media accessu Arbitrate which nodes can send frames at any point in timeu Not always necessary; e.g. point-to-point duplex links

CSE 123 – Lecture 2: Layers & Framing 9

Page 10: Lecture 2: Layers and Framing

For now: (Data) Link Layer● Framing

u Break stream of bits up into discrete chunks

● Error handlingu Detect and/or correct errors in received frames

● Multiplexingu Determine appropriate destination for a given frameu Also not always required; again, point-to-point

CSE 123 – Lecture 2: Layers & Framing 10

Page 11: Lecture 2: Layers and Framing

Today’s Focus: Framing● Break down a stream of bits into smaller, digestible chunks called frames

● Allows the link to be sharedu Multiple senders and/or receivers can time multiplex the linku Each frame can be separately addressed

● Provides manageable unit for error handlingu Easy to determine whether something went wrongu And perhaps even to fix it if desired

CSE 123 – Lecture 2: Layers & Framing 11

Page 12: Lecture 2: Layers and Framing

What’s a Frame?

● Wraps payload up with some additional informationu Header usually contains addressing informationu Maybe includes a trailer (w/checksum—next lecture)

● Basic unit of receptionu Link either delivers entire frame payload, or none of itu Typically some maximum transmission unit (MTU)

● Some link layers require absence of frames as wellu I.e., minimum gaps between frames

CSE 123 – Lecture 2: Layers & Framing 12

PayloadHeader Trailer

How do hosts find frames on the link?

A. Special delimitersB. Fixed-length chunksC. Arrive on a scheduleD. All of the above

Page 13: Lecture 2: Layers and Framing

Identifying Frames● First task is to delineate frames

u Receiver needs to know when a frame starts and endsu Otherwise, errors from misinterpretation of data stream

● Several different alternativesu Fixed length (bits) framesu Explicitly delimited frames

» Length-based framing» Sentinel-based framing

u Fixed duration (seconds) frames

CSE 123 – Lecture 2: Layers & Framing 13

Page 14: Lecture 2: Layers and Framing

Fixed-Length Frames● Easy to manage for receiver

u Well understood buffering requirements

● Introduces inefficiencies for variable length payloadsu May waste space (padding) for small payloadsu Larger payloads need to be fragmented across many framesu Very common inside switches

● Requires explicit design tradeoffu ATM uses 53-byte frames (cells)u Why 53? 48 + 5. Why 48?

CSE 123 – Lecture 2: Layers & Framing 14

Page 15: Lecture 2: Layers and Framing

Length-Based Framing

● To avoid overhead, we’d like variable length framesu Each frame declares how long it isu E.g. DECNet DDCMP

● What’s the issue with explicit length field?u Must correctly read the length field (bad if corrupted)

» Need to decode while receiving u Still need to identify the beginning…

CSE 123 – Lecture 2: Layers & Framing 15

PayloadStart Length

Page 16: Lecture 2: Layers and Framing

Sentinel-based Framing● Allow for variable length frames● Idea: mark start/end of frame with special “marker”

u Byte pattern, bit pattern, signal pattern● But… must make sure marker doesn’t appear in data

● Two solutionsu Special non-data physical-layer symbol

» Impact on efficiency (can’t use symbol for data) of codeu Stuffing

» Dynamically remove marker bit patterns from data stream» Receiver “unstuffs” data stream to reconstruct original data

CSE 123 – Lecture 2: Layers & Framing 16

Page 17: Lecture 2: Layers and Framing

Stuffing● Insert bytes/bits into data stream to make sure that sentinel (flag) does

not appear in payload

CSE 123 – Lecture 2: Layers & Framing 17

Page 18: Lecture 2: Layers and Framing

Bit-level Stuffing● Avoid sentinel bit pattern in payload data

u Commonly, sentinel is bit pattern 01111110 (0x7E)u Invented for SDLC/HDLC, now standard pattern

● Sender: any time five ones appear in outgoing data, insert a zero, resulting in 0111110

● Receiver: any time five ones appear, removes next zerou If there is no zero, there will either be six ones (sentinel) oru It declares an error condition!u Note bit pattern that cannot appear is 01111111 (0x7F)

CSE 123 – Lecture 2: Layers & Framing 18

011111100001110111011111011111001

011111010000111011101111100111110001Stuffed bits

Page 19: Lecture 2: Layers and Framing

Check your understanding

19

What’s the worst case bit stream in terms of efficiency?

A. All zerosB. All onesC. Repeated 011111D. Repeated 01111110

CSE 123 – Lecture 2: Layers & Framing

Page 20: Lecture 2: Layers and Framing

For Next Class● Read 2.4

● Take a look at Project 1

● Discussion CANCELLED

CSE 123 – Lecture 2: Layers & Framing 20

What’s the worst case bit stream in terms of efficiency?

A. All zerosB. All onesC. Repeated 011111D. Repeated 01111110