28
Session 2. Application and Layered Architectures Stephen Kim [email protected]

Stephen Kim [email protected]. Various services and flexibility Network architectures Grouping a set of related function to a layer A set of protocols

Embed Size (px)

Citation preview

Session 2.Application and Layered Architectures

Stephen [email protected]

Various services and flexibilityNetwork architectures

Grouping a set of related function to a layer

A set of protocolsAdvantage of layered architectures

Simplification Flexibility

Monolithic

Communication Networks

ECE/IUPUI Intro to Computer Communication Networks 2-2

Layered

Interface

Interface

Example of Protocol

Interaction between two peer entities Server/Client

Server – a process waiting a request▪ Listening a specific port in TCP/IP▪ Httpd (Apache™) , telnetd, ftpd, …

Client – a process making a request▪ A request to server address and the port number▪ Netscape™, telnet, gftp, ws_ftp, …

A connection in a server/client model is a 5-tuple Protocol type, Source address, Destination address Source port number, destination port number

ECE/IUPUI Intro to Computer Communication Networks 2-3

Example of Protocol, http (1)

ECE/IUPUI Intro to Computer Communication Networks 2-4

Server Client

Listening on port 80 Request to 134.68.80.4:80

Connection established

Send a requestGET/index.html HTTP 1.0

Send a result codeHTTP/1.1 200

Read and send the file<html> <head> …

Disconnect the connection

Interpret and display the html

Connection established

time

Example of Protocol, http (2)

What if a request has a failure? Need a connection-oriented service & a reliable underlying layer

ECE/IUPUI Intro to Computer Communication Networks 2-5

ProtocolHTTP

ServerHTTPClient

TCP TCP

80 #n

Protocol

Interface Interface

Other Examples

DNS (Domain Name System) Convert an IP name to an IP address, or vice versa netlab.ece.iupui.edu 134.68.80.4 UDP/IP - Connectionless

SMTP (Simple Mail Transfer Protocol) TCP connection to local SMTP server Work as if connectionless for forwarding the message to remote SMTP

server

ECE/IUPUI Intro to Computer Communication Networks 2-6

OSI Reference Model

International Organization for Standardization / Open System Interconnection (IOS/OSI)

Reference model, but not a real implementation A process on one machine at layer n

Communicates with a peer process on the other machine By exchanging PDU (Protocol Data Unit)

PDU contains a header and a payload called SDU (Service Data Unit) Header – control information Payload – do not care

Layer n protocol - A set of rules governing the behavior of the layer n

ECE/IUPUI Intro to Computer Communication Networks 2-7

Layer nEntity

Layer nEntity

n-SDU H

n-SDUH

n-PDU

n-PDU

Terminal A Terminal B

Interface and Service Communication between two peer processes is not

physical The layer n+1 uses the services provided by layer n

through layer n interface, called SAP (Service Access Point).

ECE/IUPUI Intro to Computer Communication Networks 2-8

(n+1)-PDU

(n+1)-PDU

layern+1

layern+1

layern

layern

n-SAP

n-SDU H

n-SDUH

n-SAP

n-PDU

Terminal A Terminal B

Segmentation and Reassembly

Maximum PDU size of Ethernet is 1500 bytes How can we send information larger than the maximum thru

Ethernet? Segmentation

The layer n in a terminal can segment its payload into small pieces Reassembly

The layer n in the other terminal put together the small pieces in a payload.

ECE/IUPUI Intro to Computer Communication Networks 2-9

(n+1)-PDU

n-SDU H n-SDU H n-SDU H

(n+1)-PDU

n-SDU H n-SDU H n-SDU H

Host A Host B

ISO/OSI Reference Model

International Standard Organization /Open Systems Interconnection

Principles A layer should be created where a different level of abstraction

is needed. Each layer should perform a well defined function. The function of each layer should be chosen with an eye toward

defining internationally standardized protocols. The layer boundaries should be chosen to minimize the

information flow across the interfaces. The number of layers should be large enough that distinct

function need not be thrown together in the same layer out of necessity.

The number of layers should be small enough that the architecture does not become unwieldy.

7 Layers

ECE/IUPUI Intro to Computer Communication Networks 2-10

OSI 7 Layer Reference Model

