300 likes | 431 Views
[Architecture & Protocols]. Internet Architecture. Client--Server Architecture Client: local applications that initiates communication (this initiation is often necessary to run the application) Clients request services from remote machines
E N D
Internet Architecture • Client--Server Architecture • Client: local applications that initiates communication (this initiation is often necessary to run the application) • Clients request services from remote machines • Server: software that makes services or files available to clients • Clients and servers do not refer to specific computers although it often seems that way …
Internet Architecture • Associated with each application is a • Client: the software with which the user interacts (usually local) • Server: the software the client talks to behind the scenes that performs particular services • Protocol: the agreed upon language or commands the client and server use to communicate with each other. Defined by Internet RFCs.
Application: Telnet • Used to establish a “dumb terminal” session to another computer (host / ‘server’) on the Internet • Initiating computer (‘client’) indicates the IP address of the host (sort of like dialing) • The host/server: • Provides dumb terminal access and allows users to interact using a ‘shell account’ • Maintains a full-time, direct connection that is always on the network • The client: • Is the software that initiates the telnet connection • Provides an interface and a set of features for the end user
Demonstration using: • Telnet utility (command line telnet) • Secure Shell Client
Application: WWW • 1990, 1991: Created by Tim Berners-Lee who was a research fellow at the European Laboratory for Particle Physics (CERN) in Switzerland • Idea focused on creating a scalable, open system for linking related documents via the Internet, and a system where users could find and contribute information • These guys needed an easier way to organize, present, store and access documents!! • Berners-Lee makes up “WorldWideWeb” as a name for his program
Application: WWW • Berners-Lee wanted the WWW to be open to existing Internet protocols (e.g. TCP/IP), so he designed it to read these protocols • This was in part accomplished by specifying the protocol at the beginning of the link address (http://) • Berners-Lee standardized HTML • The most popular web client is a browser
Client: Web Browsers • Web browsers are often called universal clients because most can speak other protocols (e.g. telnet) • Marc Andreessen created a point-and-click browser, Mosaic (University of Illinois, 1993) • Increased WWW usage at UI over 340,000% • Mosaic => Netscape => Mozilla (Firefox) • We access information using URLs • IP addresses • Domain Name Service (DNS) • Directory / Path information
Directory and path information • Absolute and relative paths
Servers: Web • Web servers make information available to clients • Web servers typically run in Unix, Linux or NT environments • Web servers typically run on ‘super’ machines (e.g. workstations) rather than individual PCs BUT you can run a personal Web server on your PC • Popular Web servers: • Apache • Internet Information Server (IIS) • Server configuration : htdocs and public_html
LAMP • Linux, Apache, mySQL, and Perl/PHP/Python
Back to the network of networks … • The Internet is really just a large collection of smaller networks (LANs) • Special devices called routers interconnect these LANs and act as traffic cops controlling the data that passes across the network
LANs: The Physical Aspects • Each device on the LAN requires a Network Interface Card (may be a card that is added or just a chip on the device) • Some wiring to make the physical connections (usually twisted pair copper but can also be coaxial cable or fiber optic cable) • May need to have other components like switches, etc. to interconnect it all • Ethernet is a popular LAN architecture
Internet Communication • When you think of communication technologies, there are essentially two approaches: • A circuit switch approach where there is a dedicated connection between two devices (e.g., a telephone) • A packet switch approach where the ‘bandwidth’ is shared and all data is broken down and transmitted in packets • Packet switching allows for multiple connections to share the same physical medium
Packet Switching • Almost all information shared over a computer network is broken down into small packets • These packets vary in size (0.5KB to 1.5KB) • A page of text does not necessary equal 1 packet • Each packet includes information about the origin and destination of the data and the data itself • Packet transmission uses TCP/IP
Packet Switching There are two kinds of packets: • Internet packet datagram – the actual contents of whatever resource you are requesting (e.g., web page) • Network packet – used to send internet packet datagrams from router to router
A C C C D C D D B Shared Network System 1st packet from A to C 1st packet from B to D 2nd packet from A to C 2nd packet from B to D 3rd packet from A to C
Routers • Special purpose computers used to interconnect networks • Major task performed by routers: move packets from one network to another
LAN at site 2 LAN at site 1 LAN at site 3 Wide Area Backbone LAN at site 4 LAN at site 6 LAN at site 5 LAN at site 7 A visual
TCP/IP Overview • Transmission Control Protocol (TCP) disassembles and reassembles data • Breaks data into packets (~1KB) and labels packets with: • Origin and destination IP address • Order of packets and checksum (for reassembly) • Internet Protocol (IP) is responsible for addressing and routing individual network packets (IP envelops)
TCP • At the server, TCP breaks down information into datagrams • At the client, TCP checks incoming datagrams and reassembles them • Acknowledgement is sent to server if everything is okay • When TCP sends data, it stamps each packet with a Time to Live (TTL)
TCP • Routers can store some datagrams in memory (queue) in case of congestion, but there is a limit • What happens if datagrams arrive faster than they can leave the router? • They are discarded! • TCP addresses this problem by checking for lost datagrams at destination and taking action
IP • IP dictates that each ‘host’ or device connected to the network has a unique address • Even routers get IP addresses • This address is a 32 bit number in dotted-decimal notation • Traditionally represented in this form: 152.2.81.1 • These numbers take on values from 0-255 • 2564 different IP addresses • However … IPv6 = 16 byte IP addresses = 25616
IP • IP addresses are not random • There are different classes of networks on the Internet, Class A, B and C are the most common • One’s network ‘class’ determines how many machines one can connect: • 152.x.x.x vs. 152.2.81.x • IANA (Internet Assigned Numbers Authority) hands out Internet numbers. The assignment of numbers may be further delegated as needed • UNC was delegated responsibility for 152.2.x.x numbers • SILS was given responsibility for 152.2.81.x numbers
Static & Dynamic IP Addresses • With static IP addressing, every machine has a unique IP addressed assigned to it • An alternative is dynamic IP addressing, where • Your computer is assigned an IP address at the time of connection • There is a pool of IP addresses that are handed out as needed • Most popular method today is DHCP (Dynamic Host Configuration Protocol) • Typically used by ISPs with home dial-in users
Names not numbers: DNS • Domain Name Service (DNS) is a distributed directory service that supports the automatic mapping of DNs to IP addresses • DNS server stores name/address pairs • Looks up address and substitutes the numeric IP address • Gives this information to the TCP/IP • DNS servers update themselves
DNS • Top level domains : .com, .edu, .org, .gov, .mil, country codes • Domains are hierarchical • unc.edu, ils.unc.edu, pc3.ils.unc.edu • When you configure a computer’s network connection, you must specify a DNS server • ‘www’ is a name
Routing • Routing Process: • Open and examine packets • Compare to routing table • Calculate the best route • Send packet toward its final destination • Two routing ports: receiving (input) and sending (output) • Static and dynamic routing tables • Routers have IP addresses and their own protocols
Routing & TCP • Routers can store some datagrams in memory (queue) in case of congestion, but there is a limit • What happens if datagrams arrive faster than they can leave the router? • They are discarded until congestion clears! • TCP addresses this problem by checking for lost datagrams at destination and taking action (i.e., re-requesting resource)
Let’s look at some of this stuff in action with ping & tracert • Using your computer, go to Start > Run, type cmd and hit enter to get a window