DT266/3 Internet Application Development

35
DT266/3 Internet Application Development The Internet

description

DT266/3 Internet Application Development. The Internet. Internet. “The Internet is a worldwide system of computer networks , a network of networks in which users at any one computer can, if they have permission, get information from any other computer” http://www.whatis.com. - PowerPoint PPT Presentation

Transcript of DT266/3 Internet Application Development

Page 1: DT266/3 Internet Application Development

DT266/3 Internet Application Development

The Internet

Page 2: DT266/3 Internet Application Development

Internet

“The Internet is a worldwide system of computer

networks, a network of networks in which users

at any one computer can, if they have permission,

get information from any other computer”–http://www.whatis.com

Page 3: DT266/3 Internet Application Development

Internet "Internet" refers to the global information system that –

(i) is logically linked together by a globally unique address

space based on the Internet Protocol (IP) or its subsequent

extensions/follow-ons; (ii) is able to support communications

using the Transmission Control Protocol/Internet Protocol

(TCP/IP) suite or its subsequent extensions/follow-ons, and/or

other IP-compatible protocols; and (iii) provides, uses or

makes accessible, either publicly or privately, high level

services layered on the communications and related

infrastructure described herein.

– Federal Networking Council (1995)

Page 4: DT266/3 Internet Application Development

So what is it?

The Internet is a network…

Page 5: DT266/3 Internet Application Development

So what is it?

…of networks...

Page 6: DT266/3 Internet Application Development

So what is it?

…comprised of nodes, each of whom can communicate

with each other using a standard set of rules...

INTERNETNODE A

NODE B

TCP/IP

Page 7: DT266/3 Internet Application Development

TCP/IP

Transmission Control Protocol/Internet ProtocolCarries information around the Internet for us

Hold on…What is a protocol?Why do we need it?

Page 8: DT266/3 Internet Application Development

Protocol

The forms of ceremony and etiquette observed by

diplomats and heads of state.

A code of correct conduct: safety protocols; academic

protocol.

–http://www.dictionary.com

…what they’re really saying is that a protocol is…

an agreed set of rules

or, in computer scienceA standard procedure for regulating data transmission

between computers.

–http://www.dictionary.com

Page 9: DT266/3 Internet Application Development

Protocol

Why is it so important for the Internet

Consider postal system...

Internet is comprised of networks of networks

Each network contains different types of nodes/hosts

Unix

Windows

Each network is (possibly) a different type

speaks a different language

Need a common standard

Page 10: DT266/3 Internet Application Development

TCP/IP

IPInternet ProtocolGives every node connected to the Internet a unique

addressProvides a standard message type for nodes to send

messages between each otherThis protocol is agreed by all nodes connected to the

Internet to allow them to communicate in the same

language

Page 11: DT266/3 Internet Application Development

IP - Internat Addressing

All nodes have a unique addressEach address is represented by 32 bits

e.g. 10010011111111001000010000101011broken into four parts separated by a decimal

pointe.g. 10010011. 11111100.10000100.00101011and converted to decimale.g. 147.252.132.43

Page 12: DT266/3 Internet Application Development

IP – Message Format

There exists a specific format for messages that nodes send to eachother

Application data is appended onto the message

Page 13: DT266/3 Internet Application Development

TCP

TCP is the transmission control protocolIt ensures that IP messages are delivered

IP and TCP exist at two separate levels, or layers in the protocol stack

Page 14: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•Application, such as web browser wishes to send a message.

•Puts together its message using its own protocol (HTTP - we will meet this again later) and hands it down to transport layer

APP

Page 15: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•Transport layer receives message and wraps it up using its own protocol - TCP

•Resulting message is handed down to Network Layer.

APPTRANS

Page 16: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•Network Layer receives message and wraps it up using its own protocol, IP and sends it across the network, i.e. over the Internet, with the IP address of its destination

APPTRANSNW

INTERNET

Page 17: DT266/3 Internet Application Development

Protocol Stack

The final message, called an IP packet, is sent from node to node, using a process called routing (outside the syllabus of this course).

Each node looks at the destination address and forwards the message onwards.

When the node reaches the destination the encapsulation process we just witnessed is reversed.

Page 18: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•Destination network layer receives message after it was routed across the Internet. •NW Layer removes the contents and passes it up to the Transport Layer

APPTRANSNW

INTERNET

Page 19: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•Transport layer looks at message. Then sends an acknowledgement back to the sending node. This is a confirmation that the message was sent.•It then removes the contents of its packet and hands it up to the application layer

APPTRANS

Page 20: DT266/3 Internet Application Development

Protocol Stack

Application Layer

Transport Layer

Network Layer

•The application layer has now received the message that was sent to it by the other application, somewhere else on the Internet.•This layering concept is very common, and is core to computer networking.•It separates functions and protocols i.e. NW Layer handles routing and addressing, TR Layer handles errors and lost packages, APP Layer uses the information.

APP

Page 21: DT266/3 Internet Application Development

TCP/IP and OSI

The example we have just seen is quite simplified.There are two separate protocol stacks

OSI Protocol StackTCP/IP protocol stack.

OSI has seven layersTCP/IP has five layersOur example illustrated the functionality of the three layers most important to us, as Internet Developers.You may like to take a look at “James Bond and the seven layer reference model”.

Page 22: DT266/3 Internet Application Development

Internet Addressing - DNS

??? !!!So…

All nodes/hosts on the Internet have a unique address?

Yes, we just saw that!

And if I want to talk to another node I need to know it’s address?

Well, not quite?

Huh?

