51
ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Embed Size (px)

Citation preview

Page 1: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

ITCS373: Internet Technology

Introduction to the Internet

Dr. Faisal Al-Qaed

Page 2: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Introduction to networking

A network is a set of devises (or nodes) connected by media links (or communication channels).

Networks are the basis of the modern information society.

Networks are becoming increasingly complex: very-large scale heterogeneity (hardware, software, protocols, etc.)

A protocol is a set of rules that govern all aspects of information communication.

Page 3: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Categories of Networks

Page 4: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

A Local Area Network is usually privately owned and links devices in a single office, building or campus.

It generally uses only one type of transmission medium. Typical LAN topologies are Bus, Ring, and Star.

Local Area Network (LAN)

Page 5: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Metropolitan Area Networks (MAN)

It is designed to extend over an entire city it may be a single network or a means of connecting a number of

LANs into a larger network

Page 6: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Wide Area Network (WAN)

It provides long distance transmission of data, voice, image, and video in a worldwide scale.

WAN may utilise public, leased, or public communication devices, usually in combinations, and can span an unlimited number of miles

Page 7: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Internetworks

internetwork = generic term use to mean an interconnection of networks.

Page 8: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

The Internet

It is possible to join local area networks together using wide-area networks.

From the early 1970s, the American ARPANET was used to join together computers in universities running defence-related research projects.

In order that the local University LANs and the interconnecting LANs could all talk together, a common set of addressing schemes and protocols were developed.

These have now been adopted worldwide.

Page 9: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

An Internet according to TCP/IP

An internet under TCP/IP operates as a single network connecting many computers of any size and type (hosts)

Page 10: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Internet Protocol (IP) Addresses

IPv4 addresses are also called dotted quads, because the series of numbers is divided into four groups of numbers and quad means four. These groups are divided by dots.

Additionally, IPv6 is the new protocol and it uses hex numbers

2E22:4F00:000E:00D0:A267:97FF:FE6A:FE34This format solves the address shortage plus routing table

problems and its more efficient than IPv4.

It may be implemented fully between 2010 and 2015 but Japan is already giving some addresses out to companies.

Page 11: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

IPv4 Datagram

At the network layer, the internetwork protocol (IP) is used as transmission mechanisms by the TCP/IP protocols.

All hosts have a unique 32-bit (4 bytes) IP address. Example:

Page 12: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Addressing

Internet Classes:

Page 13: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Class A: 1.0.0.0 to 127.255.255.255 - 126 big networks with up to 16M hosts each.

Class B: 128.0.0.0 to 191.255.255.255 - 16382 Medium networks with up to 64K hosts each.

Class C: 192.0.0.0 to 223.255.255.255 - 2M Small networks with up to 256 hosts each Currently both Class A and B are FULL

Page 14: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Q: What is the class of each of the following addresses?a. 10011101 10001111 11111100 11001111b. 11101011 10001111 11111100 11001111

Q: Write the above addresses in dotted-decimal notations?

Q: Find the class of each address:a. 227.34.78.7b. 198.76.9.23

Q: Find the netid and the hostid for each address:a. 4.23.145.90b. 198.76.9.23c. 246.7.3.8

Q: Find the network address for the above addresses?

Page 15: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Transport Service

The connection used in transferring data is normally implemented in a software module.

It provides a transport service to processes. It breaks up streams of data into chunks or transport protocol data units or segments.

Each segment has a transport header to indicate to the remote transport service module what it contains.

Page 16: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Transport Service -2

As each segment is received from the network, an acknowledgement is sent back so that the damaged segments can be re-sent ensuring reliable communication. The transport protocol defines the rule.

Note that the “inter-process communication” is independent of the nature of the application. The Internet’s transport service implements the TCP protocol.

Page 17: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Packet Delivery

Once the transport module has built a segment of data, it passes it to a network service module also in the operating system.

The network service module builds a packet containing the entire TPDU (Transport Protocol Data Unit) as its data part and prefixes a network header containing the address of the destination computer (IP address) .

It then passes it on for delivery.

Page 18: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

So What’s happening?

Application Data (eg HTML file)

Transport

Header

Application Data Transport

Header

Application Data

Transport

Header

Application DataNetwork

Header

Page 19: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

A Communication Layer Architecture

WWW Browser Application

Transport Service Module

Network Service Module

Web Server

Transport Service Module

Network Service Module

Internet

Http requests and reponses

Communication msgs

Computer 1 Computer 2

Actual flow is down the “stack” and across the network.

It seems that it is Peer to Peer.

Page 20: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

The Transmission Control Protocol (TCP) Protocol

Inter-Process communication is implemented using the TCP “transport layer” Protocol. It provides an “end-to-end” service which is:

1. Reliable: all data delivered correctly even if delivery service may be unreliable.

2. Connection Oriented: the process is concerned with establishing and concluding inter-process connections.

Page 21: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

The TCP Protocol3. Byte Stream: there are no “visible” packetisation so far as

