data communications - NYU Stern School of Business
Download
Report
Transcript data communications - NYU Stern School of Business
Norman White
Stern School of Business
Csntier.ppt
Background
Data communications
TCP/IP
Physical networks
Database management systems
Data Communications
Networking …
Some Basics
SOURCE
SINK
MEDIUM
SOURCE
telephone
cable
satellite
MEDIUM
SINK
Telephone
Satellite
Cellular
Wifi
Cable
Fiber Optic
Blue Tooth
etc.
Analog
Represent information as a waveform
Music, video,voice
Digital
Represent Information as a string of bits
Digitization
Convert from analog to digital by sampling the
waveform at fixed intervals
ISDN phone line 64000 bits per second
8000 samples per second (each sample an 8 bit (0-255))
Number
Converts Digital signal to analog so it can be
sent over phone lines
Reconverts analog to digital on other end
1
1
1
0
0
01110000
0
0
0
Need rules to communicate between systems
Communications protocols are the rules for a
particular method of communication
Who says what, when
How are errors handled
How much information in a message
How is message routed from sender to receiver
Asynchronous - A single character is a message
Errors sometimes detected, but no recovery
Horizontal parity used to detect single character
errors
Synchronous - A group of characters constitute
a message
Synchronous protocols usually recover from errors
Bisynchronous
Point to point conversation
Not used much any more
Each message is acknowledged as received
Multilateral protocols
Messages routed from one machine to another
Message includes address of destination
Needs to be routed by intermediate nodes
Application Layer – Applications and
processes that use network
Host-host Transport Level – end to end data
delivery
Internet layer – defines the datagram and
handles data routing
Network Access layer – routines for accessing
physical networks
Protocol of the Internet
Originally developed as a protocol that would
withstand wide network outages (Arpanet)
Now it has become the standard protocol for
almost all data communications
Consists of two parts, IP and TCP
Handles communications between 2 processes
anywhere on internet
Guarantees correct data is received by receiver
Uses IP for delivery and routing of packets
Fixed size blocks of information that are sent
using TCP
Packet includes information like
Address of host to send this to
Address of host it is coming from
Destination Port Number
Sending Port Number
MAC address of sender/receiver (hardware address)
Sequence info
Data
Handle datagrams
Defines Internet addressing scheme
Routes datagrams to remote hosts
Performs fragmentation and reassembly of
datagrams
Every host has an address in the form of
www.zzz.yyy.zzz (the “IP” address)
Each subcomponent refers to a particular
breakdown of all of the machines on the
internet.
128.122.197.133 = sales.stern.nyu.edu
128 = edu domain
122 = nyu network
197 = subnet at stern
133 = address of sales computer
The TCP/IP protocols include the concept of
“name lookup”, where names like
sales.stern.nyu.edu are translated into their
numeric addresses
(128.122.197.133)
Hence one has to specify the locations of the
“name servers” you wish to use.
These are servers that are given a name
(sales.stern.nyu.edu) and return its address.
Gateways (also called IP routers) are the
computers used to connect your network to the
internet
TCP/IP uses “ports” to connect services
between machines
The destination machine has particular ports
offering different types of service
23 = telnet , 80 = WWW etc.
Client machine uses random port when it
connects to a service (i.e. port 80 for http
requests)
Combination of destination port and
originating port = socket (i.e. a destination port
that is in use)
telnet - 23
Ssh - 22
ftp - 21
NFS - Network File Service - 2049
Talk - 517
Sendmail - 25
http - 80
World Wide Web (usually port 80)
Hyper media interface to internet
Connects clients and servers using HTTP
Hyper Text Transfer Protocol
Subset of the internet
Problem – How do we fully connect thousands of computers
together? (How many wires?)
2 computers – 1
3 computers – 3
4 computers - 6
5 computers – 10
N computers – (N*(N-1)/2)
1000 computers – about .5 million connections
Solution
Don’t connect every computer to every other computer, instead
“route” information from one computer to another
Protocol
Rules to follow telling each computer what to send
where, when
Packet switched protocols include routing of packets
from source to destination
Protocols also define rules to follow if there are
errors, I.e. how to recover, retransmit etc.
Low level protocols route packets (of bits)
around the network. Packets include address
High level protocols know what the packets
contain
TCP/IP client server protocols
Client sends requests over network to a “server”
program running on another computer
WWW C/S application
A program on one computer (the Client) can
request services from a program on another
computer (the Server)
Client issues requests to a server someplace on
the network
Requests are specially formatted messages
which can be understood by almost any type of
computer
Requests are sent using a “standard”
telecommunications protocol
Server responds with a message in the
“standard” format
Client receives message and processes it
In the WWW model, the client is the browser
(Firefox, Safari, I.E.) running on your computer
The server is the web server running
somewhere on the internet
Both the client and server must be connected
through a TCP/IP communications network
The situation gets more complex, if the initial
(Tier 1) server in turn becomes a client and
requests services from another server in order
to process the web request. There are now 3
programs running on 3 different computers
involved in the processing of the web request.
User
Web Browser
Web
Server
Data Base Server
Two tier
Clients connect directly to servers
Example PC clients, LAN DB server, Web server
Three … N tier
Clients connect to intermediate servers which in turn
issue requests to other servers
Examples
PC to UNIX to IBM Mainframe
User
Web Browser
Application
Server
Web Server
Data Base Server
JAVA – Sun developed language that runs code on the
user’s machine (i.e. built in to the web browser)
Off loads processing from server
Basis for new JINI language for appliances
FAT Client
Term used to refer to putting all of application code
on the user’s machine (on the hard drive)
THIN Client –
Distribute applications directly over the internet
using JAVA. App is downloaded everytime your run
it.
CACHE
Keep recently used html pages, images, applets etcs
on user hard drive. Only download when they
change
TCO
HTTP
Hyper Text Transfer Protocol – Protocol of the
WWW
Applet
Total Cost of Ownership – includes support
A compiled Java program ready for distribution over
WWW
Digital Signature
Numeric identifier indicating that a document hasn’t
been compromised or that authenticates the creator.
Data Base Servers
Application Servers
Web Servers
Ad Servers (Double Click)
Multimedia (audio/video servers)
Calendar Servers
Authentication (LDAP) servers
Mail servers
Proxy Servers
CS computing isolates each layer from the other
layers.
Computers can be added as necessary to scale
performance
Processing can happen anywhere, so that
bottlenecks can be eliminated
Machines can be dedicated/optimized for
different kinds of processing
Can start with everything on one machine, but
add machines as load grows
Needs TCP/IP network protocol