ECE/IUPUI Intro to Computer Communication Networks 2-11

Physical

Data Link

Network

Transport

Session

Presentation

Application

Layer 1

Layer 2

Layer 3

Layer 4

Layer 5

Layer 6

Layer 7

Physical

Data Link

Network

Transport

Session

Presentation

Application

Physical

Data Link

Network

Physical

Data Link

Network

Communication network boundary

Application Protocol

Presentation Protocol

Session Protocol

Transport Protocol

Network layer host-router protocol

Data link layer host-router protocol

Physical layer host-router protocol

The Physical Layer (L1)

Deal with the transfer of raw bits over communication channel

Electrical aspects Voltage level Signal duration

Mechanical aspects Socket type Number of pines

Examples Twisted copper wire – telephone wire, 10/100BaseT, … Coaxial cable – CATV, 10Base2, 10Base5, … Radio – cellular phone, Wi-Fi, Bluetooth, Zigbee, WiMax, WiBro,

… Optical fiber – WDM, DWDM,

ECE/IUPUI Intro to Computer Communication Networks 2-12

The Data Link Layer (L2)

Deal with the transfer of frames Framing information

Boundary of the frame▪ attaching special bit patterns to the beginning and end of the frame

Control and address information Check bit for recovering from transmission errors

▪ acknowledge frames▪ handle with damaged, lost, and duplicate frames

Flow controls▪ prevent a fast transmitter from drowning a slow receiver in data

Broadcast networks control access to the shared channel LAN

▪ Sub-layer: Medium Access Control layer (MAC)▪ One-to-one communication over broadcast medium

Examples HDLC – High-level Data Link Control PPP – Point-to-Point Protocol SONET – Synchronous Optical Network

ECE/IUPUI Intro to Computer Communication Networks 2-13

The Network Layer (L3)

Transfer of data (packet) over networks Routing

Select a path from the source to the destination thru many intermediate network components as switches and routers.

Static routing vs. dynamic routing Deal with congestion – temporary traffic surges in a network

components forming bottlenecks Differentiation of packet types Heterogeneous Network

▪ Different address scheme▪ Maximum Transfer Unit (MTU)

Political routing▪ Inter-office emails between Microsoft branches shouldn’t pass

through Netscape’s routers. Billing

ECE/IUPUI Intro to Computer Communication Networks 2-14

The Transport Layer (L4)

Responsible for the end-to-end transfer of message Segmentation and reassembly Error-free transfer

Error detection and recovery Sequencing Flow control

Establishing and releasing connections Multiple connections for high throughputs Multiplexing a connection among many session layers for reducing the

cost Type of Services

Connection-oriented services – error-free point-to-point channel Connectionless services – no guarantee on the correct delivery of the

message Example

Unix socket interface

ECE/IUPUI Intro to Computer Communication Networks 2-15

The Session Layer (L5)

Enhance a reliable transfer service Control how data is exchanged

manage dialogue control▪ full duplex▪ half duplex

Examples Log in to a remote system Transfer a file between two machine Token management

▪ both side do not attempt the same operation at the same time. Synchronization

▪ Two-hour file transfer with one-hour mean time crashes▪ The whole transfer would start over again▪ Insert checkpoints into the data stream▪ After a crash, continue after the last checkpoint

ECE/IUPUI Intro to Computer Communication Networks 2-16

The Presentation Layer (L6)

Concern with the syntax and sematic of the information Overcome the difference in data representation Resolve machine-dependencies Character code

ASCII, EBCDIC, Unicode, … Big endian or little endian

ECE/IUPUI Intro to Computer Communication Networks 2-17

4 13 2 1 42 3

32-bit word like an integers

SUN Sparc, MIPS Intel x86, Dec Alpha

The POWER Processor can be configured as either big endian or little endian

The Application Layer (L7)

To provide network services Example

HTTP – web browsing application FTP – File transfer between two different systems

▪ different file name convention▪ different ways of representing text lines

SMTP – Electronic mail Virtual terminals – vt100, TN 3270, xterm

ECE/IUPUI Intro to Computer Communication Networks 2-18

Data Transmission in OSI Model

ECE/IUPUI Intro to Computer Communication Networks 2-19

Physical

Data Link

Network

