1
Internet ApplicationsInternet ApplicationsSeminar on Communication SystemsSC001CMarch 14, 2006Daniel R. Figueiredolcawww.epfl.chWhat is the Internet?
❒ Technical view❍physical components that form the network❍protocols
❒ Service view❍what the network provides❍how we can use the networkHow can we use the Internet?
2
Technical View❒ Millions of connected computing devices
❍ networking equipment (routers, servers, etc)❍ hosts or end-systems (PCs, laptops, workstations, etc)
❒ Millions of links❍ fiber, copper, radio, satellite
❒ Router: fundamental networking device❍ forwards data towards destination
routerworkstationservermobileaccess pointTechnical View
❒ Loose hierarchical organization❍ a “Network of networks”❍ public Internet versus private intranet
❒ Standard and open protocols❍ determines how messages are sent and received❍ PPP, IP, TCP, UDP, HTTP, FTP, SMTP, IMAP, etc
local ISP companynetworkregional ISP routerworkstationservermobileaccess point
3
Internet Structure routerserveraccess pointworkstationmobile❒ Network edge
❍hosts and applications❍ located at “edge” of network
❒ Network core❍ routers, some networking protocols
local ISP companynetworkregional ISPAccess Networks routerserveraccess pointworkstationmobile❒ Connection of end system (hosts) to Internet
❍ residential access network❍ institutional access network (university, company, etc)
❒ Characteristics❍ wired or wireless access network❍ shared or dedicated❍ bandwidth (bits per second)
❒ Examples❍ Dial-up, ADSL, Cable Modem, Ethernet, 802.11
4
Service View❒ Communication infrastructure
❍ enables distributed applications❍ web, email, games, instant messaging, file sharing, etc.
❒ Provides communication service to applications❍ connectionless, unreliable (UDP)❍ connection-oriented, reliable, rate controlled (TCP)
routerserveraccess pointworkstationmobileApplications
❒ What applications can we run in Internet?❒ Web❒ Email❒ Instant messaging❒ Remote login❒ P2P file sharing ❒ Multi-user games
❒ Internet telephone❒ Internet radio❒ Internet TV❒ Real-time video conferenceAnd any other application you can think of!Real-time data (harder constraints)
5
“Cool” Internet AppliancesWeb-enabled toaster and weather forecaster
Ceiva IP Picture Frame
KerbangoInternet Radio
Motorola Ojo Cordless IP Video Phone
Why so Many Applications?❒ End-to-end principle
❍ design philosophy of Internet❍ move network functionality to edge of network❍ network core provides simple tasks
❒ Network provides “best effort” service❍ try its best to deliver information
❒ New applications can easily emerge❍ anyone can design and implement❍ reason for Internet success
❒ Occam's razor❍ “one should not increase, beyond what is necessary, the number of entities required to explain anything”
6
Common View of Internetbricks (dumb) brains (smart)The Telephone Network
❒ Designed to carry voice calls❍ over 100 years old❍ smart network: tight control of data and signaling traffic
❒ Dumb terminals❍ telephone are very simple devices
❒ Offered services (applications)❍ special numbers (toll free, paid service), caller ID, calling card, call restrictions
❒ Hard to develop new services❍ standardization required
7
Common View of Telephone Networkbricks (dumb) brains (smart)End-to-End Principle in Jeopardy?
❒ Security threats❍ end hosts can launch malicious applications
❒ Accountability❍ who is responsible for what
❒ Differentiated services❍ best effort service not enough for some apps❍ ISPs want a multiple service structurePush away from E2E principle
8
Client Server Communication Model❒ Client/server model
❍ classical communication model❍ client host requests service from always-on server❍ application defined by two programs• client side and server side❍ Web (web server and web client), Email, etcPeer-to-Peer Communication Model
❒ Peer-to-peer model❍ new trend for distributed applications❍ hosts request service from other hosts❍ no (or minimal) use of servers❍ application defined by single program❍ Kazaa, Gnutella, Skype, etc
9
Creating a Network Application❒ Write a program that
❍ runs on different end systems❍ communicate over a network
❒ Communication done by exchanging messages❍ message contents determined by application
❒ No code written for devices in network core❍ network core devices are unaware of appsApplication Example
❒ Internet telephony❍ calls between end hosts (for free)❍ connects to telephone network (cheap rates)❍ easy to use and good quality
❒ Peer-to-peer model❍ peers: end hosts running Skype❍ large network: over 5 million peers at one time
❒ How are peers used?❍ provide lookup service (who is where)❍ provide relay service (bypass NATs and firewalls)
10
Joe InternetRegistering Location in NetworkJoe is logged in H1H1 H2 H3 H4H5
❒ Joe’s location updated when he logs in❍ P2P network maintains record of user location
Joe InternetFinding User Location Joe is logged in H1H1 H2 H3 H4H5
❒ Mary calls Joe❍ must first find Joe’s location❍ send query to P2P network Marywhere is Joe
11
Joe InternetMaking a Callinitiates callH1 H2 H3 H4H5
❒ User attempts to initiate call directly❍ if accept, call is established Maryaccepts call
Joe InternetMaking a Call (behind Firewall)
initiates callH1 H2 H3 H4H5❒ User makes call through a relay node
❍ calls can bypass firewalls❒ Great or bad idea? Maryfirewallaccepts call relay node
12
Conclusion❒ Internet as a network infrastructure
❍powerful, open, easy to use❒ Applications can easily emerge
❍your imagination is the limit❒ How to continue evolving and cope with today’s demand?
❍better service for applications❍ security and accountability❍network opennessReferences
❒ Computer Networking, a top down approach featuring the InternetJames Kurose and Keith Ross3rd edition, Addison-Wesley Longmanhttp://www.aw-bc.com/kurose-ross/