Basic TCP/IP Networking

Download Report

Transcript Basic TCP/IP Networking

Basic TCP/IP Networking
WeeSan Lee <[email protected]>
http://www.cs.ucr.edu/~weesan/cs183/
Roadmap










The Internet
How the Internet is managed?
TCP/IP
IP Addresses
CIDR
IPv6
IP Address Allocation
NAT
Hostname and IP Address Assignment
Routing vs Forwarding
The Internet


Inter-networks via TCP/IP
Originated from ARPANET




ARPANET → NSFnet
NSFnet was commercialized in 1994


Established in 1969 by DARPA
Not invented by Al Gore!!!
With help from Routing Arbiter Project
Now, the Internet is a collection of networks
managed by ISPs, who exchange traffic at NAPs
How the Internet is managed?


ISPs manage their own networks
Several organizations involve

ICANN


IETF


The Internet Corporation for Assigned Names and
Numbers
The Engineering Task Force
RFC-Editor


Request For Comments
RFC2555, 30 Years of RFCs
TCP/IP
HTTP
FTP
SSH
SMTP
TCP
ICMP
ARP/RARP
DNS
UDP
IP
IGMP
Hardware Interface
Application layer
Transport layer
Network layer
Link layer
TCP/IP (cont)

"Be liberal in what you accept, and
conservative in what you send." – Jon Postel
(1943-1998)
TCP/IP (cont)
HTTP
HTTP
TCP
TCP
IP
IP
Ethernet
The
Internet
Ethernet
IP Addresses

IPv4



4 bytes, eg. 138.23.169.9
Network & Host portion
Historical Internet address classes





A
B
C
D
E
1-126
N.H.H.H
128-191 N.N.H.H
192-223 N.N.N.H
224-239
240-255
IP Addresses (cont)

Problems




Class B addresses were running out by 1995
Routing tables were too big to fit into memory
Fragmentation
Solutions

Short-term


CIDR – Classless Inter-Domain Routing
Long-term

IPv6
CIDR


No more classes
Uses prefix, /00 notation, eg.


138.23.0.0/16
Can be difficult to compute, eg. /26

Uses http://www.jodies.de/ipcalc
IPv6

16 bytes



128 bits
Consume more memory on routers?
Ready for years but too costly to deploy
IP Address Allocation

ICANN delegates blocks of addresses to 5
regional Internet registries





ARIN
APNIC
RIPE
AfriNIC
LACNIC
NAT



Network Address Translation
Translation private IP addresses into public
Private IP addresses (RFC1918)





A 10.0.0.1/8
B 172.16.0.0/12
C 192.168.0.0/16
It’s a hack but it works
Some researchers hate it since it breaks e2e
Hostname and IP Address Assignment

/etc/hosts



DNS


127.0.0.1
localhost
138.23.169.9 eon.cs.ucr.edu eon
Domain Name System
DHCP

Dynamic Host Configuration Protocol
Hostname and IP Address Assignment
(cont)

/bin/hostname


Set or display current hostname
/bin/ifconfig

Enable and disable a network interface



$ ifconfig eth0 up
$ ifconfig eth0 down
Set IP address, subnet mask, broadcast address



$ ifconfig eth0 138.23.169.9 netmask 255.255.255.128
$ ifconfig eth0
$ ifconfig -a
Routing vs Forwarding

Routing


Forwarding


A process to build up a routing table
A process to forward packets from one NIC to another by
consulting the routing table
Routing table

$ netstat -rn





Kernel IP routing table
Destination Gateway
192.168.0.0 0.0.0.0
169.254.0.0 0.0.0.0
0.0.0.0
192.168.0.1
Genmask
255.255.255.0
255.255.0.0
0.0.0.0
Flags
U
U
UG
MSS
0
0
0
Window irtt Iface
0
0 eth0
0
0 eth0
0
0 eth0
Reference

LAH

Ch 12: TCP/IP Networking