Transport

Session

Presentation

Application

Physical

Data Link

Network

Transport

Session

Presentation

Application

data

data AH

data

data

data

data

SH

TH

data NH

DH

PH

DT

Bits

sendingprocess

receivngprocess

actual data transmission path

TCP/IP Architecture

History Successor of ARPANET (Defense Advanced Research Project Agency)

Principles Robustness

▪ If failures occurs in the network, the packets are routed around the failure point.

▪ Multiple paths and globally unique address. Flexibility – No Data link layer or physical layer defined Packet switching networks Best-effort connectionless in the Network layer

▪ “I will do my best to transfer your data, though I cannot guarantee their quality and delivery”

▪ IP packets are exchanged between routers without a connection setup. Two services in the Transport layer

▪ TCP – reliable connection-oriented transfer▪ UDP – unreliable connectionless transfer

Applications remote login, e-mail, file transfer, network management

ECE/IUPUI Intro to Computer Communication Networks 2-20

OSI Model vs. TCP/IP

ECE/IUPUI Intro to Computer Communication Networks 2-21

Application

Presentation

Session

Transport

Network

Data Link

Physical

OSIApplication

TCP,UDP

IP

NetworkInterface

Layer

TCP/IP

Not presentin the model

Protocols and Networks in TCP/IP

ECE/IUPUI Intro to Computer Communication Networks 2-22

NetworkInterface

Network

Transport

ApplicationTELNET FTP SMTP DNS RTP

TCP UDP

IP

X.25 ATM FR ETHER

ICMP

ARP

TCP/IP Protocol

Each host (NIC) is assigned by a globally unique IP address (32-bit) IP address = network address + host address A net mask is used to calculate them

Each host (NIC) is also assigned by a machine address, or a physical address Meaningful in one network by router Ethernet uses 6-octect (48-bit). ATM uses 16-octect.

Router – consists of two or more network interfaces

ECE/IUPUI Intro to Computer Communication Networks 2-23

APPTCPIPNI

APPTCPIPNI

IPNI NI

router

TCP/IP in a Network

ECE/IUPUI Intro to Computer Communication Networks 2-24

IP (1,2)

NI3487

data

data1,2

data3487

IP(1,3)

NI6537

data

1,3

6537

data1,2

1,3

TCP/IP thru a Router

ECE/IUPUI Intro to Computer Communication Networks 2-25

IP (1,2)

NI3487

data

data1,2

data3487

IP(2,5)

NI3903

data

NI6543

NI1002

IP(1,1) (2,3)

2,5 data1,2

2,5

data1,2

2,5

6543data

1002

3903

Host A Router Host B

TCP/IP in a System

ECE/IUPUI Intro to Computer Communication Networks 2-26

Data

TCP PayloadTCP

Header

IP PayloadIP

Header

Ethernet PayloadEthernetHeader

EthernetTail

Source Port #,Destin Port #

Source IP addr,Destin IP addr,Protocol type

Source PH addr,Destin PH addr,Network protocol type

Server in TCP/IP

A process waiting a packet on a specific port number Duplicate a connection after establishing Connection?

5 tuple – (PT, SA, SP, DA, DP)▪ protocol type, source address, source port, destin address, destin port.

A server waits on (pt, sa, sp, any-DA, any-DP) Upon a request from the client, any-DA and any-DP are filled with specific value.

Server Port Number – 0 to 1023 are reserved to well-known services.

ECE/IUPUI Intro to Computer Communication Networks 2-27

Protocol Reserved Port #

Comments

FTP 21 File Transfer

telnet 23 remote login

SMTP 25 E-mail

DNS 53 Domain name system

HTTP 80 World Wide Web

Berkeley Socket

API – interface available to programmer socket(), bind(), listen(), accept(), connect(), sendto(), recvfrom(), htonl(), htons(), ntohl(), ntohs()

Utility function - gethostbyname(), gethostbyaddr() Support multiple communication protocols

Internet Domain Unix Domain Xerox NS Domain (XNS) ATM Domain (Recent progress in several implementation)

References Richard Stevens, “Unix Network Programming”, or http://en.wikipedia.org/wiki/Internet_socket

ECE/IUPUI Intro to Computer Communication Networks 2-28