49
CSCI 1106, Fall 2008 net 1 Networking Basic network components and layered architecture Internet and WWW basics IP, TCP, URL, HTTP Jean Walrand, Communication Networks, a first course, McGraw-Hill 1998 (2 nd edition).

CSCI 1106, Fall 2008 net 1 Networking Basic network components and layered architecture Internet and WWW basics IP, TCP, URL, HTTP Jean Walrand, Communication

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

CSCI 1106, Fall 2008 net 1

Networking

• Basic network components and layered architecture

• Internet and WWW basics• IP, TCP, URL, HTTP

Jean Walrand, Communication Networks, a first course, McGraw-Hill 1998 (2nd edition).

CSCI 1106, Fall 2008 net 2

Types of computer networks:

• Point-to-point connection (link) between two computers

• Store-and-forward transmission: packets

• Datagram packet switching: destination address in packet

• also, LAN, WAN, ATM (virtual circuit switching), wireless

A B C

e.g. token ring

e.g. PPP, SLIP

CSCI 1106, Fall 2008 net 3

• multiple access networks (e.g. ALOHA, Ethernet)

CSCI 1106, Fall 2008 net 4

CSCI 1106, Fall 2008 net 5

CSCI 1106, Fall 2008 net 6

CSCI 1106, Fall 2008 net 7

CSCI 1106, Fall 2008 net 8

Review of components

• Hosts– Considered a “node” or “end point” in the network (client/server/printer)

– Processes all levels of the protocol stack

• Hubs– acts as an “extender” - similar in effect to taking all incoming lines and twisting the

wires together

– Does not do any processing - acts only at the physical layer

• Bridges– attaches two physically identical LANs together, physical layer processing

– forwards only traffic which is destined for “the other side”

• Switches– depending on level of switch complexity, anywhere from a hub to a router

• Routers– Processing at the Network layer

– Route packets between networks with potentially different lower level protocol stacks (i.e., different physical and data link layers)

• Gateways– Processes all levels of the protocol stack

– Used to connect networks with different protocol stacks

CSCI 1106, Fall 2008 net 9

Layer n

Layer 2

Layer 1

Message sent Message received

Communicationmedium

Sender Recipient

Coulouris, Dollimore, Kindberg, Distributed Systems, Addison Wesley 2001 (3rd ed)

Layered communication model

CSCI 1106, Fall 2008 net 10

ISO-OSI layer modelOpen systems interconnection reference model

7.

5.

6.

4.

3.

2.

1.

Application

Presentation

Session

Transport

Network

Data Link

Physical

communication services, e.g. file transfer, email, …

e.g. compression, security, format conversion

supervises connections between end systems

Implements digital communication link that delivers bits

implements packet delivery service between two

nodes on the same physical link

guides the packet from source to destinations

supervises end-to-end transmission

7.

5.

6.

4.

3.

2.

1.

A Bcommunication services

local syntax, secure, efficient connections

connections

delivery of messages

CSCI 1106, Fall 2008 net 11

Layer Description ExamplesApplication Protocols that are designed to meet the communication requirements of

specific applications, often defining the interface to a service. HTTP, FTP, SMTP,CORBA IIOP

Presentation Protocols at this level transmit data in a network representation that isindependent of the representations used in individual computers, which maydiffer. Encryption is also performed in this layer, if required.

Secure Sockets(SSL),CORBA DataRep.

Session At this level reliability and adaptation are performed, such as detection offailures and automatic recovery.

Transport This is the lowest level at which messages (rather than packets) are handled.Messages are addressed to communication ports attached to processes,Protocols in this layer may be connection-oriented or connectionless.

TCP, UDP

Network Transfers data packets between computers in a specific network. In a WANor an internetwork this involves the generation of a route passing throughrouters. In a single LAN no routing is required.

IP, ATM virtualcircuits

Data link Responsible for transmission of packets between nodes that are directlyconnected by a physical link. In a WAN transmission is between pairs ofrouters or between routers and hosts. In a LAN it is between any pair of hosts.

Ethernet MAC,ATM cell transfer,PPP

Physical The circuits and hardware that drive the network. It transmits sequences ofbinary data by analogue signalling, using amplitude or frequency modulationof electrical signals (on cable circuits), light signals (on fibre optic circuits)or other electromagnetic signals (on radio and microwave circuits).

Ethernet base- bandsignalling, ISDN

CSCI 1106, Fall 2008 net 12

What is a protocol

