Title: CS 2200
1CS 2200
2Our Road Map
Processor
Memory Hierarchy
I/O Subsystem
Parallel Systems
Networking
3Types of Interconnections
- Massively Parallel Processors (MPP)
- Thousands of nodes
- Short distances
- Local Area Networks (LAN)
- Hundreds of computers
- 100s-1000s of feet
- Traffic many to one (clients to servers)
- Wide Area Network (WAN)
- Thousands of computers
- Thousands of miles
- Scalable
4Types of Interconnections
- Massively Parallel Processors (MPP)
- Tightly coupled
- Share memory and sometimes clock
- Local Area Networks (LAN)
- Wide Area Network (WAN)
- Loosely coupled
- Do not share memory and clock
- Each processor has its own local memory
- Communication via networks
5Basic Concepts
Machine A
Machine B
Each machine has the ability to send a message to
the other a.) Please send me the contents of
address x b.) Here is the contents of address
x Thus, messages must contain an extra bit.
6Basic Concepts
Payload (32 bits)
Header (1 bit)
0
Address
0-Request 1-Reply
1
Data
- Messages are divided into parts
- Payload or actual data to be transferred
- Header (or trailer) data used to control the
message passing scheme - System must be designed to work well with
operating system. - Multiple Processes
- Error Handling
7Software Steps to Send
- Application copies data into O.S. buffer
- Operating System
- Calculates checksum
- Includes checksum in header and/or trailer
- Starts timer
- Sends data to network interface hardware and
tells it to send message - Wait...
8Reception
- Copy data from network hardware into operating
system buffer - Calculate checksum from data
- If calculated checksum matches included checksum
- Send acknowledgement
- Copy data into application space
- Else
- Discard message
- Wait for resend
9Sender...
- If acknowledgement arrives
- Discard copy of message in buffer
- If timer times out first
- Resend data
- Restart timer
Header (2 bits) 00Request 01Reply 10Acknowledge
Request 11Acknowledge Reply
Payload Data (32 bits)
Checksum (4 bits)
10Protocols
- Sequence of steps performed by software to send
and receive messages. - Issues
- Endianess
- Duplicate messages
- Queue full
- etc.
- More next time...
11There is an old network saying Bandwidth
problems can be cured with money. Latency
problems are harder because the speed of light is
fixed--you cant bribe God.
12Vocabulary Fun
- Bandwidth
- Time of Flight
- Transmission Time
- Transport Latency
- Sender Overhead
- Receiver Overhead
13Diagramatically
Sender Overhead
Transmission Time
Sender
Time of Flight
Reception Time
Receiver Overhead
Receiver
Transport Latency
Total Latency
TIME
14Questions?
15Questions?
- Where do you connect the network to the computer?
- Which media are available to connect computers
together? - What issues arise when connecting more than two
computers - Additional practical issues?
16Connecting the Computer
- Connection Point
- Memory Bus
- I/O Bus
- Control
- Polling
- Interrupts
- Operating System Involvement
17Connecting the Computer
- Connection Point
- Memory Bus MPP
- I/O Bus LAN/WAN
- Control
- Polling Hybrid
- Interrupts Approaches
- Operating System Involvement
- Avoid invoking O.S. in common case
18Hierarchy of Media
- Twisted Pair
- Coaxial Cable
- Fiber Optics
19Questions?
- So far how many computers have we connected?
20Connecting gt 2
- Shared Media
- Bus
- Ethernet (Vampire Taps)
- Coordination Mechanism
- Carrier Sensing and Collision Detection
- Broadcast
- Switched Media
- Better utilization of bandwidth
- Point to point
Node
Node
Node
Node
Node
Node
Switch
Node
Node
21Its The Ring!
- Token Ring
- Nodes pass token from one to another
- When you have token you can send
22Comparison
- Ethernet
- CSMA/CD allows any node to talk at any time
unless two talk at the same time - Efficient at low loads
- As the number of hosts increases performance
degrades
- Token Ring
- Token being passed around ring only allows node
holding token to talk - Less efficient than Ethernet at low loads
- As number of nodes increases performance slows
but performance is predictable
23Connection vs. Connectionless
- Phone System
- To make call a connection or circuit was
connected (might be multiplexed). - Not a bad idea for voice
- Connection exists whether or not anyone is
talking. - Limit is number of conversations NOT amount of
data - Postal System
- Each piece of information is routed according to
its address - Long messages can be broken up into pieces or
packets (or frames).
24Routing
- Shared Media
- Message goes to all nodes. Each looks at address
to determine if they are recipient - Switched Media
- Source-based routing
- Message specifies path to destination
- Virtual circuits
- Temporary or permanent
- Destination-based routing
- Deterministic
- Adaptive
- Random
25Routing Policies
- Store and Forward
- Wormhole
- http//www.cc.gatech.edu/bleahy/janet/
26Flow/Congestion Control
- Flow Control Deals with ability of receiver to
accept data as fast at it is being sent by
sender. Does not involve network! - Congestion Control Deals with the ability of the
network to handle/accept data all along route
from sender to receiver
27Congestion Control
- Circuit switched
- All circuits are busy
- Packet switched
- Deadlock
- Reducing Congestion
- Packet discarding!
- Congestion Control Window used by TCP
- Choke packets
28Questions?
29Ethernet Evolution
- X_Base_Y
- X stands for the available media bandwidth
- Base stands for base band signaling on the medium
- Y stands for the maximum segment length
30Ethernet Evolution
- 10_base_5 (1979-1985)
- 10 Mbits/Sec with base band signaling with a
maximum station distance of 500 meters - Thick shielded copper conductor used as the medium
MAU-Medium Access Unit
31- 10_base_2 (1985-1993)
- Thin net, cheaper net
- Distance to the station shrinks to 200 meters
- No more vampire taps
- BNC connector to connect the stations to the
Attach Unit Interface (AUI) cables, the AUI
cables to the medium - The medium is daisy-chained via the stations
using the BNC connectors
Bayonet Neil-Concelman, or sometimes British
Naval Connector
32- 10_base_T (1993-1995)
- Attach Unit Interface (AUI) is a twisted pair of
copper wires - AUIs from the stations come to a hub which is a
multiplexor/transceiver - Did away with the BNC connectors which were a
source of connector problems - Use phone jack technology (RJ45 connectors) to
connect AUI cables to the hub - Hubs are connected to other hubs using the same
connectors (RJ45)
33- 10_base_T (1993-1995) continued
- All the hubs together form the entire medium
- All the stations in the same collision domain
- Hub is also usually called a repeater
34More Ethernet
- 10BASE-F - 10BASE-F is a set of optical fiber
medium specifications which define connectivity
between devices. - 100BASE-T - 100BASE-T is a series of
specifications that provides 100 megabit speeds
over copper or fiber. These topologies are often
referred to as Fast Ethernet. - Gigabit Ethernet - Gigabit Ethernet provides
speeds of 1000 Mb/s over copper and fiber.
35Broadband vs. Baseband
- A baseband network has a single channel that is
used for communication between stations. Ethernet
specifications which use BASE in the name refer
to baseband networks. - A broadband network is much like cable
television, where different services communicate
across different frequencies on the same cable. - Broadband communications would allow a Ethernet
network to share the same physical cable as voice
or video services. 10BROAD36 is an example of
broadband networking.
36Current Technology
- Most modern Ethernet networks use twisted pair
copper cabling or fiber to attach devices to the
network. The 10BASE-T, 100BASE-T, and Gigabit
Ethernet topologies are well suited for the
modern cabling and fiber infrastructures.
37Still Hungry?
- http//www.faqs.org/faqs/LANs/ethernet-faq/
38Ethernet
- The various Ethernet specifications include a
maximum distance - What do we do if we want to go further?
- Repeater (also called Hub)
- Hardware device used to extend a LAN
- Amplifies all signals on one segment of a LAN and
transmits them to another - Passes on whatever it receives
- Knows nothing of packets, addresses
- Any limit?
39Repeaters
R1
R2
R3
40Repeaters/Hubs
R1
R2
R3
41Repeaters/Hubs
R1
R2
R3
42Bridges
- We want to improve performance over that provided
by a simple repeater - Add functionality (i.e. more hardware)
- Bridge can detect if a frame is valid and then
(and only then) pass it to next segment - Bridge does not forward interference or other
problems - Computers connected over a bridged LAN don't know
that they are communicating over a bridge
43Bridges
- Typical bridge consists of conventional CPU,
memory and two NIC's. - Does more than just pass information from one
segment to another - A bridge can be constructed to
- Only pass valid frame if necessary
- Learn what is connected to network "on the fly"
44Bridges
- Event Segment 1 List Segment 2 List
- Bridge boots - -
- U send to V U -
- V sends to U U, V -
- Z broadcasts U, V Z
- Y sends to V U, V Z, Y
- Y sends to X U, V Z, Y
- X sends to W U, V Z, Y, X
- W sends to Z U, V, W Z, Y, X
45Bridges
- A bridge will connect to distinct segments
(usually referring to a physical length of wire)
and transmit traffic between them. - This allows you to extend the maximum size of the
network while still not breaking the maximum wire
length, attached device count, or number of
repeaters for a network segment.
46Switch
A
B
C
D
47Network Interface Card
- NIC
- Sits on the host station
- Allows a host to connect to a hub or a bridge
- If connected to a hub, then NIC has to use
half-duplex mode of communication (i.e. it can
only send or receive at a time) - If connected to a bridge/switch, then NIC (if it
is smart) can use either half/full duplex mode - Bridges/switches learn Media Access Control (MAC)
address and the speed of the NIC it is talking to.
48Routers
- Work much like bridges/switches
- Pay attention to the upper network layer
protocols - (OSI layer 3) rather than physical layer (OSI
layer 1) protocols. - Will decide whether to forward a packet by
looking at the protocol level addresses (for
instance, TCP/IP addresses) rather than the MAC
address.
49Routers
- Because routers work at layer 3 of the OSI stack,
it is possible for them to transfer packets
between different media types (i.e., leased
lines, Ethernet, token ring, X.25, Frame Relay
and FDDI). Many routers can also function as
bridges.
50Routers
- Repeaters and Bridges understand only Media
Access Control (MAC) addresses - Traffic flow between nodes entirely based on MAC
addresses - Packet from a host station ltmac-addr, payloadgt
- Routers understand IP addresses
- Special board that sits inside a bridge
- IP layer on all nodes send packets destined
outside the LAN to the router - Router sees a packet as ltip-hdr, payloadgt
- uses the ip-hdr to route the packet on to internet
51Questions?
52CS 2200
53Naming and Name Resolution
- Within a system each process has an ID
- Across a network process have no knowledge of one
another - Generally processes are identified by
- lthost name, identifiergt
- Must have a system to resolve names
- 1. Every system can have file with complete
listing of all other hosts - 2. Distribute name information across network and
have appropriate distribution and retrieval
protocol
54Naming and Name Resolution
- Within a system each process has an ID
- Across a network process have no knowledge of one
another - Generally processes are identified by
- lthost name, identifiergt
- Must have a system to resolve names
- 1. Every system can have file with complete
listing of all other hosts Internet originally
used this! - 2. Distribute name information across network and
have appropriate distribution and retrieval
protocol - This is Domain Name Server in
use today
55Domain Name Servers
- Imagine that a system wants to locate
- gaia.cc.gatech.edu
- The kernel will issue a request to a name
server for the edu domain. This name server will
be at a known address. - The edu name server will issue the address where
the gatech.edu name server is located. - This name server is queried and it returns the
address of cc.gatech.edu which when queried will
return the Internet Address of gaia.cc.gatech.edu
56Questions?
57Network Protocols
58Why we need them?
- Enable sharing the hardware network links
- Overcome sources of unreliability in the network
- Lost packets
- Temporary failure of an intervening routing node
- Mangled packets
- Reflections on the media, soft errors in
communication hardware buffers, etc. - Out of order delivery
- Packets of the same message routed via different
intervening nodes leading to different latencies
59Recall
- A protocol is the set of rules used to describe
all of the hardware and (mostly) software
operations used to send messages from Processor A
to Processor B - A protocol describes the syntax, semantics and
timing of communication between two devices - Common practice is to attach headers/trailers to
the actual payload forming a packet or frame.
60Layers
- Protocol design is described by using layers.
- Logically communication occurs at each level!
Known as peer-to-peer communication - Its like this...
61Be all you can be
- General A sends message to General B
- Colonel A repackages and sends to Colonel B
- Major A repackages and sends to Major B
- Captain A repackages and sends to Captain B
- Lieutenant A repackages and sends to Lieutenant B
- Sergeant A repackages and sends to Sergeant B
- Private A takes message, steals motorcycle and
delivers message to Private B
- General B receives message from General A
- Colonel unpackages message and passes to General
B - Major unpackages messages and passes to Colonel B
- Captain unpackages message and passes to Major B
- Lieutenant unpackages message and passes to
Captain B - Sergeant unpackages message and passes to
Lieutenant B - Private receives message, unpackages it and
passes it to Sergeant B
62Protocol Stacks
- General A sends message to General B
- Colonel A repackages and sends to Colonel B
- Major A repackages and sends to Major B
- Captain A repackages and sends to Captain B
- Lieutenant A repackages and sends to Lieutenant B
- Sergeant A repackages and sends to Sergeant B
- Private A takes message, steals motorcycle and
delivers message to Private B
- General B receives message from General A
- Colonel unpackages message and passes to General
B - Major unpackages messages and passes to Colonel B
- Captain unpackages message and passes to Major B
- Lieutenant unpackages message and passes to
Captain B - Sergeant unpackages message and passes to
Lieutenant B - Private receives message, unpackages it and
passes it to Sergeant B
63Protocol Stacks
- General A sends message to General B
- Colonel A repackages and sends to Colonel B
- Major A repackages and sends to Major B
- Captain A repackages and sends to Captain B
- Lieutenant A repackages and sends to Lieutenant B
- Sergeant A repackages and sends to Sergeant B
- Private A takes message, steals motorcycle and
delivers message to Private B
- General B receives message from General A
- Colonel unpackages message and passes to General
B - Major unpackages messages and passes to Colonel B
- Captain unpackages message and passes to Major B
- Lieutenant unpackages message and passes to
Captain B - Sergeant unpackages message and passes to
Lieutenant B - Private receives message, unpackages it and
passes it to Sergeant B
Note Message Indentical at this point
64Why layers?
- Good abstraction
- Simpler to understand than OGP
- Easier to design, analyze, implement and test
- Design concept is suites or families
65What is a Minimal Protocol
- Bridge applications notion of message to the
networks notion of a packet - Application layer
- Hands over application programs message to the
transport layer
Application
66Remember
- You make a call in your application.
- You think youre sending a message to another
computer - Whats really happening?
67What is a Minimal Protocol
- Transport layer
- At sending end
- Takes a message from the application layer and
breaks it into packets commensurate with the
network characteristics - Attaches headers to the packets that contain
information for use at the destination - Handles retransmissions if necessary for
overcoming network errors
Application
Transport
68What is a Minimal Protocol
- Transport layer (continued)
- At receiving end
- Use the header info to assemble a message
destined for an application program at this node - Keeps track of packets of message(s) being
assembled - Negotiate with the sender (using ACKS/NACKS) to
complete the message assembly - Hand over assembled message to the application
layer
Application
Application
Transport
Transport
69What is a Minimal Protocol
- Network layer
- Implements the network driver to deal with the
physical characteristics of the network - e.g.
- CSMA/CD for Ethernet
- token re-generation for token ring
- Routing packets on the available network links
- Filtering packets on the network and snarfing
those intended for this node
Application
Application
Transport
Transport
Network
Network
70Protocol Layering
- Do we need these three layers?
- Do we need any more layers?
- What does the layering mean?
- How rigid is the layering?
- Does layering imply inefficiency?
71Layering Advantages
- Layering allows functionally partitioning the
responsibilities (similar to having procedures
for modularity in writing programs) - Alows easily integrating (plug and play) new
modules at a particular layer without any changes
to the other layers - Rigidity is only at the level of the interfaces
between the layers, not in the implementation of
these interfaces - By specifying the interfaces judiciously
inefficiencies can be avoided
72Why not combine transport and network?
73- Separation of transport and network is good
- Allows the networking layer to decide the best
path to take from source to destination - Addition/removal of physical media does not
affect the transport layer code - Are these three layers sufficient?
- Consider a node that wants to talk with other
nodes that may be on local LAN as well as other
nodes in the outside world - Now we can generalize the layered protocol
model...
74ISO 7-Layer OSI Model
7
- Interact with user e.g. mail, telnet, ftp
Presentation
- Char conv., echoing, format diffs endian-ness
6
Session
5
- Process to process comm. e.g. Unix sockets
Transport
- Packetizing, seq-num, retrans. e.g. TCP, UDP
4
Network
- Routing, routing tables e.g. IP
3
- Interface to physical media, error recovery e.g.
retransmit on collision in Ethernet
Data Link
2
- Electrical and mechanical characteristics of
physical media e.g. Ethernet
Physical
1
ISO International Standards Organization OSI
Open System Interconnection
75Packet or Frame
Layer 7 header
Layer 6 header
Layer 5 header
Layer 4 header
Layer 3 header
Layer 2 header
76Practical Aspects of Layering
- OSI model only a historic guide
- Arpanet days
- With the evolution of Internet
- Some layers got collapsed
- These days...
- Layers 7-5 ftp, telnet, smtp, ..
- Layer 4 TCP, UDP
- Layer 3 (with aspects of 2) IP
- Layer 2 Ethernet bridges/repeaters
- Layer 1 Hardware specs, etc.
Application
Transport
Network
Datalink
Physical
77Techniques Protocols Use
- Sequencing for Out-of-Order Delivery
- Sequencing to Eliminate Duplicate Packets
- Retransmitting Lost Packets
- Avoiding Replay Caused by Excessive Delay
- Flow Control to Prevent Data Overrun
- Mechanism to Avoid Network Congestion
78Sequencing for Out-of-Order Delivery
- Will packets arrive in the same order they were
sent? - Why?/Why not?
- Solution
- Attach sequence number to packet
- Maintain counter
- If arriving packet is next sequence pass it on
- If not save until correct point
79Sequencing to Eliminate Duplicate Packets
- Can packets be duplicated?
- Transmitter sends packet
- Thinks collision occurs, backs off
- Resends packet
- Solution
- Use sequence numbers to detect and discard
duplicates
80Retransmitting Lost Packets
- Can packets get lost?
- Sender
- Send packet
- Start timer
- Receiver
- Receives and sends ACK
- Sender
- ACK...keep going
- Timeout...resend
As before this process may generate duplicate
packets
(limit?)
81Avoiding Replay Caused by Excessive Delay
- Two computers start communicating at 100 p.m.
- One computer sends 10 packets to another
- Hardware problem causes packet 3 to be delayed
- Routes change to avoid hardware problem
- Protocol software retransmits packet 3
- At 105 p.m. the two computers agree to
communicate again - After second packet arrives delayed packet 3
arrives - The correct packet 3 arrives
82Solution
- Protocols mark each session with unique Session
ID - Incorrect session ID causes packet to be discarded
83Flow Control to Prevent Data Overrun
- Sender transmits packet
- Waits for ACK
- Receives ACK
- Sends next packet
- Problem?
84Analysis
- Assume
- Packet size 1000 bytes (8,000 bits)
- Capacity 2 Mbps
- Delay 50 ms
- Operation
- Transmit packet 8,000/2,000,000 4ms
- Wait 100 ms gt total time 104 ms
- Result
- 1/.104 9.6 packets/sec
- 9.6 x 1000 x 8 76,800 bps
- 76,800/2,000,000 3.8 of maximum
85Solution Sliding Window
still unsent
already acknowledged
86Computer 2
Computer 1
Computer 1
Computer 2
Window size may be changed dynamically depending
on performance
87Computer 2
Computer 1
Computer 1
Computer 2
Actually only need to ACK last packet of window!
88Now send 2 packets at a time
- Assume
- Packet size 1000 bytes (8,000 bits)
- Capacity 2 Mbps
- Delay 50 ms
- Operation
- Transmit 2 packets 16,000/2,000,000 8ms
- Wait 100 ms gt total time 108 ms
- Result
- 1/.108 9.26 packets/sec
- 9.26 x 2000 x 8 148,160 bps
- 148,160/2,000,000 7.4 of maximum
89Mechanism to Avoid Network Congestion
- Switches detect congestion
- Send message back to sender
- Set bit to inform receiver
- Use packet loss to estimate congestion
- Reduce sliding window size
- Reduce packet rate
90Questions?