the application is concerned. 4. Full Duplex: data can flow in either direction over an

established connection without restriction.

TCP is widely regarded as the best transport protocol ever developed and has NO serious competitors.

UDP (User Datagram Protocol) offers non-guaranteed datagram delivery (unreliable and connectionless) and gives applications direct access to the datagram service of the IP layer. UDP is faster than TCP.

UDP is used by applications that do not require the level of service of TCP or that wish to use communications services (e.g., multicast or broadcast delivery) not available from TCP (i.e. DNS).

Page 22: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

TCP Operation

TCP breaks incoming byte streams into segments. The maximum size of a segment is called the MSS (Maximum Segment Size).

A segment consists of a header and some data. The last data byte in each segment is identified with a 32-bit byte count field in the segment header.

Page 23: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

TCP Operation - 2

1. When a segment is received correct and intact a special acknowledgement segment is returned to the sending TCP containing the byte count of the last byte correctly received.

2. The network service can fail to deliver a segment. If the sending TCP waits for too long for an acknowledgement it resends the segment.

3. The network can deliver duplicate segments or out of order. TCP buffers or discards out of order or duplicates as appropriate using byte count as a guide.

Page 24: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Format of a TCP Segment

Source Port Dest. Port

Sequence Number

Acknowledgement Number

Other Header Stuff

Application Data

Segment Header

(20 Bytes)

Application Data Area

4 bytes

Page 25: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Notes

TCP timeout algorithm uses observed round trip times to estimate when to time out a datagram so it is NOT FIXED.

In TCP, port numbers define the process from which this segment was sent, and the destination process. Note that port numbers range from 0 to 65536. Reserved port numbers are between 0- 1024 but note that many other are reserved such as 8080.

Sequence numbers identify the last byte of data sent and received.

Page 26: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Internet Applications

Domain Name System (DNS): Provides a distributed database system allowing to map hierarchical names to IP addresses.

Telnet: Enables a user to login to a remote host and interact with it (run programs there) as if that host was at his/her desk.

File Transfer Protocol (FTP): Allows to access files in a remote file system.

Network File System (NFS): Allows a host to mount a file from a remote file system and have access to it as if it was local.

Simple Mail Transfer Protocol (SMTP): Provides network-wide email transfer service.

Page 27: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Internet Applications (2)

Simple Network Management Protocol (SNMP): Enables to manage network elements remotely by accessing manageable resources in them.

Hyper Text Transfer Protocol (HTTP) / World Wide Web (WWW): Provides access to a distributed hypertext document space i.e. the WWW.

Intranet and Extranet: An "intranet" is the generic term for a collection of private computer networks within an organization. An "extranet" is a computer network that allows controlled access from the outside for specific business or educational purposes. Intranets and extranets are communication tools designed to enable easy information sharing within workgroups.

Page 28: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

The Client-Server Model

The application programs using the Internet follow the client-server model.

An application program, called the client, running on the local machine, requests a service from another application program, called the server, running on the remote machine.

A server can provide a service for any client (client-server relationship is many-to-one).

Page 29: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Domain Name System (DNS)

In a small network, a single file maintained at a central site and uploaded every night by hosts can provide a lookup table to convert host names to IP addresses – this how it was done in the ARPANET.

Due to the expansion of the Internet, the Domain name System (DNS) was invented to provide a hierarchical, domain-based distributed database for name to address resolution.

Top-level Internet domains: Generic domains: com, edu, gov, net, org, mil, etc. Country: us, uk, jp, etc.

Page 30: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

DNS (2)

An application that needs to map a domain name to an address contains a “resolver” component which knows the local DNS server address and understands the DNS access protocol.

The resolver asks the local DNS to resolve a name and the latter possibly contacts other DNSs in a recursive manner until the name is resolved or does not exist.

Fetched entries are cached in the local DNS server to avoid doing this again soon, but expire at some point.

Page 31: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

SIMPLE MAIL TRANSFER PROTOCOL (SMTP)

The User Agent (UA) is the e-mail application. It prepares the message, creates the envelope, and puts the message in the envelope.

The Mail Transfer Agent (MTA) transfers the mail across the Internet.

Page 32: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

SMTP (2)

The Simple Mail Transfer Protocol (SMTP) is the mail transfer protocol for the Internet, operating over TCP.

The SMTP model consists of a number of SMTP Servers which use the file system as a message store.

The equivalent User Agent talks to the local SMTP Server to send email or read e-mail from the mailbox.

Page 33: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

POP allows mail to be delivered to a mailbox on a host using SMTP to be later downloaded at the client’s convenience.

A POP client such as Netscape Mail or Microsoft Exchange establishes a TCP connection on port 110 to a server process on the system where the mailboxes reside.

After authentication (username/password) the contents of the mail box are downloaded.

Post Office Protocol

Page 34: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

E-mail addresses

Page 35: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Multipurpose Internet Mail Extensions (MIME)

SMTP supported originally only ASCII text message content but the Multipurpose Internet Mail Extensions (MIME) introduced multimedia capabilities in 1992:

Text messages can be sent in other languages e.g. Greek, Chinese, etc.

Messages containing binary files as well as audio/video are possible.

MIME is not a mail protocol and cannot replace SMTP

Page 36: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

HYPERTEXT TRANSFER PROTOCOL (HTTP) AND THE WORLD WIDE WEB

The World Wide Web (WWW) is an architectural framework for accessing linked hypertext documents (i.e. documents with text, graphics, animations, audios or videos) distributed on Web servers across the whole Internet.

The Hyper Text Transfer Protocol (HTTP) is the standard Web transfer protocol through which clients interact with Web servers.

The WWW has had phenomenal success and for many people the WWW is synonymous to the Internet.

Page 37: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed
Page 38: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Uniform Resource Locator (URL)

URL is a standard for specifying any kind of information on the Internet.

The method is the protocol used to retrieve the document http, ftp, telnet, …etc.

Page 39: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

URL (2) For accessing a Web page, we need to know what the page is called

and where it is located; for other non-Web “pages” we also need to know how to access them.

Each page is assigned a Uniform Resource Locator (URL) that serves as its name; a URL has three parts

1. The protocol part (always http for Web pages)2. The DNS name of the machine where the page is located3. A local name indicating the specific page in the local system

For example, http://www.ee.surrey.ac.uk/CCSR/Networks/ specifies the protocol (http), the Web server name (www.ee.surrey.ac.uk) and the /CCSR/Networks/ directory which implies the index.html file.

Hypertext pages simply contain URLs of other pages. The URL concept is general and can be used to access FTP sites, local files, etc. e.g. ftp://ftp.surrey.ac.uk/pub/

Page 40: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Web pages

Web documents are called “Web pages” and point to each other through hyperlinks; pages that point to each other are said to use “hypertext”

A Web page may contain icons, drawings, photographs which may (optionally) point to another page.

When displaying a page in a graphical client program, hyperlinks are underlined and displayed in different colour; clicking on them fetches and displays the pointed page.

A graphical client program is called a “Web Browser”, of which Netscape and MS Internet Explorer are two popular ones; non-graphical browsers also exist, displaying only text

Some pages consist of audio tracks, video clips or both; when mixing hypertext with other media we are talking of “hypermedia” Browsers may need an “external viewer” or “helper application” to deal with

other media When pages contain large images, the browser first fetches the text and then

the images, so the user can get an idea and stop the download when on a slow access link by e.g. clicking on a hyperlink.

Page 41: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Browser Architecture

Page 42: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

BROWSER COMMUNICATION STEPS

http://www.w3.org/TheProject.htmlCommunication steps: Browser determines URL Browser asks DNS for the IP address of www.w3.org DNS reply with 18.23.0.23 Browser makes TCP connection to 18.23.0.23 on port 80

(Web servers listen always to the well-defined TCP port 80) Browser sends GET /TheProject.html command The www.w3.org server sends TheProject.html file TCP connection is released The browser displays TheProject.html

Browsers may display the current execution state

Page 43: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Categories of Web documents

Page 44: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Static Document

Are fixed content documents stored in a server. The contents of the file are determined when the file is created.

Page 45: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

HYPERTEXT MARKUP LANGUAGE (HTML)

Web pages are written in the Hyper Text Markup Language (HTML).

HTML is based on the ISO Standard Generalised Markup Language (SGML) but simplified, specialised to hypertext and adapted to the Web.

The fact it is a “markup” language means it describes how a document is to be formatted; markup languages contain explicit commands mixed with the actual document.

For example <B> means start boldface and </B> means leave boldface mode.

Current version of HTML includes features such as tables, toolbars, mathematical formulas, etc.

Page 46: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Dynamic Documents

It does not exist in a predefined format. It is created by a web server whenever a browser requests the document

E.g. used to get current time and date from the server. E.g. the Common Gateway Interface (CGI) is a

technology that creates and handles dynamic documents.

CGI is NOT a language. It defines a set of rules for the programmer

Page 47: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed
Page 48: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Active Documents

In many applications we need a program to be run at the client side. These are called active documents.

E.g. a program that creates animated graphics and interacts with the user.

Page 49: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed
Page 50: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

JAVA APPLETS

Traditional HTML and forms allow static web pages only. cgi allows 2 way communications interaction (forms, etc.) Java was originated at Sun Microsystems as a “run-anywhere”

programming language and can add animation and sound to web pages through applets.

Main idea: a web page can point to a small JAVA program called Applet; the latter can be downloaded by the Web browser to the client machine and executed in a secure way.

The applet needs to be compiled to bytecode with Java-to-bytecode compiler and the browser needs a Java bytecode interpreter

With applets, the browser can become extensible with new functionality uploaded from the network as applets.

Page 51: ITCS373: Internet Technology Introduction to the Internet Dr. Faisal Al-Qaed

Support Readings

Chapter 1 (Sections 1.5-1.12)

- pages 10 to 17Chapter 2 Web Browser Basics