• 沒有找到結果。

Network Protocols: Design and Analysis-The Internet Architecture

N/A
N/A
Protected

Academic year: 2021

Share "Network Protocols: Design and Analysis-The Internet Architecture"

Copied!
59
0
0

加載中.... (立即查看全文)

全文

(1)

Network Protocols:

Design and Analysis

Polly Huang EE NTU

http://cc.ee.ntu.edu.tw/~phuang [email protected]

(2)

The Internet Design Philosophy

[Clark88a]

[Deering98a]

(3)

The Internet Architecture

[Clark88a]

(4)

Key Ideas

• Defines (after-the-fact) the internet architect

ure

• Architecture on following slides, but:

– Datagrams

– Multiple link layers

(5)

The Dream Internet

• How it should be like

– The starting point -- IP

– The expansion ground -- around IP

– The attitude -- desired property

(6)

The IP

• Connectionless datagrams (IP) at lowest lev

el

– Packet switching as opposed to circuit switchin

g

• Routers and routing protocols

(7)

Around IP

• Multiple protocols on top of that

– TCP, UDP, etc.

• Multiple applications on top of that

– Web, e-mail, etc.

• Multiple link layers underneath IP:

– LANs: Ethernet

– last-mile: PPP, ISDN, cable modems, DSL

– “backbone”: Sonet, ATM, others

(8)

Desired Properties

• Availability

• Reliability

• Survivability

(9)

The Goals

(10)

The Internet Architecture

• Inter-connecting heterogeneous networks

• Multiplexing via packet switching

(11)

Sub-goals

• Robust to network/gateway failure

• Multiple kinds of traffic

• Multiple kinds of networks

• Distributed management

• Inexpensive

• Low effort to add host

• Resource accounting

(12)

Not Original Goals

(13)

Main Goals

• Heterogeneous networks

– Why?

– Allow independent evolution of link-layers

– multiple LANs, last-mile, and POP-to-POP

technologies

• Multiplexing

– Packet switching fundamentally different from

circuit switching

(14)

Back in the Old Days...

1920s telephony: circuits---a physical wire

from one end to the other

the wire

the “router” (Aunt Mable)

(15)

Then Came TDM...

mux demux

Time Division Multiplexing

… but keeps the idea of a fixed pipe (circuit) the right

(16)

And FDM and CDM...

Frequency Division Multiplexing

Code Division Multiplexing

a a a a a a a a a a a 

(17)

Logical Network View

fixed size pipe from her to him  perfect for voice

 reliable conversations (QoS)  provisioning, good engineering dumb end points, smart network

 evolved for 100 years (analog to digital)

(18)

Packet Switching (Internet)

differences:

 packets as low-level component  multiple kinds of traffic

 smart edges, dumb network

but:

(19)

Statistical Multiplexing Gain

Assumptions:

1 Mb/s link

user: 0.1Mb/s when transmitting, but 10% duty

cycle

• Circuit switching: can support 10 users,

100% reliable

• Packet switching: with 35 users, probability

that >=10 are transmitting at the same time

= 0.0004

(20)

Robust to Failures

• Application should not see transient failures

• Failures

– Node/link failure (find an alternate path)

– Packet lost due to congestion (queue overflow),

(21)

Thus, Rule #1

• All states at endpoints

– States set by datagrams

– Retransmit if packets lost

• The philosophy

– Fate-sharing

(22)

And, Rule #2

• Some states are only appropriate to be kept in the

network

• States set by control messages

• Periodic refresh in case of un-sync states

• The philosophy

– Soft-state

(23)

Multiple Types of Service

• Originally just NCP, but split to {TCP,UDP}/IP

• Why?

– Varying needs in speed, latency, reliability

– Not just bi-directional reliable data "virtual circuit"

• IP: best effort datagram

 Bad if link layer wants to do

too much

 PILC working group in IETF today

• TCP

– Interactive, low-latency – Bulk delivery

• UDP

– Lightweight – Out-of-order to user – Low-latency & jitter,

RT possible for voice – Reliability is biggest

(24)

Non-TCP/UDP protocols

• RDP: Reliable Delivery Protocol – Message-based

– Allows out-of-order delivery – RFC-908

• SCTP: Stream Control Transmission Protocol

