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 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 15
Application message
TCP header
IP header
Ethernet header
Ethernet frame
port
TCP
IP
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 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 25
• Scheme
• Server name
• Path
• File
http://www.cs.dal.ca/cs1200/week1/x.html
URL: A Global Address
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 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 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 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 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)
CSCI 1106, Fall 2008 net 50
Intro videos
Semantic Web:http://www.youtube.com/watch?v=OGg8A2zfWKg
RDF:http://www.youtube.com/watch?v=ldl0m-5zLz4