Presentation on theme: "Internet Application Development What is the Internet anyway? Colm O Suilleabhain."— Presentation transcript:
Internet Application Development What is the Internet anyway? Colm O Suilleabhain
The Internet is short for: Interconnected Network
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.
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, ring Spatial 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 signals Who 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).
Whats the Internet NOT? The web Google -reachable users Private networks
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.
What can the internet do? WWW, Hypertext, RSS, browsers FTP, WebDav Voice access (VXML, SALT) Mobile phones (WAP) IM, IRC Online gaming Video conferencing Remote backups Remote login/admin gotomypc.com Streaming video & audio
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
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.
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 exists Do 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?
How big is the Internet? Just over a billion people used the Internet in 2008 Of these, about 500 million use the Internet at least once a week There are thought to be some 155 million websites on the Internet All these numbers are guestimates and are nearly impossible to measure accurately
Internet Software Clients –A client is the requesting program or user in a client/server relationship. Servers –A program that awaits and fulfills requests from client programs in the same or other computers. Peers –A program may function as a client with requests for services from other programs and also as a server of requests from other programs.
Browser An application program that provides a way to look at and interact with all the information on the World Wide Web. –Mosaic 1993 –Opera –Firefox –Chrome –Internet Explorer
Web Server Using 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. Apache nginx IIS
Other clients & servers? Mail server/client –SendMail, Exchange, Lotus Domino –Opera, Outlook, Mozilla FTP Server/Client
Peer to Peer BitComet Bittorrent Frostwire utorrent
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
Switch A 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.
Router A 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
Modem A 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
Network card A 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 connection Wired or wireless
Wireless (a,b,g) (Wi-Fi) (Wi-Max) GPRS 3G
ADSL Technology 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.
Other delivery technologies Fibre e.g.upc Satellite Wireless Over power lines Wi Fi Mobile broadband
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
Whats a protocol? human protocols: whats the time? I have a question introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt
Whats a protocol? a human protocol and a computer network protocol: Q: Other human protocol? Hi Got the time? 2:00 TCP connection req. TCP connection reply. Get time
What do protocols look like? Binary –Fixed-length fields, like C-structures –Type-length-value (TLV) Text –ftp: PUT foo –GET index.html HTTP/1.1 Content-Length: 100
Connection-oriented service Goal: data transfer between end sys. handshaking: setup (prepare for) data transfer ahead of time –Hello, hello back human protocol –set up state in two communicating hosts TCP - Transmission Control Protocol –Internets connection- oriented service TCP service [RFC 793] reliable, in-order byte- stream data transfer –loss: acknowledgements and retransmissions flow control: –sender wont overwhelm receiver congestion control: –senders slow down sending rate when network congested
(Brief and selective) History of the Internet 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 Michael Hart begins Project Gutenberg to make copyright- free works electronically available. The first is the US declaration of independence 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 .
(Brief and selective) History of the Internet 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.http://research.microsoft.com/~mbj/Smiley/Smiley.html Joint Academic Network (JANET) built to connect UK universities to each other over the internet 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.
(Brief and selective) History of the Internet Tim Berners-Lee and the team at CERN invent the World Wide Web to make information easier to publish and access on the internet 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 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) Jerry and David's Guide to the World Wide Web is renamed Yahoo! and receives 100,000 visitors. In 1995, it begins displaying adverts.
(Brief and selective) History of the Internet 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 Jeff Bezos launches Amazon.com, an online bookseller that pioneers ecommerce eBay is launched to enable internet users to trade with each other 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
(Brief and selective) History of the Internet 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.Google 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.Napster 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 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.
(Brief and selective) History of the Internet 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 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) 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.) 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.
(Brief and selective) History of the Internet Twitter is created. In stark contrast to the proliferation of lengthy blog posts online, Twitter messages are limited to 140 characters 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 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 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.
Detailed history available at link below tmlhttp://www.isoc.org/internet/history/brief.sh tml
The web (phases) Web 1.0 ( ) – HTML on top of HTTP – consumed by humans, mostly readers and a few authors Web 2.0 ( ) – Web AJAX, XML – consumed by humans and machines with many readers and authors Modern Web (2011-) – Web HTML5 – includes mobile, cloud computing, real- time
The future of the web According to Gartner group article available here Future-of-the-Web Future-of-the-Web Contextual Mobile HTML5 UXP Social
The future of the web Cloud Real time Architecuture Browser war Consumer driven ecommerce
Internet Standardisation International Telecommunications Union (ITU) –United Nations treaty organization –Modem standards (V.90) –Traditional telephone services, fax Internet Engineering Task Force (IETF) –Core: Internet Protocol, transport (TCP) –Applications: , HTTP, ftp, NFS –Not: HTML, APIs W3C –HTML, XML, XSL, … IEEE –WiFi
What is Internet/Web development? Creating software that: –Runs on Internet hardware –Runs on Internet software –Uses Internet protocols
ISP-Internet service provider An ISP is a company that provides access to the Internet An 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.
List of Irish ISPs Ratings for Irish ISPs
URL Abbreviation 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 protocol –A host –A path –A query string
Computer port A 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.
Port Numbers Within 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
Table of well known port numbers Service Well-known port number File Transfer Protocol (FTP)21 Telnet23 Hypertext Transfer Protocol (HTTP)80 HTTP with Secure Sockets Layer (SSL)443 CORBA Internet Inter-ORB Protocol (IIOP)683 CORBA IIOP with SSL684
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.
URL component -host The host name identifies the host that holds the resource. For example, A server provides services in the name of the host, but there is not a one-to-one mapping between hosts and servers Host 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.
URL component path The 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.
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.
Before DNS In 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.
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.
The Domain Name System The 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.
DNS Hierarchy educomorgjp rpialbany
Naming a Domain Naming a Directory yahoo.com.au. C:\windows\system32\d rivers\ Start Here A. is used as separator A \ is used as separator
Host name structure Each host name is made up of a sequence of labels separated by periods. –Each label can be up to 63 characters –The total name can be at most 255 characters. Examples: –whitehouse.gov –barney.the.purple.dinosaur.com –monica.cs.rpi.edu
Domain Name The 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.
Top level domains edu, 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
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.
rpi.edu DNS DB rpi.edu DNS DB DNS Distributed Database There is one primary server for a domain, and typically a number of secondary servers containing replicated databases. rpi.edu DNS DB Authoritative rpi.edu DNS DB Replicas rpi.edu DNS server
What is a domain? A domain is a sub tree of a larger tree identified by a domain name Contains resource records and sub-domains Some resource records point to authoritative server for sub-domains / zones eg. the root contains pointers to.au google.com.au is a domain
The ausregistry.com.au sub-domain of com.au Domain com.au
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.
Name resolution Let'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.
Name resolution The 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 addresses The 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
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.
Name resolution It 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.
Name resolution The 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.
Name resolution A 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.
Name resolution Now, 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
Name resolution Finally, 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.
Step 1: Your PC sends a resolution request to its configured DNS Server, typically at your ISP. Tell me the Address of
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 I dont know the address but I know whos authoritative for the com domain ask them
Step 3: Your ISPs recursive name server then asks one of the com name servers as directed. Tell me the Address of I dont know the address but I know whos authoritative for the google.com domain ask them
Step 4: Your ISPs recursive name server then asks one of the google.com name servers as directed. Tell me the Address of The Address of is
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
Step 6: Your PC can then make the actual HTTP request to the web server. Here it is! Send me the web page
Summary The actual web request DNS
Sending an DNS is not just used in HTTP protocol (web pages) DNS is involved in almost every protocol in use on the internet Next example is how DNS facilitates the transfer of electronic mail.
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
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
Step 3: Ask the example.com name server for the list of Mail eXchangers (MX) for that domain. Tell me the MXs for example.com The MXs are mx10.example.com and mx20.backmail.com
Communications Architecture The complexity of the communication task is reduced by using multiple protocol layers: Each protocol is implemented independently Each protocol is responsible for a specific subtask Protocols are grouped in a hierarchy A structured set of protocols is called a communications architecture or protocol suite
TCP/IP Protocol Suite The TCP/IP protocol suite is the protocol architecture of the Internet The TCP/IP suite has four layers: Application, Transport, Network, and Data Link Layer End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers.
Functions of the Layers Data Link Layer: –Service: Reliable transfer of frames over a link Media Access Control on a LAN –Functions: Framing, media access control, error checking Network Layer: –Service: Move packets from source host to destination host –Functions: Routing, addressing Transport Layer: –Service: Delivery of data between hosts –Functions: Connection establishment/termination, error control, flow control Application Layer: –Service: Application specific (delivery of , retrieval of HTML documents, reliable transfer of file) –Functions: Application specific
TCP/IP Suite and OSI Reference Model The TCP/IP protocol stack does not define the lower layers of a complete protocol stack
Assignment of Protocols to Layers
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 provider Service Provider N+1 Layer Entity N+1 Layer Peer Protocol Request Delivery Indicate Delivery
Service Access Points A 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
Exchange of Data The 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 packet Scenario: Layer-N at A sends a layer-N PDU to layer-N at B What actually happens: –As layer-N passes the PDU to one the SAPs at layer-N-1 –Layer-N-1 entity at A constructs its own (layer-N-1) PDU which it sends to the layer-N-1 entity at B –PDU at layer-N-1 = layer-N-1 Header + layer –N PDU AB
Exchange of Data AB
Layers in the Example
Send HTTP Request to neon Establish a connection to at port 80 Open TCP connection to port 80 Send a datagram (which contains a connection request) to Send IP datagram to Send the datagram to Send Ethernet frame to 00:e0:f9:23:a8:20 Send Ethernet frame to 00:20:af:03:98:28 Send IP data-gram to Send the datagram to Frame is an IP datagram IP datagram is a TCP segment for port 80
Layers and Services Service provided by TCP to HTTP: –reliable transmission of data over a logical connection Service provided by IP to TCP: –unreliable transmission of IP datagrams across an IP network Service provided by Ethernet to IP: –transmission of a frame across an Ethernet segment Other services: –DNS: translation between domain names and IP addresses –ARP: Translation between IP addresses and MAC addresses
Encapsulation and Demultiplexing As data is moving down the protocol stack, each protocol is adding layer-specific control information
Encapsulation and Demultiplexing
Encapsulation and Demultiplexing: Ethernet Header
Encapsulation and Demultiplexing: IP Header
105 Encapsulation and Demultiplexing: IP Header
Encapsulation and Demultiplexing: TCP Header Option: maximum segment size
Encapsulation and Demultiplexing: TCP Header
IP Responsible for end to end transmission Sends data in individual packets Maximum size of packet is determined by the networks –Fragmented if too large Unreliable –Packets might be lost, corrupted, duplicated, delivered out of order
IP addresses 4 bytes –e.g –Each device normally gets one (or more) –In theory there are about 4 billion available IP Addresses Assigned Statically or Dynamically (DHCP) IPv6 addresses are 128 bits long …
IP Addresses 4 8-bit numbers (Hierarchical) Specifies both network and host Number of bits allocated to specify network varies Three classes: 0 net host bits 110 net host bits 1 0 net host bits ABC network 32-bits host
Routing (cont) If the destination address isnt local –Most non-router devices just send everything to a single local router –Routers need to know which network corresponds to each possible IP address
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
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.
Request consists of a request line, a set of request headers, and an entity.
Response consists of a status line, a set of response headers, and an entity.
HTTP Service Client can make requests –GET (pull) –POST (push) –(some others) Server responds –HTTP headers –HTML document or JPEG, or GIF, or…
HTTP request example In response to a user request to go to the URL the browser sends the following HTTP request to press.com: GET / HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/5.0 (compatible; Konqueror/2.2-11; Linux) Accept: text/*, image/jpeg, image/png, image/*, */* Accept-Encoding: x-gzip, gzip, identity Accept-Charset: Any, utf-8, * Accept-Language: en, en_US Host:
Explanation The 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, and 3. 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.
HTTP response HTTP/ OK Date: Thu, 24 Jan :33:52 GMT Server: Apache/ Last-Modified: Mon, 21 Jan :08:33 GMT Etag: 47bc6-25e0-3c4c9161 Accept-Ranges: bytes Content-Length: 9696 Connection: close Content-Type: text/html -- blank line-- -- HTML entity --
Explanation The 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, and 3. a short description of the status code. The Content-Length, Content-Type, Etag, and Last-Modified header lines describe the entity returned.