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

Preview:

Citation preview

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.

Categories of Networks

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)

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

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

Internetworks

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

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.

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)

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.

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:

Addressing

Internet Classes:

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

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?

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.

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.

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.

So What’s happening?

Application Data (eg HTML file)

Transport

Header

Application Data Transport

Header

Application Data

Transport

Header

Application DataNetwork

Header

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.

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.

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

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.

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.

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

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.

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.

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.

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

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.

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.

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.

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.

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

E-mail addresses

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

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.

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.

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/

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.

Browser Architecture

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

Categories of Web documents

Static Document

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

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.

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

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.

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.

Support Readings

Chapter 1 (Sections 1.5-1.12)

- pages 10 to 17Chapter 2 Web Browser Basics

Recommended