Presentation on theme: "Internet Application Development What is the Internet anyway?"— Presentation transcript:
1 Internet Application Development What is the Internet anyway? Colm O Suilleabhain
2 The Internet is short for: Interconnected Network
3 What is a network? From dictionary.com: An openwork fabric or structure in which cords, threads, or wires cross at regular intervals.Something resembling an openwork fabric or structure in form or concept, especially:A system of lines or channels that cross or interconnect: a network of railroads.A complex, interconnected group or system: an espionage network.An extended group of people with similar interests or concerns who interact and remain in informal contact for mutual assistance or support.
4 What is a network? From whatis.com A network is a series of points or nodes connected by communication paths. Networks can interconnect with other networks and contain subnetworks.Topology – Star, bus, ringSpatial distance as local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs).Type of data transmission technology in use on it (for example, a TCP/IP or Systems Network Architecture network);Whether it carries voice, data, or both kinds of signalsWho can use the network (public or private);Nature of its connections (dial-up or switched, dedicated or nonswitched, or virtual connections);By the types of physical links (for example, optical fiber, coaxial cable, and Unshielded Twisted Pair).
5 What’s the Internet NOT? “The web”Google-reachable usersPrivate networks
6 What is the Internet?The Internet is a massive network of networks, a networking infrastructure. It connects millions of computers together globally, forming a network in which any computer can communicate with any other computer as long as they are both connected to the Internet. Information that travels over the Internet does so via a variety of languages known as protocols.
7 What can the internet do? WWW, Hypertext, RSS, browsersFTP, WebDavVoice access (VXML, SALT)Mobile phones (WAP)IM, IRCOnline gamingVideo conferencingRemote backupsRemote login/admin gotomypc.comStreaming video & audio
8 What is the World Wide Web? The World Wide Web, or simply Web, is a way of accessing information over the medium of the Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services, which use HTTP to allow applications to communicate in order to exchange business logic, use the the Web to share information. The Web also utilizes browsers, such as Internet Explorer or Firefox, to access Web documents called Web pages that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text and video
9 Where did the Internet come from? Advanced Research Projects Agency (ARPA) of the U.S. government in 1969 and was first known as the ARPANET.Original aim was to create a network that would allow users of a research computer at one university to be able to "talk to" research computers at other universities.A side benefit of ARPANet's design was that, because messages could be routed or rerouted in more than one direction, the network could continue to function even if parts of it were destroyed in the event of a military attack or other disaster.
10 How big is the Internet?Assessing the size of the Internet is a somewhat difficult proposition, since it is a distributed body, and no complete index of it existsDo we mean how many people use the Internet? How many websites are on the Internet? How many bytes of data are contained on the Internet? How many distinct servers operate on the Internet? How much traffic runs through the Internet per second?
11 How big is the Internet?Just over a billion people used the Internet in 2008Of these, about 500 million use the Internet at least once a weekThere are thought to be some 155 million websites on the InternetAll these numbers are guestimates and are nearly impossible to measure accurately
12 Internet Software Clients Servers Peers A client is the requesting program or user in a client/server relationship.ServersA program that awaits and fulfills requests from client programs in the same or other computers.PeersA program may function as a client with requests for services from other programs and also as a server of requests from other programs.
13 BrowserAn application program that provides a way to look at and interact with all the information on the World Wide Web.Mosaic 1993OperaFirefoxChromeInternet Explorer
14 Web ServerUsing the client/server model and the World Wide Web's Hypertext Transfer Protocol (HTTP), serves the files that form Web pages to Web users (whose computers contain HTTP clients that forward their requests).Every computer on the Internet that contains a Web site must have a Web server program.ApachenginxIIS
15 Other clients & servers? Mail server/clientSendMail, Exchange, Lotus DominoOpera, Outlook, MozillaFTP Server/Client
16 Peer to PeerBitCometBittorrentFrostwireutorrent
18 Hub The central part of a wheel where the spokes come together. The term is familiar to frequent fliers who travel through airport "hubs" to make connecting flights from one point to another.In data communications, a hub is a place of convergence where data arrives from one or more directions and is forwarded out in one or more other directions
19 SwitchA device that channels incoming data from any of multiple input ports to the specific output port that will take the data toward its intended destination.
20 RouterA device or, in some cases, software in a computer, that determines the next network point to which a packet should be forwarded toward its destination.The router is connected to at least two networks and decides which way to send each information packet based on its current understanding of the state of the networks it is connected to.May create or maintain a table of the available routes and their conditions and use this information along with distance and cost algorithms to determine the best route for a given packet
21 ModemA modem modulates outgoing digital signals from a computer or other digital device to analog signals for a conventional copper twisted pair telephone line and demodulates the incoming analog signal and converts it to a digital signal for the digital device
22 Network cardA network interface card (NIC) is a computer circuit board or card that is installed in a computer so that it can be connected to a network.A dedicated full time connectionWired or wireless
24 ADSLTechnology for transmitting digital information at a high bandwidth on existing phone lines to homes and businesses.Unlike regular dialup phone service, ADSL provides continously-available, "always on" connection.ADSL is asymmetric in that it uses most of the channel to transmit downstream to the user and only a small part to receive information from the user. ADSL simultaneously accommodates analog (voice) information on the same line.ADSL is generally offered at downstream data rates from 512 Kbps to about 6 Mbps.
25 Other delivery technologies Fibre e.g.upcSatelliteWirelessOver power linesWi FiMobile broadband
26 Question?How can such a diverse range of hardware and software communicate?You can replace all the hardware with new hardware and replace all the software with new software, but its still the Internet!How come?Standard Protocols
27 What’s a protocol? human protocols: “what’s the time?” “I have a question”introductions… specific msgs sent… specific actions taken when msgs received, or other eventsnetwork protocols:machines rather than humansall communication activity in Internet governed by protocolsprotocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt
28 What’s a protocol? a human protocol and a computer network protocol: HiTCP connectionreq.HiTCP connectionreply.Got thetime?Get2:00<file>timeQ: Other human protocol?
29 What do protocols look like? “Binary”Fixed-length fields, like C-structuresType-length-value (TLV)“Text”ftp: PUT fooGET index.html HTTP/1.1Content-Length: 100
30 Connection-oriented service Goal: data transfer between end sys.handshaking: setup (prepare for) data transfer ahead of timeHello, hello back human protocolset up “state” in two communicating hostsTCP - Transmission Control ProtocolInternet’s connection-oriented serviceTCP service [RFC 793]reliable, in-order byte-stream data transferloss: acknowledgements and retransmissionsflow control:sender won’t overwhelm receivercongestion control:senders “slow down sending rate” when network congested
31 (Brief and selective) History of the Internet 1969 - The first node is connected to the internet's military ancestor, ARPANET. With no HQ and the ability to bounce messages between surviving nodes until they reach their destination, ARPANET was intended to be America's bomb-proof communications network at the height of the Cold War.1971 - Michael Hart begins Project Gutenberg to make copyright-free works electronically available. The first is the US declaration of independence.1972 - Bolt Beranek and Newman computer engineer Ray Tomlinson invents by adapting an internal messaging program and extending it to use the ARPANET to send messages between sites. Within a year, three quarters of ARPANET traffic is .
32 (Brief and selective) History of the Internet 1982 - Scott Fahlman kick-starts smiley-culture by suggesting using the :-) and :-( smileys to convey emotions in s. His message has been preserved athttp://research.microsoft.com/~mbj/Smiley/Smiley.html.1984 - Joint Academic Network (JANET) built to connect UK universities to each other over the internet.1986 - Internet newsgroups are born. Rick Adams at the Center for Seismic Studies releases software enabling news transmission, posting and reading using internet-standard TCP/IP connections. His software builds on work begun in 1979 at Duke University to exchange information between Unix machines.
33 (Brief and selective) History of the Internet 1989 - Tim Berners-Lee and the team at CERN invent the World Wide Web to make information easier to publish and access on the internet.1993 - Marc Andreesen of the National Center for SuperComputer Applications in the US launches web-browser Mosaic. It introduces proprietary HTML tags and more sophisticated image capabilities. The browser is a massive success and businesses start to notice the web's potential. Andreesen goes on to develop the Netscape web browser.1994 - Internet Magazine launches. It reports on London's first cybercafe and reviews 100 websites. It's billed as the 'most extensive' list of websites ever to appear in a magazine. A 28.8Kbps modem costs £399 (plus VAT).1994 - Jerry and David's Guide to the World Wide Web is renamed Yahoo! and receives 100,000 visitors. In 1995, it begins displaying adverts.
34 (Brief and selective) History of the Internet 1995 - Digital Equipment Corporation's Research lab launches search engine Alta Vista, which it claims can store and index the HTML from every internet page. It also introduces the first multilingual search.1995 - Jeff Bezos launches Amazon.com, an online bookseller that pioneers ecommerce.1995 - eBay is launched to enable internet users to trade with each other.1996 - The browser wars begin. Microsoft sees the internet as a threat and integrates Internet Explorer with Windows. Netscape and Microsoft go head-to-head, intensively developing and releasing upgrades to their browsers
35 (Brief and selective) History of the Internet 1998 - Google arrives. It pioneers a ranking system that uses links to assess a website's popularity. Google's simple design is soothing while existing search engines cram their pages with animated adverts.1999 - Shawn Fanning launches Napster. The peer-to-peer software enables internet users to swap MP3 music files stored on their computers and to find each other through a central directory. Record labels are furious. By July 2001, they had effectively stopped Napster operating.2000 - The dotcom bust. After several years of venture capitalists throwing money at proposals with 'internet' on the cover, it all starts unravelling as many of these businesses fail to find a market and others realise they don't have a business plan.2001 - US regulators approve the merger of AOL and Time Warner. Shareholders of relative upstart AOL own 55% of the new company. AOL started in 1985 and grew its modest internet connection business into one of the world's biggest media companies.
36 (Brief and selective) History of the Internet 2004 - As broadband becomes more popular, media companies start selling music and video online. Napster relaunches as a paid music download store. It's up against iTunes, Apple's download store for its trendy iPod portable music players.2004 - Mark Zuckerberg launches Facebook at Harvard University. Within three years, the social networking site has 30 million members. By 2009, Facebook boasts of over 200 million active users (those who have logged in in the last 30 days).2004 - Photo sharing website Flickr is born, coinciding with the rise in digital photography. (Kodak discontinues reloadable film cameras in Western Europe and North America in this year.)2005 - The internet starts to threaten television and telephone companies. Youtube launches to enable people to easily publish videos online. Within a year, Google acquires Youtube for $1.65 billion despite owning its own video site. At the time, Youtube users were uploading 65,000 new films and watching 100 million clips each day. Meanwhile, phone companies are threatened by free internet-based phone calls. Skype enables two million calls at any moment, and has a user base of 53 million. eBay acquires Skype for $2.6 billion (£1.4 billion), although it later fails to incorporate Skype into its core business successfully.
37 (Brief and selective) History of the Internet 2006 - Twitter is created. In stark contrast to the proliferation of lengthy blog posts online, Twitter messages are limited to 140 characters.2008 - Jack Sheng becomes the first person to earn an eBay feedback score of one million. From startup capital of $500, Sheng has built a $40 million business selling gadgets. eBay creates the shooting silver star to designate users with a feedback score of over a million.2008 - Google's tenth birthday. The company that began with a search engine now also dominates online advertising and has a leading presence in online mapping, webmail and online document collaboration. Google's search engine indexes 1 trillion unique URLs and there are several billion new webpages published every day. Google encroaches on Microsoft's territory with the launch of the Google Chrome browser.2008 - The mobile web reaches critical mass for advertising, according to Nielsen Mobile. In the US, there are 95 million mobile internet subscribers and 40 million active users. US mobile penetration is 15.6%, compared to 12.9% in the UK. Mobile internet generated $1.7 billion in revenue in the first quarter of 2008.
39 The web (phases)Web 1.0 ( ) – HTML on top of HTTP – consumed by humans, mostly readers and a few authorsWeb 2.0 ( ) – Web AJAX, XML – consumed by humans and machines with many readers and authorsModern Web (2011-) – Web HTML5 – includes mobile, cloud computing, real-time
40 The future of the webAccording to Gartner group article available hereContextualMobileHTML5UXPSocial
41 The future of the web Cloud Real time Architecuture Browser war Consumer drivenecommerce
42 Internet Standardisation International Telecommunications Union (ITU)United Nations treaty organizationModem standards (V.90)Traditional telephone services, faxInternet Engineering Task Force (IETF)Core: Internet Protocol, transport (TCP)Applications: , HTTP, ftp, NFSNot: HTML, APIsW3CHTML, XML, XSL, …IEEEWiFi
43 What is Internet/Web development? Creating software that:Runs on Internet hardwareRuns on Internet softwareUses Internet protocols
44 ISP-Internet service provider An ISP is a company that provides access to the InternetAn ISP might provide dial-up service, cable, DSL, or other types of Internet access. Some ISPs are local while others are national. A national ISP will provide access throughout most of the nation, while a local ISP will only serve subscribers in a limited geographical region.Hosting ISPs lease server space for smaller businesses and host other people servers .Transit ISPs provide large pipes for connecting hosting ISPs to access ISPs.
46 List of Irish ISPs http://www.ispai.ie/members.htm Ratings for Irish ISPs
47 URLAbbreviation of Uniform Resource Locator (URL) it is the global address of documents and other resources on the World Wide Web.A URL is usually made up of three or four different components.A scheme or protocolA hostA pathA query string
49 Computer portA computer port is a type of electronic, software- or programming-related docking point through which information flows from a program on your computer or to your computer from the Internet or another computer in a network. Port numbers and the user's IP address combine into the "who does what" information kept by every Internet Service Provider.
50 Port NumbersWithin a server, it is possible for more than one user process to use TCP at the same time. To identify the data associated with each process, port numbers are used. Port numbers are 16-bit, and numbers up to are possible, although in practice only a small subset of these numbers are commonly used.When a client process first contacts a server process, it may use a well-known port number to initiate communication. Well-known port numbers are assigned to particular services throughout the Internet, by IANA, the Internet Assigned Numbers Authority. The well-known port numbers are in the range 0 through 1023
51 Table of well known port numbers ServiceWell-known port numberFile Transfer Protocol (FTP)21Telnet23Hypertext Transfer Protocol (HTTP)80HTTP with Secure Sockets Layer (SSL)443CORBA Internet Inter-ORB Protocol (IIOP)683CORBA IIOP with SSL684
52 URL components- protocol The scheme identifies the protocol to be used to access the resource on the Internet. It can be HTTP (without SSL) or HTTPS (with SSL) or FTP.
53 URL component -hostThe host name identifies the host that holds the resource. For example, www.example.com. A server provides services in the name of the host, but there is not a one-to-one mapping between hosts and serversHost names can also be followed by a port number.Well-known port numbers for a service are normally omitted from the URL. Most servers use the well-known port numbers for HTTP and HTTPS , so most HTTP URLs omit the port number.
54 URL component pathThe path identifies the specific resource within the host that the Web client wants to access. For example, /software/htp/cics/index.html. If a query string is used, it follows the path component, and provides a string of information that the resource can use for some purpose (for example, as parameters for a search or as data to be processed). The query string is usually a string of name and value pairs, for example, q=bluebird.
55 URL delimiters scheme://host:port/path?query The scheme is followed by a colon and two forward slashes.If a port number is specified, that number follows the host name, separated by a colon.The path name begins with a single forward slash.If a query string is specified, it is preceded by a question mark.
56 Before DNSIn the early days of the Internet, humans and other computers located the few massive inter-connected computers the same way: by their numeric Internet Protocol (IP) Addresses.Soon, the impracticality of memorizing all these numbers became obvious, and a rudimentary naming scheme was developed. A central repository of names and their associated IP addresses was created and maintained in the form of a plain list.Periodically, administrators would connect to this central repository and download the current list of computer names.
57 Before DNS As the number of computers (hosts) on the Internet increased, this file began to grow exponentially, and keeping the hosts file up to date became a much more time-consuming task. The early pioneers of the Internet realized that this system would prove to be very difficult to scale.So, the host naming process went under the knife in order to develop a more scalable system with distributed management.
58 The Domain Name SystemThe domain name system is usually used to translate a host name into an IP address .Domain names comprise a hierarchy so that names are unique, yet easy to remember.
60 C:\windows\system32\drivers\ Naming a Domain Naming a DirectoryStart HereStart HereC:\windows\system32\drivers\yahoo.com.au.A “.” is used as separatorA “\” is used as separator
61 Host name structureEach host name is made up of a sequence of labels separated by periods.Each label can be up to 63 charactersThe total name can be at most 255 characters.Examples:whitehouse.govbarney.the.purple.dinosaur.commonica.cs.rpi.edu
62 Domain NameThe domain name for a host is the sequence of labels that lead from the host (leaf node in the naming tree) to the top of the worldwide naming tree.A domain is a subtree of the worldwide naming tree.
63 Top level domainsedu, gov, com, net, org, mil, …Countries each have a top level domain (2 letter domain name).New top level domains include:.aero .biz .coop .info .name .pro
64 DNS Organization Distributed Database The organization that owns a domain name is responsible for running a DNS server that can provide the mapping between hostnames within the domain to IP addresses.So - some machine run by RPI is responsible for everything within the rpi.edu domain.
65 DNS Distributed Database There is one primary server for a domain, and typically a number of secondary servers containing replicated databases.rpi.edu DNS serverrpi.eduDNS DBrpi.eduDNS DBrpi.eduDNS DBrpi.eduDNS DBAuthoritativeReplicas
66 What is a domain?A domain is a sub tree of a larger tree identified by a domain nameContains resource records and sub-domainsSome resource records point to authoritative server for sub-domains / zoneseg. the root contains pointers to .augoogle.com.au is a domain
67 Domain com.auThe ausregistry.com.au sub-domain of com.au
68 Registering a domain Entities who wish to set up and control their own domains must choose a top-level name space to operate in, and decide on a second-level name.Then, they must contact one of a group of central authorities that oversee the top-level name space and register this domain name.These central authorities are appropriately deemed registrars. While selecting a second-level domain name that directly represents your firm's name is a convention, there is no rule requiring it.Anyone can register any name they choose providing that the standard naming rules are adhered to and the name is available.
69 Name resolutionLet's imagine that an Internet user wants to look up information on a website. We'll use a fictitious site, "http://www.example.com".First, the user types the above URL into his web browser and the computer begins processing the web request. The user's computer must find the IP address for "www.example.com" before it can contact the correct server.
70 Name resolutionThe web browser then turns this hostname over to the resolver. A resolver is just a computer program or process that runs silently on any computer connected to the Internet that needs to be able to translate names to IP addressesThe resolver checks its own internal tables to see if it has any information stored or cached containing the IP address for the requested hostname.If not, the resolver checks its configuration for the IP address of a name server to which it can pass the query
71 Name resolution In most cases, the client resolver will have to connect to this name server to answer the query, unless it has been looked up recently and is in the resolver cache or has been manually entered in the local resolver's host table. The next server in the chain for the average user is usually a DNS server that an Internet Service Provider owns and maintains.
72 Name resolutionIt is at this step in the resolution chain that we must introduce the concept of authority.Every registered domain name is required to select two or more name servers that will pass on "official" data for that domain name to the rest of the Internet when asked.
73 Name resolutionThe recursive server, upon receiving a query from the resolver, checks to see if it is authoritative and has the information for the zone requested in its local configuration or cache. If the recursive server can't resolve the query on its own, it too will need a "next step" to take. But, what servers can it ask, and how does it know about them? A name server that responds to queries should have a file containing a listing of names and addresses of Internet root servers.
74 Name resolutionA root server is a particular type of domain name server on the Internet that stores top-level naming information and second-level delegations.Root servers tell the recursive servers where to go find out more information about the domain they're querying.
75 Name resolutionNow, our query has made it from the client resolver to the recursive server to the root server, and the root server has found the server that should have the necessary information to respond to the query.We'll call this the authoritative server. The root server now passes this address back to the recursive serve
76 Name resolutionFinally, the recursive server must contact the authoritative server and issue the original query.It will then return that result to the recursive server.The recursive server delivers the result to the client and potentially caches the query result.The client resolver hands off the IP address in question to the actual network protocols to locate the IP address and establish a connection, and the resolution process is complete.
77 Tell me the Address of “www.google.com” Step 1: Your PC sends a resolution request to its configured DNS Server, typically at your ISP.Tell me the Address of “www.google.com”
78 Tell me the Address of “www.google.com” Step 2: Your ISPs recursive name server starts by asking one of the root servers predefined in its “hints” file.Tell me the Address of “www.google.com”I don’t know the address but I know who’s authoritative for the ”com” domain ask them
79 Tell me the Address of “www.google.com” Step 3: Your ISPs recursive name server then asks one of the “com” name servers as directed.Tell me the Address of “www.google.com”I don’t know the address but I know who’s authoritative for the ”google.com” domain ask them
80 Step 4: Your ISPs recursive name server then asks one of the “google Step 4: Your ISPs recursive name server then asks one of the “google.com” name servers as directed.Tell me the Address of “www.google.com”The Address of is
81 The Address of www.google.com is 22.214.171.124 Step 5: ISP DNS server then send the answer back to your PC. The DNS server will “remember” the answer for a period of time.The Address of is
82 Send me the www.google.com.au web page Step 6: Your PC can then make the actual HTTP request to the web server.Send me the web pageHere it is!
84 Sending an Email DNS is not just used in HTTP protocol (web pages) DNS is involved in almost every protocol in use on the internetNext example is how DNS facilitates the transfer of electronic mail.
85 Please send this message to “firstname.lastname@example.org” Step 1: Your PC sends the to its configured outbound mail server. A DNS request similar to the previous example is required to find the address of the mail server.Please send this message to
86 Step 2: Your mail server follows the same intensive process to find the authoritative servers for “example.com”.Tell me the name servers for “example.com”Here are the name servers for “example.com”
87 Step 3: Ask the “example.com” name server for the list of “Mail eXchangers (MX) for that domain. Tell me the MX’s for “example.com”The MXs are mx10.example.com and mx20.backmail.com
88 Communications Architecture The complexity of the communication task is reduced by using multiple protocol layers:Each protocol is implemented independentlyEach protocol is responsible for a specific subtaskProtocols are grouped in a hierarchyA structured set of protocols is called a communications architecture or protocol suite
89 TCP/IP Protocol SuiteThe TCP/IP protocol suite is the protocol architecture of the InternetThe TCP/IP suite has four layers: Application, Transport, Network, and Data Link LayerEnd systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers.
90 Functions of the Layers Data Link Layer:Service: Reliable transfer of frames over a link Media Access Control on a LANFunctions: Framing, media access control, error checkingNetwork Layer:Service: Move packets from source host to destination hostFunctions: Routing, addressingTransport Layer:Service: Delivery of data between hostsFunctions: Connection establishment/termination, error control, flow controlApplication Layer:Service: Application specific (delivery of , retrieval of HTML documents, reliable transfer of file)Functions: Application specific
91 TCP/IP Suite and OSI Reference Model The TCP/IP protocol stack does not define the lower layers of a complete protocol stack
93 Layered Communications An entity of a particular layer can only communicate with:1. a peer layer entity using a common protocol (Peer Protocol)2. adjacent layers to provide services and to receive services
94 Layered Communications A layer N+1 entity sees the lower layers only as a service providerN+1 Layer EntityN+1 Layer Peer ProtocolN+1 Layer EntityRequest DeliveryIndicate DeliveryService Provider
95 Service Access PointsA service user accesses services of the service provider at Service Access Points (SAPs)A SAP has an address that uniquely identifies where the service can be accessed
96 Exchange of DataThe unit of data send between peer entities is called a Protocol Data Unit (PDU)For now, let us think of a PDU as a single packetScenario: Layer-N at A sends a layer-N PDU to layer-N at BWhat actually happens:A’s layer-N passes the PDU to one the SAPs at layer-N-1Layer-N-1 entity at A constructs its own (layer-N-1) PDU which it sends to the layer-N-1 entity at BPDU at layer-N-1 = layer-N-1 Header + layer –N PDUAB
99 Layers in the Example Send the datagram to 126.96.36.199 Send HTTP Request to neonEstablish a connection to at port 80Open TCP connection to port 80IP datagram is a TCP segment for port 80Send a datagram (which contains a connection request) toSend IP data-gram toSend IP datagram toFrame is an IP datagramFrame is an IP datagramSend the datagram toSend the datagram toSend Ethernet frame to 00:e0:f9:23:a8:20Send Ethernet frame to 00:20:af:03:98:28
100 Layers and Services Service provided by TCP to HTTP: reliable transmission of data over a logical connectionService provided by IP to TCP:unreliable transmission of IP datagrams across an IP networkService provided by Ethernet to IP:transmission of a frame across an Ethernet segmentOther services:DNS: translation between domain names and IP addressesARP: Translation between IP addresses and MAC addresses
101 Encapsulation and Demultiplexing As data is moving down the protocol stack, each protocol is adding layer-specific control information
108 IP Responsible for end to end transmission Sends data in individual packetsMaximum size of packet is determined by the networksFragmented if too largeUnreliablePackets might be lost, corrupted, duplicated, delivered out of order
109 IP addresses4 bytese.gEach device normally gets one (or more)In theory there are about 4 billion availableIP Addresses Assigned Statically or Dynamically (DHCP)IPv6 addresses are 128 bits long…
110 IP Addresses 4 8-bit numbers (Hierarchical) Specifies both network and hostNumber of bits allocated to specify network variesThree classes:networkhost32-bits0 net hostbitsnet hostbits1 0 net hostbitsABC
111 Routing (cont) If the destination address isn’t local Most non-router devices just send everything to a single local routerRouters need to know which network corresponds to each possible IP address
112 What is HTTP?HTTP, the Hypertext Transfer Protocol, is the application-level protocol that is used to transfer data on the Web.HTTP comprises the rules by which Web browsers and servers exchange information.Although most people think of HTTP only in the context of the World-Wide Web, it can be, and is, used for other purposes
113 How does it work?HTTP Is a request-response protocol. For example, a Web browser initiates a request to a server, typically by opening a TCP/IP connection.
114 Request consists of a request line, a set of request headers, and an entity.
115 Response consists of a status line, a set of response headers, and an entity.
116 HTTP Service Client can make requests Server responds GET (pull) POST (push)(some others)Server respondsHTTP headersHTML documentor JPEG, or GIF, or…
117 HTTP request example In response to a user request to go to the URL the browser sends the following HTTP request toGET / HTTP/1.1Connection: Keep-AliveUser-Agent:Mozilla/5.0 (compatible; Konqueror/2.2-11; Linux)Accept: text/*, image/jpeg, image/png, image/*, */*Accept-Encoding: x-gzip, gzip, identityAccept-Charset: Any, utf-8, *Accept-Language: en, en_USHost:
118 ExplanationThe first line is the request line that comprises three fields:1. a method: The GET method indicates that the server is supposed to return an entity.2. a request-URI (Universal Resource Identifier). The / indicates the root of the document system on the server, and3. HTTP protocol version: 1.1 in this case.The second line is the optional Connection header informs the server that the browser would like to leave the connection open after the response.The third line is the optional User-Agent header that identifies the kind of browser that is sending the request, its version, and its operating system.The Accept headers specify the type, language, and encoding for the returned entity that the browser would prefer to receive from the server.
119 HTTP response HTTP/1.1 200 OK Date: Thu, 24 Jan 2002 17:33:52 GMT Server: Apache/1.3.14Last-Modified: Mon, 21 Jan :08:33 GMTEtag: “47bc6-25e0-3c4c9161”Accept-Ranges: bytesContent-Length: 9696Connection: closeContent-Type: text/html-- blank line---- HTML entity --
120 ExplanationThe first line is the status line consisting of three fields:1. HTTP protocol version of the response: 1.1 in this case,2. a three-digit numeric status code, and3. a short description of the status code.The Content-Length, Content-Type, Etag, and Last-Modified header lines describe the entity returned.