Well, most hosts have names as well. Host names!

I see, so does IP understand these names as well.

No, but we have a translator to switch between names and addresses. DNS, the Domain Name Service.

WOW! How does it work?

Page 23: DT266/3 Internet Application Development

Domain Names

A domain name locates an organisation or other entity on the Internet

www.ireland.com

This represents the Internet address for ireland.com and a particular host server called www.

The com part is the top level domain and represents the type of organisation

Other top level domains include .ie, .edu, .org, .de

The ‘ireland’ part with the top level domain is called the second level domain, and identifies the organisation

Further sub levels may be added, with the left-most part representing the server, in that domain.

Page 24: DT266/3 Internet Application Development

Domain Names

ServerSecond level domain

Top Level domain

www.ireland.com

Altogether this name uniquely represents a host

But as we’ve seen, an IP address does this as well

Lets look at DNS, the service which maps human readable host names to machine usable IP addresses

Page 25: DT266/3 Internet Application Development

DNS

DNS is a hierarchical database

meaning the data is structured in a tree, much like the directory structure of a UNIX or Windows file system.

The root domain, ".", is at the top, and various subdomains branch out from the root.

On the Internet, for example, the first branches coming out of the root are the top-level domains such as .com and .ie

Under each of these top-level domains are more branches containing other domains, such as cisco.com, ireland.com, and dit.ie under the .ie domain. Each of these domains may, in turn, have their own subdomains, such as comp.dit.ie under the dit domain and sales.cisco.com under the cisco.com domain

Page 26: DT266/3 Internet Application Development

DNS Tree (incomplete)

home.comp.dit.ie

. (root domain)

.ie .edu .com .org

ietf.org ieee.orgcisco.comireland.comdit.ie tcd.ie

comp.dit.ie sales.cisco.com

www.sales.cisco.com

Page 27: DT266/3 Internet Application Development

DNS - Name Servers

Each domain (and sub-domain) has its own name server, a server which contains the host name information about the hosts and sub-domains within its domain.

The dit.ie domain, for example, has a name server that stores address information about all of the hosts and subdomains in the dit.ie domain.

However, authority for a subdomain, such as comp.dit.ie, can be passed to a name server that has authority for that subdomain.

When a name resolution request comes to the dit.ie name server, it just passes the request off to the comp.dit.ie name server.

In this way, DNS is truly distributed across the Internet, with each domain maintaining only the information that is pertinent to that domain

Page 28: DT266/3 Internet Application Development

DNS – Name Resolution

Requests are made to the name servers in order to resolve namese.g. to find the IP address for home.comp.dit.ie the following steps take place

A DNS server would ask the root server for the address of the name server for the .ie domainThe DNS server then can contact the .ie name server and asks this server for the number of the name server for the dit.ie domainIn turn, the DNS server then contacts the dit.ie name server and asks for the address of the name server for comp.dit.ie domainFinally a request is made to the comp.dit.ie domain for the address of the server named ‘home’. This IP address is returned and can be used for communication between nodes.

Page 29: DT266/3 Internet Application Development

Organisations

Internet Society (ISOC)http://www.isoc.org/

Internet Engineering Task Force (IETF)http://www.ietf.org/

Internet Architecture Board (IAB)http://www.iab.org/

Page 30: DT266/3 Internet Application Development

History of Internet

The Internet was originally proposed by an American body known as ARPA (Advanced Research Projects Agency).

It was originally conceived as a way of testing the viability of networking.

During the later stages of its life ARPA became more defence-oriented and was renamed DARPA (Defense Advanced Research Projects Agency) and oversaw the first implementation of a network originally known as ARPAnet.

The network was commissioned in 1971.

Page 31: DT266/3 Internet Application Development

History of Internet

In the early days of the network there was a perceived need for users at one computer to log into another computer.

The protocol that was used in the original ARPAnet, the 1822 protocol, was inadequate for this and another protocol, NCP, was devised and implemented.

By 1973 it became clear that NCP was inadequate to handle the volume of data that was being generated.

In 1974 two researchers, Vincent Cerf and Robert Kahn, suggested that because of the growing use of networking and the inadequacy of current protocols a new set of protocols needed to be devised.

Page 32: DT266/3 Internet Application Development

History of Internet

The radical suggestion that they made was that the protocols should be independent of any hardware.

This set of protocols that was developed was known as TCP/IP and, by the early 1980s, had supplanted NCP as the protocol set of choice for American networking.

As networking spread in the USA more and more non-military organisations joined the ARPAnet; in the initial stages these were mainly universities.

This lead to the splitting of the ARPAnet into two networks: MILnet which was devoted to military networking and ARPAnet which became a civilian network.

Page 33: DT266/3 Internet Application Development

History of Internet

As ARPAnet was transformed into a civilian network it was renamed the Internet.

ARPAnet went into decline when the United States Government Office of Advanced Scientific Computing instigated a high-speed network of supercomputers known as NSFNET; it was eventually retired in 1990.

Ref:Distributed Applications and E Commerce, Darrell Ince

Page 34: DT266/3 Internet Application Development

Summary

Overview of the InternetProtocolsTCP/IPDomain NamesHost NamesDomain Name ServiceInternet OrganisationsHistory of Internet

Page 35: DT266/3 Internet Application Development

Reference

Internet Protocolshttp://info.acm.org/crossroads/xrds1-1/tcpjmy.html

DNShttp://www.cisco.com/univercd/cc/td/doc/product/iaabu/cddm/cddm111/adguide/dns.htm

http://www.whatis.com/http://www.ietf.org/http://www.isc.org/