Presentation is loading. Please wait.

Presentation is loading. Please wait.

Internet Application Development What is the Internet anyway?

Similar presentations

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
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
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).

5 What’s the Internet NOT?
“The web” Google -reachable users Private 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, browsers FTP, WebDav Voice access (VXML, SALT) Mobile phones (WAP) IM, IRC Online gaming Video conferencing Remote backups Remote login/admin Streaming 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 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?

11 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

12 Internet Software Clients Servers Peers
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.

13 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

14 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

15 Other clients & servers?
Mail server/client SendMail, Exchange, Lotus Domino Opera, Outlook, Mozilla FTP Server/Client

16 Peer to Peer BitComet Bittorrent Frostwire utorrent

17 Internet hardware Edge devices - Clients, servers, peers, PC’s servers, phones, PDA’s Core devices – Hubs, switches, routers, gateways Access devices – analogue modems, base stations, ISDN modems, network cards, cable modems, DSL modem Connection devices – POTS, wireless, fibre, CAT5/CAT6

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 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.

20 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

21 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

22 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

23 Wireless (a,b,g) (Wi-Fi) (Wi-Max) GPRS 3G

24 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.

25 Other delivery technologies
Fibre e.g.upc Satellite Wireless Over power lines Wi Fi Mobile 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 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

28 What’s a protocol? a human protocol and a computer network protocol:
Hi TCP connection req. Hi TCP connection reply. Got the time? Get 2:00 <file> time Q: Other human protocol?

29 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

30 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 Internet’s connection-oriented service TCP service [RFC 793] reliable, in-order byte-stream data transfer loss: acknowledgements and retransmissions flow control: sender won’t overwhelm receiver congestion 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 at 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, 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.

38 Detailed history available at link below

39 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

40 The future of the web According to Gartner group article available here Contextual Mobile HTML5 UXP Social

41 The future of the web Cloud Real time Architecuture Browser war
Consumer driven ecommerce

42 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

43 What is Internet/Web development?
Creating software that: Runs on Internet hardware Runs on Internet software Uses Internet protocols

44 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.

45 ISPs

46 List of Irish ISPs
Ratings for Irish ISPs

47 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

48 Address Resolution

49 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.

50 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

51 Table of well known port numbers
Service Well-known port number File Transfer Protocol (FTP) 21 Telnet 23 Hypertext Transfer Protocol (HTTP) 80 HTTP with Secure Sockets Layer (SSL) 443 CORBA Internet Inter-ORB Protocol (IIOP) 683 CORBA IIOP with SSL 684

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 -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.

54 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.

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 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.

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 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.

59 DNS Hierarchy edu com org jp rpi albany

60 C:\windows\system32\drivers\
Naming a Domain Naming a Directory Start Here Start Here C:\windows\system32\drivers\ A “.” is used as separator A “\” is used as separator

61 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:

62 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.

63 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

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 domain.

65 DNS Distributed Database
There is one primary server for a domain, and typically a number of secondary servers containing replicated databases. DNS server DNS DB DNS DB DNS DB DNS DB Authoritative Replicas

66 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 is a domain

67 Domain The sub-domain of

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 resolution Let's imagine that an Internet user wants to look up information on a website. We'll use a fictitious site, "". 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 "" before it can contact the correct server.

70 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

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 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.

73 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.

74 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.

75 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

76 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.

77 Tell me the Address of “”
Step 1: Your PC sends a resolution request to its configured DNS Server, typically at your ISP. Tell me the Address of “”

78 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 don’t know the address but I know who’s authoritative for the ”com” domain ask them

79 Tell me the Address of “”
Step 3: Your ISPs recursive name server then asks one of the “com” name servers as directed. Tell me the Address of “” I don’t know the address but I know who’s authoritative for the ”” 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 “” name servers as directed. Tell me the Address of “” The Address of is

81 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

82 Send me the web page
Step 6: Your PC can then make the actual HTTP request to the web server. Send me the web page Here it is!

83 Summary The actual web request DNS

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 internet Next example is how DNS facilitates the transfer of electronic mail.

85 Please send this message to “”
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 “”. Tell me the name servers for “” Here are the name servers for “”

87 Step 3: Ask the “” name server for the list of “Mail eXchangers (MX) for that domain.
Tell me the MX’s for “” The MXs are and

88 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

89 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.

90 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

91 TCP/IP Suite and OSI Reference Model
The TCP/IP protocol stack does not define the lower layers of a complete protocol stack

92 Assignment of Protocols to Layers

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 provider N+1 Layer Entity N+1 Layer Peer Protocol N+1 Layer Entity Request Delivery Indicate Delivery Service Provider

95 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

96 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: A’s 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 A B

97 Exchange of Data A B

98 Layers in the Example

99 Layers in the Example Send the datagram to
Send HTTP Request to neon Establish a connection to at port 80 Open TCP connection to port 80 IP datagram is a TCP segment for port 80 Send a datagram (which contains a connection request) to Send IP data-gram to Send IP datagram to Frame is an IP datagram Frame is an IP datagram Send the 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

100 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

101 Encapsulation and Demultiplexing
As data is moving down the protocol stack, each protocol is adding layer-specific control information

102 Encapsulation and Demultiplexing

103 Encapsulation and Demultiplexing: Ethernet Header

104 Encapsulation and Demultiplexing: IP Header

105 Encapsulation and Demultiplexing: IP Header

106 Encapsulation and Demultiplexing: TCP Header
Option: maximum segment size

107 Encapsulation and Demultiplexing: TCP Header

108 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

109 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

110 IP Addresses 4 8-bit numbers (Hierarchical)
Specifies both network and host Number of bits allocated to specify network varies Three classes: network host 32-bits 0 net host bits net host bits 1 0 net host bits A B C

111 Routing (cont) If the destination address isn’t 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

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 responds HTTP headers HTML document or 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 to 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:

118 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.

119 HTTP response HTTP/1.1 200 OK Date: Thu, 24 Jan 2002 17:33:52 GMT
Server: Apache/1.3.14 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 --

120 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.

Download ppt "Internet Application Development What is the Internet anyway?"

Similar presentations

Ads by Google