– Intended for telephony signaling over IP

– Multiplexes multiple “streams” per connection

– In-sequence per stream, out-of-sequence between streams

– Reliable

• DCCP: Datagram Congestion Control Protocol

– Add congestion control to UDP – In progress

• XCP: Explicit Control Protocol

– High-speed streaming with explicit router rate feedback

(25)

Multiple Applications

• Classes of applications

– Web

– File transfer (Napster, etc.) – Remote login – Streaming audio – Interactive audio – Streaming/interactive video – Computer appliances – Others? • Requirements: – Loss resilience – Delay/jitter sensitivity – Bursty/smooth – Point-to-point vs. n-way – Numbers of sources and sin

(26)

Multiple kinds of networks

• IP over X

• Compare to integrated

stacks:

– ISO – ATM

– Fibre channel, Apple D esktop Bus, USB

• But a counter example:

• Requirements of X:

– Reasonable size packets

• But fragmentation and rea ssembly

– Reasonable reliability

• But workarounds

– Addressing

• Non-requirements of X:

(27)

Other goals

• Distributed management

– Some work, and today policy routing exists

– But limitations (ex. address space portability)

• Cost effective

– Today quite cheap

(28)

Other other goals

• Effort to deploy end host

– For him in ’88: cost of implementing stack

– Today: cost of administering machine

• Much lower today (DHCP, etc.)

• But still lots of manual configuration “futzing”

• Accountability

(29)

Architecture and Implementation

• Realization: an instance of the Internet class

– Him: 1200b/s modem vs. 1Mb/s LAN

– Today: the Internet can’t do X because it is Y

• ex. can’t do System Area Networks over IP because it’s too slo w, so we need Fibre Channel

• alternative: build a fast Internet realization

– Corollary: not every realization is appropriate for every application

– Also: custom stack will get last 5% of performance, but is it worth it?

(30)

TCP Features

• Features:

– Connection establishment, connectionless communication,

– Congestion avoidance, flow control,

– Duplicate packet detection, loss recovery,

– Ordered data delivery to the application, out-of-order data delivery to the application,

– Differentiated services, quality-of-service, urgent data indication

(31)

TCP Alternative Choices

• Byte stream vs. message stream

• Flow control

• Congestion control came later

• PSH flag

– A weak record boundary

– But the reason the Plan-9 people didn’t use

TCP

(32)

Other Components of IP Success

• A good, free implementation

– BSD Unix in the mid-80’s

– Compare to OSI where implementations were late

• A good API

– BSD socket API

– Not perfect, but good

(33)
(34)

Watching the Waist of IP

[Deering98a]

(35)

Key Idea

• The importance of a single, narrow layer

for interoperability

• In the Internet, it’s IP

– Many link layers and hardware below

– many protocols and applications above

– One network layer to rule them all, one network

(36)
(37)

Why a single, narrow protocol?

• Why single:

– Maximize interoperability

– Minimize amount of work needed to support

new protocols

• Why narrow:

– Minimize requirements from lower layers

– End-to-end argument: don’t want to weigh

down IP with a bunch of things that are

unnecessary by many of its users

(38)

What are the key IP properties?

• Small and simple

– Connectionless datagram

• Global addressing

– Maximize connectivity

– Much harder to provide global addressability at higher layer

– Enable applications (ex. peer-to-peer file sharing)

– But addressability make security harder => NAT boxes, firewalls

(39)

Why add to or change IP?

• More features are cooler

– QoS, multicast, …

• More features make more money

• Replacing it makes lots of money

– And could do new things if everyone buys in – Ex. ATM

• Have short-term (?) problems that have to be solve

d (via work-arounds)

(40)

Other questions/observations?

• Active network: idea that end-users (or admins) sh

ould be able reprogram the network

• Size of IP headers: 40B is this a problem

– Interactions w/ATM or other link-layers w/short MTUs – Could be problem (high overhead) for telnet

• QoS and multicast

– Why not depoyed? increase assumptions lower layers, we need to change all routers, not everyone needs servi

(41)
(42)

The End-to-End Argument:

[Saltzer81a]

(43)

Key Idea

• The end-to-end argument

– Don’t duplicate functionality in multiple levels

