Title: Introduction to Network Computing
1Introduction to Network Computing
2The World-Wide-Web revolution
- Virtually all the general purpose computers are
connected in the past five years. - Killer applications
- Visical
- World Wide Web
- Email
- E-commerce / On-line trading
- Napster
- E-Business
- The Internet has changed the way we
- Understand computing
- Use/write applications
- Deliver application
- Maintain applications
3Sample network-based applications
- Hotmail
- Yahoo
- Amazon.com
- Tax return
- Games
- E-bay
- Cracking of DES
- The network has become the
- computer
- storage
- library
- market
4Introduction to computer communication networks
5Protocol
- A protocol is a series of steps, involving two or
more parties, designed to accomplish a task - Everyone involved in the protocol must know the
protocol and all of the steps to follow in
advance - Everyone in the protocol must agree to follow it
- The protocol must be unambiguous each step must
be well defined and there must be no chance of a
misunderstanding. - The protocol must be complete there must be a
specified action for every possible situation.
6Communication Protocol Model
- A template to describe a protocol
- It has three components
- Address naming
- Format messages
- Behavior rules
7Protocol Example Phone
8Can a single protocol do it all?
- Computer communication has to deal all sorts of
problems - Electrical/Optical signals/noise
- Errror detection and recovery
- medium control access
- message boundary
- routing, fragmentation
- flow control (net congestion)
- loss and duplicated messages
- synchronization
- representation
- application specific
- Yes. It can be done but
- how to develop in timely fashion (debug, verify
and low cost) - how to maintain it
- how to extend and evolve it
9Layered Approach
- Divide and conquer
- partition into multiple layers of software
- each layer has clear programming interfaces
- each interface provides a service to adjacent
layers - each layer solves a limited set of problems
- each layer encapsulates the related details
- Pros
- reduce complexity, isolate changes, promote
manageability - Cons
- efficiency
10ISO Reference Model
- Not every layer is created equal
- physical and data link are hardware heavy
- network and transport are software heavy
- session and presentation are typically light
layers
Some functions occurs in multiple layers
Error handling may be in every layer
Flow control can be in multiple layers
11ISO vs. TCP/IP
7.Application
Application
6.Presentation
5.Session
4.Transport
Transport
3.Network
Internet
2.Data Link
Host to network
1. Physical
12Physical layer protocols
- Highly physical network technology dependent
- Main tasks
- define the signaling protocol
- what is the meaning of 1s or 0s
- voltages or frequencies
- what is bad signals
- define the physical connections required
- RS232 connectors for RS232 serial line
communication - RJ45 or BNC connectors for Ethernet
- define the communication media
- define the network topology
13Physical Network Technologies
- Circuit-switched network (CS)
- connection-oriented network
- establish connection before communication
- once communication established, a circuit line is
reserved for the communicating partners - example telephone network
- Packet-switched network (PS)
- store-forward based network
- packet sent from a node to another node
- the intermediate node stores the packet and
decides to forward to another node towards the
destination - no circuit line is reserved
- example Ethernet
14Circuit connection
15Comparisons CS and PS
16Network Types by Scope
- WAN
- wide area network
- cross large span of space (continental)
- typically heterogeneous and low speed
- example Internet
- MAN
- metro-area network
- regional scope (city-wide)
- LAN
- local area network
- limited scope (a couple of buildings)
- typically homogeneous high speed
- example Ethernet Token ring
17Network Transmission Medium
- Open air
- radio, microwaves, satellites, infrared
- noise signals, collision
- Optical
- clear signals, low power and high rate (Gbps)
- Copper wire
- Lower cost interfaces
- Bi-directional
18Bus Network Topology
- Every nodes tap into a common medium
- Signals may collide with each other
- need to arbitrate who will get the bus
- capable of broadcasting message (one send many
listen) - the common medium is the bottleneck
- single node failure causes no network failure
- the medium failure brings down the network
- Example (old, 10BASE2, 10BASE5) Ethernet
19Cable Modem
20Star Network Topology
- One node at the center as the master node
- Other nodes linked to the master as slaves
- slaves communicate via master
- easy to arbitrate among slaves (master decides)
- not scalable (the master is the bottleneck)
- normally for small networks or that requires
predictable performance - master failure shutdowns the whole net
- Example Ethernet, DSL
21Ring Network Topology
- Nodes are arranged in a ring
- One node receives from its predecessor sends to
its successor - arbitrate who can access the ring
- messages forwarded by each node
- sender deletes its messages from the ring
- the common ring is the single point of failure
(complicated connectors needed)
22Mash Network Topology
- Nodes are arranged in grids
- each node can talk to its neighbors directly
- non-neighbor nodes needs store-and-forward for
communication
23Hyper Network Topology
- No restrictions on how to link the nodes
- Topology can adapt to individual organization
needs
24Data Link Layer Protocols
- Main tasks
- medium access control
- arbitrate who can use the transmission medium
- framing
- define the boundaries of a packet
- Physical technology dependent (like physical
layer) - typically implemented in hardware or firmware
- when you buy a network card, you get both
physical and data link layer protocols in the
card
25Introduction to Internet and TCP/IP
26Motivations for Internet
- Observations
- Different physical networks everywhere
- connection between limited hosts
- different needs for different technologies
- legacy networks
- Limited connectivity
- each physical technology has its limits
- Different technologies use different languages
- Need for a uniform virtual network
- universal connectivity
- every host speaks the same language independent
of physical networks
27Virtual Network over Physical Networks
28Design Goals of Internet
- A virtual (global) network
- independent of physical technologies
- independent of locations
- universal language
- Universal connectivity
- every host is equal no matter of
- its architecture and system origin
- its physical network attachment
- Scalable
- growth without limits
- Robust
- no single point of failure
29Problems to be Solved
- Universal naming
- how to translate the universal name to local name
used by local physical network? - Routing
- how to route IP packages among different local
networks to reach the destination? - Fragmentation
- different physical networks use different package
sizes. - how this should be handled?
- Error handling
30Internet Architecture
- Internet the mother of all networks
- THE network of (interconnected) networks
- Physical networks interconnected via gateways
- Gateway(router) is a host glues nets together
- attached to multiple nets
- forward IP packages between nets
31IP Packet Format
- IP packet consists of header and data portions
IP header
IP data portion
32IP Address
- IP address specifies a connection to a network
instead of a host - IP address NetID HostID
- Dotted notation
- each byte in an IP address represented as a
decimal - bytes are separated with a period (.)
- example 152.15.35.44
- Classes
class A
class B
class C
class D
class E
33How do computers talk to each other on an
ethernet bus
8.2.1.1
8.2.1.2
8.2.1.3
02550JA2F5D82
00550DA2F5D82
02950JX2F5Y82
- Each computer on the internet as a unique IP
address. - Each network interface (e.g. ethernet card) has a
unique address - 8.2.1.1 wants to send a message 8.2.1.3
- It yells yaahoo, who is 8.1.2.3
- Each computer listens to messages on the bus
(collision detection and resolution) for yaahoo - 8.2.1.3 replies to 00550DA2F5D82 I am
02950JX2F5Y82 - 8.2.1.1 sends the message to 8.2.1.3.
34IP Routing
- Principles
- Route packages according to their destination IP
net ID - Forward packages hop by hop
- each gateway has the routing knowledge of its
nearby neighbors - hosts route packages to gateway and gateway does
the rest. - Routing types
- direct routing
- If the destination net ID is the same as the
local net ID, no routing to gateway is needed and
send the package via underlying physical network - indirect routing
- if the destination net ID is different from the
local net ID, send the package to an appropriate
gateway.
35IP Rules
- Fragmentation rules
- if underlying net size lt packet size not final
dest - break packet into small packets and send them
- if final dest is reached packets are fragmented
- reassemble fragmental packets into original size
- Error rules
- if IP header is erroneous, drop/report it
36Table-Driven IP Routing
- Each IP host has a IP routing table
- each entry associates a destination net ID with a
forwarding gateway - each route has a performance metrics
- number of hops to reach the destination
Route table for 152.15.36.9
163.29.x.x
Dest. Net ID Next hop host NIF
163.29 152.15.254.254 e0
Default 152.15.35.1 e0
ncsu
152.15.36.9
163.29.10.88
152.15.254.254
e0
152.15.x.x
uncc
net3
152.15.35.1
37Routes in an IP Routing Table
- Next-hop routes
- the destination is an IP net ID a packages
addressed to any host in the net, send to the
associated gateway - Host-specific routines
- the destination is a complete IP address route
all packages to the specified host via the
associated gateway - Default routes
- the catch all routing all packages not
specified by the above, send the gateway
associated with the default route. - the gateway associated with the default route is
called default gateway
38Topology of the internet
9.1.1.2
8.2.1.1
9.1.1.3
9.1.1.1
8.2.1.2
8.2.1.3
b
c
a
net 9.1.1.x
9.1.1.4
1
2
3
d
net 8.2.1.x
4
hardware addresses
net 3.1.1.x
8.2.1.4
net 1.1.1.x
net 2.1.1.x
39Sub-netting
- All hosts in a network must have the same net
work number - As the number of networks grow, so does the need
for net work numbers - Solution subnet, divide the host name portion of
the IP address into subnet id and the host - Subnet mask and routing table.
40Intranet example home networking
Broadband provider
Internet
Intranet IP address
PC
Internet IP Address
PC
Router
PC
Intranet IP address
Intranet IP address
Intranet IP address
41PPP protocol (phone dialin)
- Computer (client) dials to a modem.
- Computer on the other (ISP server) end is on the
internet. - The ISP server assigns an ip address for the
dialing computer - All messages send from the client are routed by
the isp host to the rest of the internet.
42DHCP protocol (most ethernet)
- Client sends a message (on the local bus) to a
DHCP server requesting an IP address for the
session - DHCP server assigns an ip address
43IP Fragmentation
- IP packages are broken to fit underlying physical
network when a package is sent - locations of fragmentation
- original package sender
- gateways that forward the package
- IP packages are reassembled at the final
destination
44IP Fragmentation Example
fragmentation
45ISO vs. TCP/IP
7.Application
Application
6.Presentation
5.Session
4.Transport
Transport
3.Network
Internet
2.Data Link
Host to network
1. Physical
46Transport Layer
- Why do we need a transport layer?
- Network layer provides delivery only
- from a host to a host
- in a best effort fashion
- Users want to transport data
- from application to application
- in a reliable delivery
- Transport layer fits the gap between user needs
and IP messaging - provide communication endpoint for applications
- deliver messages reliably
47Problems to Be Solved in Transportation layer
- Missing packets
- Duplicated packets
- Out of order packets
- Flow control
- Synchronization
48Reliable Delivery via Unreliable Networks
- Missing packet
- acknowledge and timeout
- retransmission
- Duplicate messages
- sequencing packets
- Out of order messages
- sequencing packets
- Flow control
- wait and stop
- window-sliding
- Synchronization
- hand shaking
49Transport Protocols in TCP/IP
- User Datagram Protocol (UDP)
- provide communication endpoint for applications
- best effort delivery of messages (packets)
- message boundary is observed
- the protocol embedded in Internet Datagram
sockets - Transmission Control Protocol (TCP)
- provide communication endpoint for applications
- reliable delivery via connection-based
communication - no message boundary between packages
- the protocol embedded in Internet Stream sockets
50Establish a TCP Connection
51Denial of service attacks
- Exploits the TCP session establishment protocol.
- An attacker will send syn, but never sends ack.
This type of attack is also called sync flood. - Synchronized attacks launched on multiple (often
victim) machines.
52TCP Retransmission
- Sender
- is free to divide user stream data in packets
- expects an ack for each packet sent
- starts a timer when a packet is sent
- upon an ack reception, advances seq_no expected
- upon a timer expiration, resends the packet
- Receiver
- sends an ack whenever a packet is received
- deletes the packet if it duplicated
- is free to pass acknowledged packets to user
- is forced to pass to user the data when receives
a PUSH