1.3. IP Service Model

“IP provide deliberately simple, dumb, minimal service”

I. Network Layer:

is responsible send IP datagram to the other end: IP Datagram = IP Data + IP Header

IP(Internet Protocol) is only one protocol must used by Network Layer

II. IP Service’s Property

1. Datagram: self-contained, individual hop-by-hop routing

2. Unreliable: no promise delivered to destination, that is it is not registered mail

3. Best effort: only makes errors, certain conditions happened

4. Connectionless: communication doesn’t start by establishing connection to end

III. IP Service is simple and minimal: WHY?

1. To keep network simple:

packet delivered quickly at low cost maintenance

2. End-to-End principle:

network can become easier to evolve if complicated feature implemented at end host(software). Not in hardware of the Internet

3. Allow a reliable / unreliable choice on top layer

let application choose the reliability(i.e. TCP / UDP) for performance reasons

4. Can work over any link layer:

IP makes a very little expectation of the link layer below. So any of link layer technologies(i.e. wired, wireless) can be implemented

IV. Other services provided by IP

1. TTL(Times To Live: Hop Count): prevent packet looping forever

2. Fragment packets if they are too long to send as itself:

each link layer has maximum bandwidth to send a frame at a time

3. Use header checksum to reduce chance of wrong destination on delivery

4. Allow compatible with new version of IP: IPv6

5. Allow new fields added to datagram header:

pros: new service can be added using new fields

cons: break the goal of simple and minimal design of IP

V. IP Datagram Detail…


1.2. The 4 Layer Internet Model

Layering is core concept to boost reusability and modularity in network design”

“Each layer doesn’t have to regard how the right below layer worked, it is Abstraction

I. Link Layer

carry the data(called frame) over one link at a time, hop-by-hop.

i.e. Ethernet(wired), Wi-Fi(wireless)

II. Network Layer

deliver data(called datagram) end-to-end, from src to des

*IP(Internet Protocol): Network Layer must use IP: not reliable, ordering, error-check

III. Transport Layer: TCP / UDP

deliver data(called packet) from src application to des application

A. TCP(Transmission Control Protocol):

1. Reliability: re-transmit until received successfully

2. In-Order: guarantee correct in-order delivery

i.e. web client, e-mail client

B. UDP(User Datagram Protocol):

no reliable, no ordering

i.e. video conferencing

IV. Application Layer:

have their-own protocol parsing semantics of byte-stream served by Transport Layer

i.e. http, ftp, www, ssh, telnet, dns, dhcp, sip

“Layer can use the service provided layer right below by well-defined API”

V. Terminology

A. Packet = data + header

header is meta-data describing what data is, where it is going, it comes from

[OSI 7-layer to 4-layer Internet Model]

Computer Network

I. Course Goal: STANFORD OCW – Prof. Nick McKeown, Philip Levis

Understand protocols, design of the Internet and principles of Computer Network

II. Course Topics:

Unit 1. The Internet and IP

Unit 2. Transport

Unit 3. Packet-Switching: mathematically heavy part

Unit 4. Congestion Control

————— Midterm Exam —————-

Unit 5. Applications and NATs

Unit 6. Routing

Unit 7. Lower Layers

Unit 8. Security

—————– Final Exam —————–

IV. Text Book:

Larry L. Peterson. Computer Networks: A Systems Approach

James F. Kurose. Computer Networks: Top-Down Approach

V. Plan:

∗ Each unit might take about 8 – 10 hours of week

Unit 1. The Internet and IP

1.0. The Internet and IP

1.1. A day in the list of an application

1.2. The 4 layer Internet model

1.3. The IP service model

1.4. A day in the life of a packet

1.5. The principle of Packet Switching

1.6. The principle of Layering

1.7. The principle of Encapsulation

1.8. The Byte order and Packet formats

1.9. IPv4 addresses and CIDR

1.10. Longest Prefix Match: LPM

1.11. Address Resolution Protocol

1.12. The Internet and IP(recap)

1.13. SIP — Jon Peterson

Unit 2. Transport

2.0. Introduction to Transport

2.1. TCP Service Model

2.2. UDP Service Model

2.3. ICMP Service Model

2.4. End-to-End Principle

2.5. Error Detection

2.6. Finite State Machine

2.7. Reliable Communication – Stop and Wait

2.8. Reliable Communication – Sliding Window

2.9. Reliable Communication – Retransmission Strategies

2.10. Reliable Communication – TCP header

2.11. Reliable Communication – Connection Setup and Teardown

2.12. Transport(recap)

2.13. TCP/IP – Kevin Fall

Unit 3. Packet Switching

3.0. Packet Switching

3.1. The History of Networks, The History of the Internet

3.2. What is Packet Switching?

3.3. Terminology, End to End Delay and Queuing Delay

3.4. Playback Buffers

3.5. Simple Deterministic Queue Model

3.6. Queuing Model Properties

3.7. Switching and Forwarding (1)

3.8. Switching and Forwarding (2)

3.9. Rate Guarantees

3.10. Delay Guarantees

3.11. Packet Switching(recap)

3.12. DC Switches — Tom Edsall

Unit 4. Congestion Control

4.0. Congestion Control

4.1. Basics: What it is, time scales, fairness

4.2. Approaches: network vs end host, max min fairness, AIMD

4.3. Dynamic of a signal AIMD flow

4.4. Multiple AIMD flow

4.5. TCP Tahoe

4.6. TCP RTT estimation

4.7. TCP Reno

4.8. Why AIMD

4.9. Reading an RFC

4.10. Congestion Control

4.11. Shortcoming and improvement of TCP and Congestion Control — Nandita Dukkipati