if you have to do it at the top anyway

(44)

Key ideas

• Where should services (encryption, reliability,

ordering, duplicate suppression) be placed: at the

end points or in the network?

• Since these can be done at higher layers, and

expensive to to do these at the lower layers, maybe

just do them at the ends

– Especially if the ends MUST do it

(45)

Example: Reliability

• Consider copying a file

– Want an end-to-end checksum

• Steps:

– A reads from disk to mem; sends to network – Network moves data from A to B

– B gets data from network; writes to disk

• Possible faults:

– Disk IO errors, buffer overruns in NIC, memory errors, network corruption or congestion, computer crashes

(46)

Other examples in paper

• Encrypted data transfer

• Duplicate message suppression

• Guaranteed FIFO message delivery

• Transactions in a DB

(47)

Other examples?

• Instant messaging uses UDP, the applicatio

n provides reliability

• Congestion control

• Microkernels: minimal operating system fu

nctionality

• RPC systems: remote procedure call (and re

liability)

(48)

Caveat: performance

• Consider file copy again

• Reliability at physical, link, network,

transport, application layers

– Ex. in wireless, might want hop-by-hop

reliability because the loss/corruption rate is

much higher than wired networks

(49)

Challenge: Defining the “End”

• Ex. security: what is the protocol and end for each app?

– Ordering over web at Amazon.com? ends customers web browser and Amazon’s transaction server

– Connecting over the Internet to USC with a VPN? network side your computer, (end server on) USC network [my PC to USC’s network]

– Using a wireless base-station with WEP? my computer to the access point/wireless LAN

(50)

Why is End-to-End Important to

Network Design?

smart vs.

dumb?

Telephone

Internet

Network

xxx

xxx

Terminal

xxx

xxx

(51)
(52)

On Naming

[Saltzer82a]

(53)

Context

• 1982: fairly early on in the net

– Ethernet only a few years old

– basic networking terminology still evolving

(54)

Key ideas

• Defining the terms (objects) for naming

• Binding: mapping names to address

• Give characteristics of

• Names

(55)

Terminology

• Name: what you want

• Address: where it is

• Route/path: how to get there

• Binding: process of mapping name to an

address

(56)

Naming and Change

• Naming only matters because things change

– If no change, things can be hard-coded

– Ex. users/services/machines move, processes

start and stop, etc.

– Mobile hosts, web services, both for content

and virtual hosts (multiple web sites on single

computer), load balance

(57)

Characteristics of Names

• Uniqueness: globally unique, unique in some context (loca lly unique), probabilistically unique, not unique

• Length

• User friendless: human-readable

– Alphabetics vs. binary – Moderate length vs. long

– Memorable vs. not memorable

– Easily transcribable vs. more difficult

• Hierarchical vs. flat

(58)

Nodes vs. Interfaces

• What does an IP address identify?

– Interface, not a node

• Why?

– To control where packets go

– So firewall rules can tell “outside” from “inside”

• Problems?

– Sometimes you want to get to the node and

my router the Internet 8.1.1.1 8.1.1.2 ISP router dsl link internal LAN my home PC my laptop 10.0.0.1 10.0.0.2 10.0.0.3

(59)

參考文獻

相關文件

本次的作業 (netstat -na 部分 ) 即在觀看所有機 器上的 transport layer 連線. 本次的作業 (netstat -na 部分 ) 即在觀看所有機 器上的 transport layer

„ An adaptation layer is used to support specific primitives as required by a particular signaling application. „ The standard SS7 applications (e.g., ISUP) do not realize that

„ Signaling over standard IP uses a common transport protocol that ensures reliable signaling delivery. „ Error-free

„ A socket is a file descriptor that lets an application read/write data from/to the network. „ Once configured the

Responsible for providing reliable data transmission Data Link Layer from one node to another. Concerned with routing data from one network node Network Layer

Principle Component Analysis Denoising Auto Encoder Deep Neural Network... Deep Learning Optimization

3. Works better for some tasks to use grammatical tree structure Language recursion is still up to debate.. Recursive Neural Network Architecture. A network is to predict the

Moreover, through the scholar of management, Michael Porter's Five Forces Analysis Model and Diamond Model make the analysis of transport industry at port, and make the