1 some snapshots rocky k. c. chang 8 september 2008
Post on 22-Dec-2015
226 views
TRANSCRIPT
1
Some Snapshots
Rocky K. C. Chang8 September 2008
2
What is this course about? Internet Protocol (IP)
Addressing (identifiers) Encapsulation (“message” units) Routing and forwarding
Additional considerations Reliability and others (TCP) Congestion control (TCP and router-based mechanisms) Scale: two-layer of routing (BGP and OSPF), addressing
aggregation, fast packet forwarding Autonomous systems: policy routing Security
3
What is this course about?
Other issues Protocol correctness vs. protocol performance Inter-layer interaction (Web and TCP) Design principles underlying these networking
protocols Design philosophy for the Internet
infrastructure
4
What do you think?
Is Internet working today? Will Internet work tomorrow? If not, what will be the consequences? What is the Internet?
5
What is the Internet? A set of growing networked elements
providing connectivity and services. No one knows exactly how the Internet
looks like. No one knows exactly where the boundary
of the Internet is. No one knows exactly how and how fast
the Internet grows. No one knows for sure that the Internet
will continue to work tomorrow.
6
What is the Internet? Internet is a network of networks (network
integration). Started off as an experimental packet-
switched network Packet switching (vs. circuit switching and
message switching) 4-node ARPANET BBN Create a logical network on top of different
physical networks.
7
Internet protocols Protocol: A formal description of message
formats and the rules two computers must follow to exchange those messages.
Each protocol defines two interfaces: Service interface defines the operations that
local objects can perform on the protocol. Peer interface defines the form and meaning of
messages exchanged between protocol peers to implement the communication service.
8
Internet protocols
Protocol entity
Protocol entity
Message format and
interpretation
ServicesServices
Protocol entity
Protocol entity
Message format and
interpretation
ServicesServices
9
TCP/IP protocol suite Internet protocol suite, or TCP/IP protocol
suite TCP/IP becomes the de facto standard for open
system networking less than ten years ago (replaced the OSI protocol).
No one owns the TCP/IP technology The Internet Architecture Board (IAB) (www.iab.org) The Internet Engineering Task Force (IETF)
(www.ietf.org) The Internet Corporation for Assigned Names and
Numbers (ICANN) (www.icann.org)
10
TCP/IP protocol suite A four-layer model (hour-glass)
The hour-glass model is everywhere.
…
FTP HTTP NV TFTP
TCP UDP
IP
NET1 NET2 NETn
Application
Transport
Network
Data-link
11
TCP/IP protocol suite In real life,
IPv4
TCP UDP
ARPICMPv4
IGMP
EthernetATMPPP
IPv6
DNSFTP Telnet SMTPHTTP1.0
/1.1
DVMRPPIM
RIP-I/II
OSPF
BGP SNMP DHCP
FDDI
RTP
RTSP SIP X.500
ICMPv6
RSVP
Cable Satellite SONETFrameRelay
IPSec
TLS
IPSec intunnelmode
Data-link
Network
Transport
Application
IEEE802.11
Bluetooth
12
Milestones
13
Recent developments
From file transfer, remote login, etc. to IP telephony, IP storage, IP TV, etc
From data networks to wireless / satellite / mobile /cable /optical / power networks
From tens of thousands of hosts to tens of millions of hosts
From bursty data traffic to QoS-sensitive traffic
From secure to insecure Internet
14
The internetworking problem Problem: How to interconnect heterogeneous
networks effectively? Interconnect homogeneous networks directly,
e.g., Multiple Ethernet LAN segments Multiple Fibre Channels Multiple Token Rings Two wireless LANs …
Switching / bridging LAN switches Transparent bridging, spanning tree algorithm and
source routing
15
The internetworking problem Interconnect heterogeneous networks
directly, e.g., DIX Ethernet with IEEE Ethernet Ethernet with Token Ring Wired LAN with wireless LAN
Three problems with interconnection at data-link layer: Do not scale to the number of data-link
technologies. Do not scale to the number of hosts
(networks). Do not have a common addressing space.
16
The internetworking problem
S2
S1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 3 (FDDI)
Network 4(point-to-point)
H7 S3 H8
17
Scaling to data-link technologies Conversion between frame structures. Scalability problem as the number of data-
link technologies supported increases, e.g.,
Ethernet
FDDI
PPPToken ring
Frame conversion
18
Scaling to network size A switched LAN is a “flat” network---A
single broadcast frame reaches every LAN. VLAN can relieve this problem at the expense
of managing VLAN membership. Spanning tree protocol does not scale well
to network size. Take a longer time for the protocol to
converge. Take a longer time to respond to network state
changes.
19
Uncommon MAC address spaces Different structures and number of bits
used in MAC address space Each address in a data-link technology
must be universally unique.
20
A layer-3 solution to internetworking
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 3 (FDDI)
Network 4(point-to-point)
H7 R3 H8
21
IP: Scaling to data-link technologies
Ethernet
FDDI
PPPToken ring IP
Encapsulation and demultiplexing
22
IP: Scaling to network size IP network uses hierarchies to achieve
scalability. There are at least three levels:
A single IP host (csultra6.comp.polyu.edu.hk) A IP subnet (four subnets in
comp.polyu.edu.hk) An autonomous system (polyu.edu.hk)
23
IP: Uncommon MAC address spaces
Create a logical (unicast) address space to identify network interfaces.
Classes A-C for unicast and class D for multicast:
Network Host
7 24
0(a)
Network Host
14 16
1 0(b)
Network Host
21 8
1 1 0(c)
28
1 1 0(d) 1
24
Directly connected IP hosts
IP
ETH
TCP
H1
IP
ETH
TCP
H2
FTP FTPFTP
TCP
IP
Ethernet protocol
25
Indirectly connected IP hosts
R1
ETH FDDI
IPIP
ETH
TCP
R2
FDDI ETH
IP
H1
IP
ETH
TCP
H2
FTP FTPFTP
TCP
IP
FDDI protocol
26
Encapsulation Data is processed at each layer through
the protocol stack, until it is sent as a stream of bits across the network.
Each layer adds information to the data by prepending headers (and sometimes trailers) to the data that it receives.
A lower-level protocol does not interpret the message it is given by some higher-level protocol.
27
Encapsulation
IP
ETH
TCP
FTP
Appl. data
Appl. dataTCP hdr
Appl. dataTCP hdrIP hdr
Appl. dataTCP hdrIP hdrEth. hdr
user input
Send out to the network interface
28
Demultiplexing
Appl. data
Appl. dataTCP hdr
Appl. dataTCP hdrIP hdr
Appl. dataTCP hdrIP hdrEth. hdr
Received from the network interface
Other nonIP network protocols
UDP-based applications
Other TCP-based application processes
29
Internet addresses and port numbers
Each network interface has at least one IP address.
Both TCP and UDP use 16-bit port numbers to identify applications.
Servers are normally known by their well-known port numbers, usually between 1 and 1023.
Client ports are referred to ephemeral ports, i.e., short lived, which use port numbers above 1023.
30
IP software at end hosts The IP software mainly consists of modules
for Application layer, such as DNS Transport layer: TCP, UDP Routing layer: IP, ICMP, and others. Data-link layer: MAC-IP-addresses binding
IP addresses MAC addresessHost namesDNS ARP
RARP
31
An example
A HTTP client is running in m1.sun.com to connect to a HTTP server at www.sun.com.
The DNS client at m1.sun.com first obtains the IP address of www.sun.com.
The application data (HTTP+TCP) will then be encapsulated by an IP datagram with
www.sun.com m1.sun.com
140.20.1.1 140.20.1.2
32
An example IP source address = 140.20.1.2 IP destination address = 140.20.1.1
Now m1.sun.com needs to run ARP to obtain the MAC address of www.sun.com’s network interface to the LAN.
The IP datagram is then encapsulated in an Ethernet frame with MAC source address = that of m1.sun.com MAC destination address = that of
www.sun.com
33
IP Software at routers The software at routers is mainly used for
routing and datagram forwarding. Each router is running at least a “routing
protocol” to construct a routing (or forwarding) table. Each entry in a routing table consists of IP
destination address and the next-hop’s IP address.
Upon receiving a datagram, a router forwards it based on a set of forwarding rules and the routing table.
34
Network programming Two most common network APIs: Sockets
and X/Open Transport Interface (XTI), a slight modification of AT&T’s Transport Layer Interface (TLI).
The APIs allows programmers to easily make “connections” with another application process, without knowing how the underlying network operates.
35
Basic socket calls for a client
socket
connect
recvsend
peer
sockaddr_in{}
obtain a socket
establish a connection to the peer
receive and send data
36
Basic socket calls for a server
socket
listen
recvsend
peer
sockaddr_in{}
obtain a socket
mark the socket as a listening socket
receive and send data
bind
accept
local
sockaddr_in{}bind the server’s IP address and port to the socket
accept new connections
37
10 choices that were critical to the Internet’s
success
38
10 right choices (by Scott Bradner)
1. Make it all work on top of existing networks (about networks, not a network).
2. Use packets, not circuits.3. Create a routing function.4. Split TCP and IP.5. The NSF funded the UC/Berkeley to put
TCP/IP into the Unix OS.6. CSNET connected with ARPANET (email
only).
39
10 right choices (by Scott Bradner)
7. The NSF required users of the NSFNET to use TCP/IP.
8. Intl. telecomm standard bodies rejected TCP/IP, then created OSI.
9. The NSF created an “Acceptable Use Policy” restricting NSFNET use to noncommercial activities.
10. Once things started to build, government stayed mostly out of the way.
40
Exercises this week Try out the following commands (with
various options) and network diagnosis tools: ipconfig netstat arp ping (ICMP, UDP, TCP, HTTP) traceroute (tracert, pathping, ICMP/TCP/UDP,
etc) wireshark
41
Acknowledgments URL for the 10 choices
http://www.interesting-people.org/archives/interesting-people/200209/msg00018.html