Title: CSCI 5273 Computer Networks Internetworking
1CSCI 5273Computer NetworksInternetworking
AddressingStevens 1.3-1.17
- Dirk GrunwaldAssoc. ProfessorDept. of Computer
ScienceUniversity of Colorado, Boulder
2Review
- IP (Internet protocol) is designed to connect
networks that are - Possibly managed by organizations / people
- May have different physical connections
- May be connected via a sequence of arbitrary
intermediaries - A layered approach is used simplify application
protocol design
3Protocol Layering
FTP
FTP
TCP
TCP
IP
IP
Ethernet
Token Ring
IP
4Review
- The link layer deals with the actual transport of
bits across a physical medium. - The network layer abstracts the characteristics
of the different link layers to a common layer
(e.g. IP) and provides management functions at
that layer. - The transport layer adds various features
- Reliable communication (tcp)
- Arbitrary message sizes (udp)
- The application layer is the API provided to the
programmer. Protocols are defined above that.
5Problems to identify solve
- Addressing
- How do we name applications?
- How do we name connections?
- How do we name computers?
- For humans
- Across networks
- Within a physical network
- How do we deal with a decentralized organization?
- Who arbitrates decisions?
- Who defines standards?
- How do we deal with a plurality of physical
networks?
6Naming Addresses
- Addresses are defined across three layers
- Physical / link level
- Medium Access Control (MAC)
- Network/IP level
- IP address
- Transport/application level
- Ports
7Ethernet 101
- AlohaNet
- Developed _at_ University of Hawaii in 1975
- Radio with a single channel
- Users transmit whenever they have data
- They also listen at the same time
- If theres a collision, retransmit
T
8Detecting a Collision
A
B
T
- A starts transmitting a frame
- The first bit arrives in T seconds.
- The last at TL seconds
- B starts transmitting when the last bit just
arrives - A must continue to listen for 2TL seconds to
detect B.
9CSMA CSMA/CD
- CSMA - Carrier Sense, Multiple Access
- Listen.If idle, transmit.Listen during
transmission.If theres a possibility of
conflict, retransmit - CSMA/CD - CSMA/Collision Detection
- Listen. If idle, transmit.Listen during
transmission.If theres a collision,
then jam the channel Wait for 2T period to
insure everyone heard you Wait a random period
of time retransmitWhen done, wait 2T to insure
your last bit wasnt corrupted
10Physical problems
- Signal attenuation requires repeaters
- This is still a single collision domain
11Consequences
- Large T leads long delay between messages
- Limiting T means limiting the physical size of a
physical media - T must be defined for the maximum possible length
- Large frame size leads to better bandwidth
- Less time spent contending
- Its easier to detect collisions if theres a
minimum frame size. Frames must take at least 2T
time to insure that contention is detected. - For 802.3 specification, at 10Mb/s with a maximum
length of 2500 meters w/4 repeaters, T51.2
microseconds - Or, minimum frame length of 64 bytes
12Further Consequences
- As transmission speed increases, either
- Minimum frame size increases
- Or, network length decreases
13Hubs Switches
- A hub is a single collision domain, although it
has a physical hub and spoke topology - A switch is a set of distinct collision
domains.Frames destined for another collision
domain are switched from one domain to another
14Addressing at the physical layer
- Ethernet (or 802.3) networks specify a 48-bit
physical MAC address - 00-00-f8-75-5b-a6 -- Unique identifier for the
network interface card (NIC) - Address ranges are assigned to specific
vendorsE.g., 00-00 is Digital Equipment corp. - Certain MAC addresses mean broadcast
15Addressing at the physical/link layer
- Frames are delivered to NICs with that
specific MAC address (or all w/broadcast) - A hub presents each frame to all NICs
- A switch moves frames from one collision domain
to another based on the MAC address - A table is maintained that specifies which MAC
addresses are on which collision domain. - Frames destined for an unknown MAC address are
broadcast to all collision domains
16The reality of the world today
- A 10-BaseT ethernet NIC runs 9 for a cheapo
PCI/ISA10-BaseT via USB is 40. 100BaseT via
PCI is 30.Gigabit NIC is 350. - A 4-port hub costs 40. Switches are gt70.
Gigabit is much more (gt2000).
17More Realities
- Single nodes on switches allow you to use duplex
communication - Send receive concurrently
- You need to use high-qualitycabling (Cat5)
for100 Mb/s networks - Gigabit networks currently require fiber, but
cable standard now available. - Modest network bandwidth contention is a
problem you throw money at, not brains.
NIC
18TokenRing / FDDI
- A token circulates amoung all computers.You
can only transmit if you have the token. - Variations More than one tokenbased on length
or e.g. FDM.
19Coming to a home near you!
- Cable modems Ethernet
- Home Phone Networking Alliance (HomePNA)
- www.homepna.org
- 1-Mbit/s over your existing phonelines
- Typically combined with 10-BaseT connection(for
cable modem) - 16-Mbit/s standard coming in 1H00
- AMD, Intel make chipsets
- Tut Systems, Broadcom are active players
- 80Mbit/s is realizable
20More Addressing
- So, at the physical layer, Ethernet/802.3 uses a
MAC address - Can locate computers within a single physical
network - You want to limit network size - broadcast
packets still affect full network. - How do you address at the network and transport
level?
21IP Addressing
- Each host in the internet has a unique 32-bit
address - Im lying
- There are three address types
- Unicast communication -- destined for a single
host - Broadcast communication -- destined for all hosts
on a network - Multicast communication -- destined for a set of
hosts that belong to a multicast group. - Note the use of network and host
- Network IDs are assigned by the InterNIC
22IP Addressing
0
netid/7
hostid/24
Class A
1
netid/14
hostid/16
0
Class B
1
0
1
netid/21
hostid/8
Class C
1
1
1
multicast group/28
0
Class E
1
1
1
1
multicast group/28
Class F
Class Range (as dotted quad)A 0.0.0.0 to 127.25
5.255.255B 128.0.0.0 to 191.255.255.255C 192.0.0
.0 to 223.255.255.255D 224.0.0.0 to 239.255.255.2
55E 240.0.0.0 to 255.255.255.255
23Problems Subnets
- A few companies got class A networks(e.g.,
Digital, Xerox) - Many educational institutions got class B
networksE.g., my primary computer is
128.138.241.78 - Most people get class C networks. E.g., my cable
modem in Palo Alto was 208.166.41.96 - Allegedly, broadcasts would go to an entire
network - Obviously impractical for a Class A
network.Thats 16,777,216 hosts - Well discuss subnetting and routing later
24Mapping names to numbers
- Obviously, its hard to remember that
128.138.241.78 is my computer - But, numbers are more useful when actually
switching messages - The Domain Naming System maps names to IP
addresses - A tree-structured distributed database and naming
scheme - Each separately administered subtree is a zone
- Network Solutions handles registration of each
top level domain (e.g., colorado.edu). - Sub-domains are then administered by individual
groups - cs.colorado.edu
- Well discuss how names are resolved later
25Transport Level Naming
- Each NIC receives messages for a number of
applications - How do we differentiate the data intended for
different apps? - Each IP connection has an associated 16-bit port
number. - Port numbers are contained in each TCP UDP
packet - Some port numbers are well known services
- E.g., telnet is always port number 23
- Port numbers from 0..1023 are for well known
services.Those port numbers are assigned by the
Internet Assigned Numbers Authority (IANA)
26Transport Naming in Unix
- Unix uses reserved ports for security
- Only the superuser can create ports in the range
of 0..1023. - This is used for simplistic authentication
- On most unix systems, /etc/services lists the
reserved ports
systat 11/tcp users daytime 13/tcp daytime 13/
udp netstat 15/tcp qotd 17/tcp
quote text chargen 19/tcp ttytst
source chargen 19/udp ttytst source ftp-data 20/
tcp ftp 21/tcp ssh 22/tcp SSH Remote Login
Server ssh 22/udp SSH Remote Login Server
27Representing TCP UP
- UDP is a datagram or message oriented
protocol - Maps well to Ethernet, etc
- TCP is a stream oriented
- Appears to be an infinite stream of bytes
- This maps to frames by packetization
IP Packet
IP Packet
IP Packet
IP Packet
IP Packet
28Encapsulation
- Application level communication typically has
three levels of addressing - Application information (e.g., HTML headers)
- Transport information (port)
- Network information (IP address)
- Link information (MAC address)
- Each layer is encapsulated in the preceding
layer. - We mux or encapsulate the message when its
sent - We demultiplex the message when it arrives
- Leads to layered software design
29Encapsulation as it goes down the protocol stack
User Data
App.
User Data
App Hdr
User Data
App Hdr
TCP Hdr
TCP
User Data
App Hdr
TCP Hdr
IP Hdr
IP
User Data
App Hdr
TCP Hdr
IP Hdr
EthernetHeader
Ethernettrailer
Ethernet
14
20
20
4
46-1500 bytes
30Demultiplexing
Ethernetdriver
EthernetFrame
ARP
IP
RARP
Other
IPHeader
TCP
UDP
ICMP
IGMP
TCP/UDPHeader
App
App
App
App
31Standards Bodies
- Lots of arbitrary constants here!
- Naming, IP assignment, protocol header formats,
etc - Largely volunteer organization
- Internet Society -- "We are the most public
secret cabal in the history of the world." - Jon
Postel - Internet Architecture Board (IAB) - technical
oversight coordination body - Internet Engineering Task Force (IETF) -
near-term, standards-oriented. Develops
specifications that become internet standards - Internet Research Task Force (IRTF) - RD arm
32Standards are embodied by RFCs
- Request for Comment (RFC)
- Unique monotoniclly assigned numbers. RFCs can
not be revised, only re-issued. - All RFCs are available on-line
33IEEE Standards Body
- Institute of Electrical and Electronics
Engineers, Inc. - Many standards groups that define link-level and
protocol level protocols - E.g. 802 group defines link level protocols
- http//grouper.ieee.org/groups/802/
- Other useful IEEE standards
- USB, Firewire (IEEE 1394), etc