Title: ECE 6160: Advanced Computer Networks Discussion on some key network issues
1ECE 6160 Advanced Computer NetworksDiscussion
on some key network issues
- Instructor Dr. Xubin (Ben) He
- Email Hexb_at_tntech.edu
- Tel 931-372-3462
- Course web http//www.ece.tntech.edu/hexb/616f05
2Outline
- Performance
- Security
- Reliability and Scalability
3Performance basic measurements
- Bandwidth, throughput, latency
- Bandwidth utilization
- particularly important for ustomers
- A common cause of performance problems
- Packets per second
- Round Trip Time (RTT)
- It's a good measurement for long-term trend
analysis - Backbone packet loss
- Reachability -- Why is packet loss occurring?
- Circuit Performance -- How are our carriers
doing?
4Measurement toolsBW and Throughput
- Bing determines the real (raw, as opposed to
available or average) throughput on a link by
measuring ICMP echo requests roundtrip times for
different packet sizes for each end of the link. - bprobe/cprobe estimates the maximum possible
bandwidth along a given path. cprobe estimates
the current congestion along a path. Currently
these tools rely on two features of the IRIX
operating system for SGI hardware. - Netperf Netperf is a benchmark that can be used
to measure the performance of many different
types of networking. It provides tests for both
unidirecitonal throughput, and end-to-end
latency. - nettimer nettimer is useful for measuring
end-to-end network performance. - ttcp and nttcp classic throughput benchmark or
load generator.
5Measurement Tools Forward path probes
- ping
- Pingplotter visual version of ping
- Traceroute Directs a packet to each router along
a path without actually knowing the path, by
setting the IP TTL field from 1 to n until the
ultimate destination is reached. Upon receiving a
packet with an expired (0) TTL, the hop generates
an ICMP Time Exceeded response back to the
source, thus identifying the hop and its round
trip delay. Each UDP packet is sent to a
probably-unused port, so when the destination
receives the packet it responds with ICMP Port
Unreachable. - Xtraceroute Graphical traceroute.
traceroute Univ. of Arizona to Tennessee Tech
6Xtraceroutesnapshot
7Measurement tools Link utilization
- IPTraf IPTraf is a console-based network
statistics utility for Linux. It gathers a
variety of figures such as TCP connection packet
and byte counts, interface statistics and
activity indicators, TCP/UDP traffic breakdowns,
and LAN station packet and byte counts. - Iperf Iperf is a tool to measure maximum TCP
bandwidth, allowing the tuning of various
parameters and UDP characteristics. Iperf reports
bandwidth, delay jitter, datagram loss. - Tcpdump Stable, mature, canonical portable
packet collector.
8One-way Availability/Latency Tests
- Echoping Echoping is a utility for measuring
TCP/UDP latency by sending to an arbitrary
(default 'echo') port. It includes support for
testing HTTP query latency. - Fping A ping variant suitable for use in
scripts. fping will issue ICMP echo requests to a
list of hosts in round-robin fashion. fping
output is meant to be parsed by scripts. - Gnuplotping Pings multiple hosts in parallel,
with graphical display (gnuplot) of delay
distribution. - Imeter Imeter is a series of scripts that
supports collection, analysis, and web-displayed
graphs of long-term ping data.
9References
- NLANR http//dast.nlanr.net/NPMT/
- A Compendium of Network Performance Measurement
Resources by Kai Chen - Internet Protocol Performance Metrics
- Introduction to Network Performance Measurement
by Daniel McRobb - Network Performance Measurement and Analysis --
Part 1 A Server-Based Measurement Infrastructure
by Y. Thomas Hou, Yingfei Dong, Zhi-Li Zhang - NIMI - A System for Flexible Network Performance
Measurement by A.Adams and M.Mathis
10What is network security?
- Confidentiality only sender, intended receiver
should understand message contents - sender encrypts message
- receiver decrypts message
- Authentication sender, receiver want to confirm
identity of each other - Message Integrity sender, receiver want to
ensure message not altered (in transit, or
afterwards) without detection - Access and Availability services must be
accessible and available to users
11The language of cryptography
Alices encryption key
Bobs decryption key
encryption algorithm
decryption algorithm
ciphertext
plaintext
plaintext
- symmetric key crypto sender, receiver keys
identical - public-key crypto encryption key public,
decryption key secret (private)
12Symmetric key cryptography
encryption algorithm
decryption algorithm
ciphertext
plaintext
plaintext message, m
K (m)
A-B
- symmetric key crypto Bob and Alice share known
same (symmetric) key K - e.g., key is knowing substitution pattern in mono
alphabetic substitution cipher - DES 56-bit symmetric key, 64-bit plaintext input
A-B
13Symmetric key crypto DES
- initial permutation
- 16 identical rounds of function application,
each using different 48 bits of key - final permutation
14Public Key Cryptography
- symmetric key crypto
- requires sender, receiver know shared secret key
- Q how to agree on key in first place
(particularly if never met)?
- public key cryptography
- radically different approach Diffie-Hellman76,
RSA78 - sender, receiver do not share secret key
- public encryption key known to all
- private decryption key known only to receiver
15Public key cryptography
Bobs public key
K
B
-
Bobs private key
K
B
encryption algorithm
decryption algorithm
plaintext message
plaintext message, m
ciphertext
RSA Rivest, Shamir, Adelson algorithm
16RSA Choosing keys
1. Choose two large prime numbers p, q.
(e.g., 1024 bits each)
2. Compute n pq, z (p-1)(q-1)
3. Choose e (with eltn) that has no common
factors with z. (e, z are relatively prime).
4. Choose d such that ed-1 is exactly divisible
by z. (in other words ed mod z 1 ).
5. Public key is (n,e). Private key is (n,d).
17Authentication
- Goal Bob wants Alice to prove her identity to
him
Protocol ap1.0 Alice says I am Alice
I am Alice
Failure scenario??
18Authentication
- Goal Bob wants Alice to prove her identity to
him
Protocol ap1.0 Alice says I am Alice
in a network, Bob can not see Alice, so Trudy
simply declares herself to be Alice
I am Alice
19Authentication another try
Protocol ap2.0 Alice says I am Alice in an IP
packet containing her source IP address
Failure scenario??
20Authentication another try
Protocol ap2.0 Alice says I am Alice in an IP
packet containing her source IP address
Trudy can create a packet spoofing Alices
address
21Authentication another try
Protocol ap3.0 Alice says I am Alice and sends
her secret password to prove it.
Failure scenario??
22Authentication another try
Protocol ap3.0 Alice says I am Alice and sends
her secret password to prove it.
Alices password
Alices IP addr
Im Alice
playback attack Trudy records Alices packet and
later plays it back to Bob
23Authentication yet another try
Protocol ap3.1 Alice says I am Alice and sends
her encrypted secret password to prove it.
Failure scenario??
24Authentication another try
Protocol ap3.1 Alice says I am Alice and sends
her encrypted secret password to prove it.
encrypted password
Alices IP addr
record and playback still works!
Im Alice
25Authentication yet another try
Goal avoid playback attack
Nonce number (R) used only once in-a-lifetime
ap4.0 to prove Alice live, Bob sends Alice
nonce, R. Alice must return R, encrypted with
shared secret key
I am Alice
R
Alice is live, and only Alice knows key to
encrypt nonce, so it must be Alice!
Failures, drawbacks?
26Authentication ap5.0
- ap4.0 requires shared symmetric key
- can we authenticate using public key techniques?
- ap5.0 use nonce, public key cryptography
I am Alice
Bob computes
R
and knows only Alice could have the private key,
that encrypted R such that
send me your public key
27ap5.0 security hole
- Man (woman) in the middle attack Trudy poses as
Alice (to Bob) and as Bob (to Alice)
I am Alice
I am Alice
R
R
Send me your public key
Send me your public key
Trudy gets
sends m to Alice encrypted with Alices public key
28ap5.0 security hole
- Man (woman) in the middle attack Trudy poses as
Alice (to Bob) and as Bob (to Alice)
- Difficult to detect
- Bob receives everything that Alice sends, and
vice versa. (e.g., so Bob, Alice can meet one
week later and recall conversation) - problem is that Trudy receives all messages as
well!
29Firewalls
isolates organizations internal net from larger
Internet, allowing some packets to pass, blocking
others.
firewall
30Firewalls Why
- prevent denial of service attacks
- SYN flooding attacker establishes many bogus TCP
connections, no resources left for real
connections. - prevent illegal modification/access of internal
data. - e.g., attacker replaces CIAs homepage with
something else - allow only authorized access to inside network
(set of authenticated users/hosts) - two types of firewalls
- application-level
- packet-filtering
31Packet Filtering
Should arriving packet be allowed in? Departing
packet let out?
- internal network connected to Internet via router
firewall - router filters packet-by-packet, decision to
forward/drop packet based on - source IP address, destination IP address
- TCP/UDP source and destination port numbers
- ICMP message type
- TCP SYN and ACK bits
32Packet Filtering
- Example 1 block incoming and outgoing datagrams
with IP protocol field 17 and with either
source or dest port 23. - All incoming and outgoing UDP flows and telnet
connections are blocked. - Example 2 Block inbound TCP segments with ACK0.
- Prevents external clients from making TCP
connections with internal clients, but allows
internal clients to connect to outside.
33Application gateways
gateway-to-remote host telnet session
host-to-gateway telnet session
- Filters packets on application data as well as on
IP/TCP/UDP fields. - Example allow select internal users to telnet
outside.
application gateway
router and filter
1. Require all telnet users to telnet through
gateway. 2. For authorized users, gateway sets up
telnet connection to dest host. Gateway relays
data between 2 connections 3. Router filter
blocks all telnet connections not originating
from gateway.
34Limitations of firewalls and gateways
- IP spoofing router cant know if data really
comes from claimed source - if multiple apps. need special treatment, each
has own app. gateway. - client software must know how to contact gateway.
- e.g., must set IP address of proxy in Web browser
- filters often use all or nothing policy for UDP.
- tradeoff degree of communication with outside
world, level of security - many highly protected sites still suffer from
attacks.
35Reliability and Scalability
- Reliability redundancy
- Scalability how well a hardware or software
system can adapt to increased demands. For
example, a scalable network system would be one
that can start with just a few nodes but can
easily expand to thousands of nodes. Scalability
can be a very important feature because it means
that you can invest in a system with confidence
you won't outgrow it. - Resource Scalability
- Application Scalability
- Technology Scalability