`A protocol is a set of rules governing message interchanges which occur between a number of computers in a distributed system; each of these messages implement functions of the system. A protocol is also used to establish a connection and allow entities to exchange data about themselves, for example the operating system they are using and the format of the data that they intend passing; this is known as a handshake. ‘

D. Ince

CSCI 1106, Fall 2008 net 14

CSCI 1106, Fall 2008 net 15

Application message

TCP header

IP header

Ethernet header

Ethernet frame

port

TCP

IP

CSCI 1106, Fall 2008 net 16

IP Header

CSCI 1106, Fall 2008 net 17

7 24

Class A: 0 Network ID Host ID

14 16

Class B: 1 0 Network ID Host ID

21 8

Class C: 1 1 0 Network ID Host ID

28

Class D (multicast): 1 1 1 0 Multicast address

27

Class E (reserved): 1 1 1 1 unused0

• Around 4 billion IP addresses

CSCI 1106, Fall 2008 net 18

• TCP (Transmission Control Protocol): – connection-oriented– Reliable packet delivery in sequence

• UDP (User Datagram Protocol):– connectionless (datagram)– Unreliable packet delivery– Packets may arrive out of sequence or duplicated– Less overhead– Simply adds port addressing to IP– Checksum is optional

• Internet Control Message Protocol– Used by the nodes in the internet to implement IP

Transport layer protocols

CSCI 1106, Fall 2008 net 19

TCP and UDP Header

CSCI 1106, Fall 2008 net 20

Name Port/Protocol Comment

ftp-data 20/tcp

ftp 21/tcp

telnet 23/tcp

smtp 25/tcp mail

bootps 67/udp # BOOTP/DHCP server

bootpc 68/udp # BOOTP/DHCP client

hostnames 101/tcp hostname # usually to sri-nic

sunrpc 111/udp rpcbind

sunrpc 111/tcp rpcbind

finger 79/tcp

pop3 110/tcp # Post Office

nntp 119/tcp usenet # Network News Transfer

imap 143/tcp # Internet Message Access

ssh 22/tcp # Secure SHell

who 513/udp whod

kerberos 750/udp kdc # Kerberos key server

xaudio 1103/tcp Xaserver # X Audio Server

stel 10005/tcp # Secure Telnet

CSCI 1106, Fall 2008 net 21

The Internet around 1990

Jean Walrand, Communication Networks, a first course, McGraw-Hill 1998 (2nd edition).

The first three chapters give you a nice overview of the working of networks and the Internet.

CSCI 1106, Fall 2008 net 22

MCI backbone

Retrieved from: http://global.mci.com/about/network/maps/?flash=1&theme=/, Sept 5/2003

See this site also for interesting network statistics (e.g. latencies)

CSCI 1106, Fall 2008 net 23

Internet network architecture

Adapted from Electronic Commerce: A Managerial Perspective. Turban, Lee, King and Chung, 2000. Pg. 385

ISP

NAP

NAP

NAP

NAP

ISP

ISPISP

ISP ISP ISP

ISP

ISP

ISP

Network Service Provider

Internet Service Provider

Private Networks / hosts

Backbone

CSCI 1106, Fall 2008 net 24

b.atr.go.jpa.cs.dal.ca

CSCI 1106, Fall 2008 net 25

• Scheme

• Server name

• Path

• File

http://www.cs.dal.ca/cs1200/week1/x.html

URL: A Global Address

CSCI 1106, Fall 2008 net 26

123.777.19.6

b.atr.go.jpa.cs.dal.ca

168.12.13.3

CSCI 1106, Fall 2008 net 27

Routing and congestion control

Send information of nodes and links to each node of the network. This might include some physical properties such as maximal size of packets, typical time delays, …

Build map of network

Use routing algorithm to build routing tablesfor example: OSPF (Open Shortest Path First)if every router uses the same algorithm and maps they build consistent tables

Hierarchical Routing: `use local map to get to the highway, use highway map to get to your destination town, use local map to get to your friends house’.More sophisticated routing on `highway’ (BGP, Border Gateway Protocol)

How is congestion controlled?

CSCI 1106, Fall 2008 net 28

How is congestion controlled?

Flow control TCP

Destination publishes maximal acceptable window size in reply message

Source destination discovers congestion from unusually long delay times of response

additive increase, multiplicative decrease

CSCI 1106, Fall 2008 net 29

The JAVA Socket class

Socket oldSock = new Socket("penny.open.ac.uk", 1048); remote computer penny in the domain open.ac.uk with communication occurring via port 1048.

InputStream

Application layer:Programming example in Java

CSCI 1106, Fall 2008 net 30

Network (internet) applications

WWW & Semantic Web

CSCI 1106, Fall 2008 net 31

Tim Berners-Lee

CSCI 1106, Fall 2008 net 32

World Wide Web

Your Machine

InternetBorg

Index.html

Web server

Web browser

Parts of the puzzle•URL•HTTP•HTML

Public_html

CSCI 1106, Fall 2008 net 33

• Lightweight protocol that browsers and servers use to communicate with one another

• On top of (in the application layer of) the TCP/IP model• HTTP session begins when a client’s browser requests a

Web page. Once the server responds by sending the page requested, the HTTP session ends

HTTP: Hyper Text Transfer Protocol

CSCI 1106, Fall 2008 net 34

GET /index.html HTTP/1.1User-Agent: Lynx/2.4Connection: Keep-AliveHost: www.openaccess.comAccept: text/html

client request:

Server response: HTTP/1.1 200 OKDate: Thu, 22 July 1998 18:40:55 GMTServer: Apache 1.3.5 (Unix) PHP/3.0.6Last-Modified: Mon, 19 July 1997 16:03:22 GMTContent-Type: text/htmlContent-Length: 12987...

MIME type (Multipurpose Internet Mail Extension)

CSCI 1106, Fall 2008 net 35

HTTP is stateless!!!

• stateless because every request that a browser makes opens a new connection that is immediately closed after the document is returned

• even a web page with many objects (graphics, sound, video, etc) requires separate HTTP requests for each object

• each operation is unaware of any other connection• the server cannot maintain state information about

successive requests easily

CSCI 1106, Fall 2008 net 36

Web client/server communication

• Like any other client/server application, web browsers and servers need a way to:1. Locate each other so they can send requests and

responses back and forth • Uniform Resource Locator (URL)

2. Communicate with one another• Hypertext Transport Protocols (HTTP)

(See networking section)

CSCI 1106, Fall 2008 net 37

Interactivity

• HTML is a presentation language – not a programming language

• controls the appearance of the information on the client’s screen but does not support processing or manipulating information

• early web browsers were limited to displaying static pages

• But … many business applications require interactivity Client-side & server-side processing

CSCI 1106, Fall 2008 net 38

TML (XML)

<thomas><lecture type=‘early’>

<opening>Guten Morgen

</opening><message>

bla bla</message>

<lecture>

<research><paper></paper>

</research></thomas>

CSCI 1106, Fall 2008 net 39

DTD

<!ELEMENT ele_name (list of child elements +*?)>

Leaf element:<!ELEMENT name (#PCDATA)>

<!ATTLIST ele_name att_name att_type att_value>

<!ENTITY ent_name “ent_value”>

CSCI 1106, Fall 2008 net 40

DTD

DTDDocument

XMLParser

&Syntax Validator

XMLDocument

valid / not valid

For example MSXML

CSCI 1106, Fall 2008 net 41

XSLT

XSLTDocument

XSLTProcessor

XMLDocument

XMLDocument

CSCI 1106, Fall 2008 net 42

XSLTInclude in XML document

<?xml-stylesheet type=“text/xsl” href=“URL” ?>

XSLT document:

<xsl:stylesheet version = “1.0” xmlns:xsl = “url of xslt” xmlns = “url of xhtml”>

<xsl:templates match = “root”> <html> <head> </head> <body> <h1> …..

<xsl:for-each select = “tag”> <span style =“ whatever”> message </span> <xsl:value-of select = “subtag” /> <other html tags> ….

</xsl:for-each></html>

</xsl:template></xsl:stylesheet>

CSCI 1106, Fall 2008 net 43

Tim Berners-Lee

CSCI 1106, Fall 2008 net 44

• Web Hub– Content Management Console

ControlPanel

Front End Site

Database

XML Content Repository

General Public

Alumni

Member’s Section

Admin

RetrieveModify

Modify

Public

Google News

CSCI 1106, Fall 2008 net 45

Web service architecture

Adopted from Clabby, 2002http://www.w3.org/2002/ws/

CSCI 1106, Fall 2008 net 46

SOAP

• Simple Object Access Protocol• XML-based protocol• Exchange of information between applications

over HTTP• Seems to become the widely accepted solution

to electronic data interchange (EDI) and remote procedure call (RPC, CORBA, etc)

http://www.w3.org/TR/soap12-part0/

CSCI 1106, Fall 2008 net 47

Semantic Web stack

CSCI 1106, Fall 2008 net 48

Semantic Web The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. It is a collaborative effort led by W3C with participation from a large number of researchers and industrial partners. It is based on the Resource Description Framework (RDF), which integrates a variety of applications using XML for syntax and URIs for naming.

"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila,

The Semantic Web, Scientific American, May 2001

From http://www.w3.org/2001/sw/

CSCI 1106, Fall 2008 net 49

RDF: (Web) Resource Description Framework

http://www.w3.org/TR/rdf-primer/

Create meaning for automated processing: intelligent agents

Web Ontology: OWL http://www.w3.org/TR/owl-features/

Standardized Query Language: SPARQL

Simple example:

[Really Simple Syndication (RSS 2.0)] RDF Site Summary (RSS 1.0 and RSS 0.90)Rich Site Summary (RSS 0.91)