Transcript Slide 1
Net-Centric Computing Division
Department of Computer Science
Bogor Agricultural University
KOM 312
KOMUNIKASI DATA
DAN JARINGAN KOMPUTER
Internet Protocol
Sri Wahjuni
my_juni04(at)ipb.ac.id; my_juni04(at)yahoo.com
AGENDA
Architecture
swj/11
TCP/IP
IPv4
ICMP
IPv6
2
Department of Computer Science -IPB
TCP/IP PROTOCOL SUITE
swj/11
3
Department of Computer Science -IPB
APLICATIONS OVER TCP/UDP
SMTP
HTTP
RTP
DNS
swj/11
TCP
UDP
IP
Network
Network
Network
Interface 1
Interface 2
Interface 3
Department of Computer Science -IPB
4
HTTP PACKET ENCAPSULATION
swj/11
5
Department of Computer Science -IPB
ADDRESSES IN TCP/IP
Alamat
(Addresses)
swj/11
Alamat Fisik
(Physical Address)
Alamat IP
(IP Address)
Alamat Port
(Port Address)
6-byte
00-16-36-4B-08-B7
4-byte (IPv4)
172.17.1.212
HTTP (80)
6
Department of Computer Science -IPB
ADDRESS RESOLUTION
swj/11
7
Department of Computer Science -IPB
HOW TO GET IP ADDRESS?
ICANN ( Internet Corporation for Assigned
Names and Numbers)
swj/11
IANA ( Internet Assigned Numbers
Authority)
ARIN (American
Registry for Internet
Number)
ISPs
LACNIC (Latin
America and
Carribean Network
Information Center)
RIPE (Reseaux
ISPs
ISPs
IP Europeens)
Department of Computer Science -IPB
AfriNIC
APNIC (Asia
(African Network
Information
Center)
Pacific Network
Information
Center)
ISPs
ISPs
8
IP ADDRESSES: HOW TO GET ONE?
Q: How does host get IP address?
hard-coded by system admin in a file
swj/11
Wintel: control-panel->network->configuration->tcp/ip->properties
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: dynamically get
address from as server
“plug-and-play”
9
Department of Computer Science -IPB
AGENDA
Architecture
IPv4
swj/11
TCP/IP
Header Format
Internet Checksum
Fragmentation and reassembly
Addressing (subnetting, CIDR)
Network Address Translation
ICMP
IPv6
10
Department of Computer Science -IPB
IPV4 HEADER
swj/11
11
Department of Computer Science -IPB
IP ADDRESSES FORMAT
swj/11
12
Department of Computer Science -IPB
CHECKSUM
Perform
swj/11
by summing sequence of bits using
1’s complement arithmetic
Used to detect error in the header
Used to protect the packet from data
corruption in transmission process
13
Department of Computer Science -IPB
Sender side
To create the checksum the sender does
the following:
swj/11
1. The packet is divided into k sections,
each of n bits.
2. All sections are added together
3. The final result is complemented
to make the checksum.
14
Department of Computer Science -IPB
Receiver side
To check the validity of the packet the receiver does
the following:
swj/11
1. The packet is divided into k sections,
each of n bits.
2. All sections are added together
3. The final result is complemented
4. The packet is valid if the result is all 0’s
15
Department of Computer Science -IPB
Checksum Mechanism
swj/11
16
Department of Computer Science -IPB
Checksum in one’s complement arithmetic
swj/11
Checksum
17
Department of Computer Science -IPB
Latihan: Berapa Nilai Checksum berikut?
swj/11
4
5
0
28
1
4
0
17
0
0
10.12.14.5
12.6.7.9
Department of Computer Science -IPB
18
Kalkulasi Checksum dalam Biner
4
5
0
1
4
1
0100 0101
0000 0000
0000 0000
000 0 0000
0000 0100
0000 0000
0000 1010
0000 1110
0000 1100
0000 0111
10
00000000
00011100
00000001
00000000
00010001
00000000
00001100
00000101
00000110
00001001
0 11 1 0 1 0 0
0 1 00 111 0
Checksum 1000 1011
10110001
19
28
0
17
0
0
Sum
10.12.14.5
12.6.7.9
Department of Computer Science -IPB
10
1
10
swj/11
carry
10
10
10
IP FRAGMENTATION & REASSEMBLY (1)
large IP datagram divided
(“fragmented”) within network
one datagram becomes
several datagrams
“reassembled” only at final
destination
IP header bits used to
identify, order related
fragments
Department of Computer Science -IPB
fragmentation:
in: one large datagram
out: 3 smaller datagrams
swj/11
network links have MTU
(max.transfer size) - largest
possible link-level frame.
different link types,
different MTUs
Ethernet 1500 bytes, FDDI
4464 bytes
reassembly
20
IP FRAGMENTATION & REASSEMBLY (2)
Uses fields in IP header :
Identification (ID) -- 16 bits : Identifies end system originated
datagram
Flags -- 3 bits : unused, don’t fragment (DF), more fragment
(MF)
Offset -- 13 bits :
Position of fragment of user data in original datagram
In multiples of 64 bits (8 octets)
Total Length
swj/11
21
Department of Computer Science -IPB
IP FRAGMENTATION AND REASSEMBLY
One large datagram becomes
several smaller datagrams
1480 bytes in
data field
offset =
1480/8
Note : header overhead
Department of Computer Science -IPB
swj/11
Example
4000 byte
datagram (exclude
IP header)
MTU = 1500 bytes
length ID fragflag offset
=4020 =x
=0
=0
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=185
length ID fragflag offset
=1060 =x
=0
=370
22
EXAMPLE OF IP HEADER
swj/11
23
Department of Computer Science -IPB
IPV4 ADDRESS FORMAT:
NETWORK ID DAN HOST ID
swj/11
Format terdiri 2 bagian:
ID Network (Jaringan) : menunjukkan jaringan tempat komputer
tersebut berada
ID Host (identitas komputer) : menunjukkan identitas unik dari setiap
peralatan (komputer) di sebuah jaringan (kenyatannya suatu interface
pd jaringan)
24
Department of Computer Science -IPB
IPV4 : PENULISAN
1. Notasi Biner
swj/11
Format:
xxxxxxxx . xxxxxxxx . xxxxxxxx . xxxxxxxx
dipisahkan setiap 8 bit dan setiap simbol “x” dapat digantikan oleh
angka 0 dan 1, misalnya:
11000000.10101000.00000011.11111101
2. Notasi Dotted Decimal
• Lebih Mudah
• IP addresses ditulis dalam bentuk notasi desimal bertitik
Format: nnn.nnn.nnn.nnn (dimana nnn = 0 s/d 255)
misalnya: 192.168.3.253
25
Department of Computer Science -IPB
IP ADDRESSING: INTRODUCTION
IP address: 32-bit
identifier for host,
router interface
interface: connection
between host/router
and physical link
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
IP addresses associated
with each interface
223.1.2.9
223.1.3.27
223.1.3.1
223.1.2.2
swj/11
223.1.2.1
223.1.3.2
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
Department of Computer Science -IPB
1
1
26
BASIC CLASSES
swj/11
27
Department of Computer Science -IPB
SPECIAL IP ADDRESSES.
swj/11
28
Department of Computer Science -IPB
EXAMPLES
IP Address : 202.0.81.252
• Nomor network
: 202.0.81
• Nomor host
: 252
• Network Address : 202.0.81.0
• Broadcast Address: 202.0.81.255
Department of Computer Science -IPB
swj/11
IP Address : 44.132.1.20
• Nomor network
: 44
• Nomor host
: 132.1.20
• Network Address : 44.0.0.0
• Broadcast Address: 44.255.255.255
29
ADDRESSING AREA
IPv4
swj/11
Private
- Unregistered
- Not used in internet
- 10.x.x.x, 172.16.x.x, 192.168.x.x
Public
- Registered
- Used in internet
30
Department of Computer Science -IPB
PROBLEMS
swj/11
These leads to :
• address wasteful
(specially in class A)
• running out of IP
address (Today apply
for class A is
impossible, class B is
very hard, class C is
running out)
31
Department of Computer Science -IPB
MIAMI, FEB 3, 2011 8:00 AM
The Internet Assigned Numbers Authority
(IANA) has handed out its last IPv4 addresses,
leaving the remaining blocks to regional
registries
Each of the five Regional Internet Registries
(RIRs) was allocated one of the final five large
blocks of about 16 million addresses
swj/11
32
Department of Computer Science -IPB
SOLUTIONS
swj/11
Short term
Subnetting
CIDR
NAT
Long term
IPv6
33
Department of Computer Science -IPB
SUBNETTING - BASIC
swj/11
Class B adressing
34
Department of Computer Science -IPB
SUBNETTING :
Allow arbitrary complexity of internetworked LANs
within organization
Insulate overall internet from growth of network
numbers and routing complexity
Site looks to rest of internet like single network
Each LAN assigned subnet number
Local routers route within subnetted network
Subnet mask indicates which bits are subnet number
and which are host number
swj/11
35
Department of Computer Science -IPB
CASE STUDY
A university (130.50.0.0) has 35 departments
Needs 6 bits to address each department (then 10
bits for host number)
Each department can have maximum 1022 host (0
and 255 are NA)
Subnet mask = network+subnet
swj/11
Subnet mask = 255.255.252.0
Alternative : /22 subnet mask is 22 bits long
Department of Computer Science -IPB
36
SUBNET ADDRESS
Subnet 1: 130.50.4.0
Subnet 2: 130.50.8.0
Subnet 3: 130.50.12.0
…
Suppose a packet addressed to 130.50.15.6 will route
to subnet 130.50.12.0
swj/11
37
Department of Computer Science -IPB
IP ADDRESSING: CIDR
CIDR: Classless InterDomain Routing
subnet portion of address of arbitrary length
address format: a.b.c.d/x, where x is # bits in subnet
portion of address
subnet
part
swj/11
prefix
host
host
part
11001000 00010111 00010000 00000000
200.23.16.0/23
Example :
host IP address : 167.205.9.41/27
Network address: 167.205.9.32
Department of Computer Science -IPB
38
CASE STUDY
swj/11
ISP's block 11001000 00010111 00010000 00000000--200.23.16.0/20
case 1: A client has 800 hosts :
using classful addressing : needs 4 class C
using CIDR : 200.23.20.0/22
case 2: ISP has 8 clients
needs 3 bits for addressing
CIDR : 200.23.16.0/23 – 200.23.30.0/23
ISP's block
11001000 00010111 00010000 00000000
200.23.16.0/20
Organization 0
Organization 1
Organization 2
...
11001000 00010111 00010000 00000000
11001000 00010111 00010010 00000000
11001000 00010111 00010100 00000000
…..
….
200.23.16.0/23
200.23.18.0/23
200.23.20.0/23
….
Organization 7
11001000 00010111 00011110 00000000
200.23.30.0/23
39
Department of Computer Science -IPB
NAT: NETWORK ADDRESS TRANSLATION
rest of
Internet
10.0.0.4
10.0.0.1
swj/11
local network
(e.g., home network)
10.0.0/24
10.0.0.2
138.76.29.7
10.0.0.3
All datagrams leaving local
network have same single source
NAT IP address: 138.76.29.7,
different source port numbers
Datagrams with source or
destination in this network
have 10.0.0/24 address for
source, destination (as usual)
40
Department of Computer Science -IPB
NAT: NETWORK ADDRESS TRANSLATION
Motivation: local network uses just one IP address as far
as outside word is concerned:
swj/11
no need to be allocated range of addresses from ISP: - just one
IP address is used for all devices
can change addresses of devices in local network without
notifying outside world
can change ISP without changing addresses of devices in local
network
devices inside local net not explicitly addressable, visible by
outside world (a security plus).
41
Department of Computer Science -IPB
NAT: NETWORK ADDRESS TRANSLATION
Implementation: NAT router must:
swj/11
outgoing datagrams: replace (source IP address, port #) of
every outgoing datagram to (NAT IP address, new port #)
. . . remote clients/servers will respond using (NAT IP
address, new port #) as destination addr.
remember (in NAT translation table) every (source IP address,
port #) to (NAT IP address, new port #) translation pair
incoming datagrams: replace (NAT IP address, new port #) in
dest fields of every incoming datagram with corresponding
(source IP address, port #) stored in NAT table
42
Department of Computer Science -IPB
NAT: NETWORK ADDRESS TRANSLATION
2
1: host 10.0.0.1
sends datagram to
128.119.40.186., 80
138.76.29.7, 5001 10.0.0.1, 3345
……
……
swj/11
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
NAT translation table
WAN side addr
LAN side addr
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3
3: Reply arrives
dest. address:
138.76.29.7, 5001
Department of Computer Science -IPB
1
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.1
10.0.0.2
4
10.0.0.3
4: NAT router
changes datagram
dest addr from
43
138.76.29.7, 5001 to 10.0.0.1, 3345
NAT: NETWORK ADDRESS TRANSLATION
16-bit port-number field:
NAT is controversial:
swj/11
60,000 simultaneous connections with a single LANside address!
routers should only process up to layer 3
violates end-to-end argument
NAT possibility must be taken into account by app
designers, eg, P2P applications
address shortage should instead be solved by IPv6
44
Department of Computer Science -IPB
AGENDA
Architecture
IPv4
swj/11
TCP/IP
ICMP
IPv6
45
Department of Computer Science -IPB
ICMP BASIC ERROR MESSAGE FORMAT
0
8
Type
16
Code
31
Checksum
swj/11
Unused
IP header and 64 bits of original datagram
Type examples :
Type 3 : problems reaching destination
Type 11 : time-exceed problems
IP header & 64 bits of original datagram
To match ICMP message with original data in IP packet
46
Department of Computer Science -IPB
ICMP: INTERNET CONTROL MESSAGE
PROTOCOL
network-layer “above” IP:
ICMP msgs carried in IP
datagrams
ICMP message: type, code
plus first 8 bytes of IP
datagram causing error
swj/11
used by hosts & routers to
communicate network-level
information
error reporting:
unreachable host,
network, port, protocol
echo request/reply (used
by ping)
Type Code description
0
0
echo reply (ping)
3
0
dest. network
unreachable
3
1
dest. host unreachable
3
2
dest. protocol unreachable
3
3
dest. port unreachable
3
6
dest. network unknown
3
7
dest. host unknown
4
0
source quench
(congestion control – not used)
8
0
echo request (ping)
9
0
route advertisement
10
0
router discovery
11
0
TTL expired
11
1
fragment reassembly time has
been excceed
47
12
0
bad IP header
Complete source : www.iana.org/assignments/icmp-parameters
Department of Computer Science -IPB
PING AND ICMP
0
8
Type
16
Code
31
Checksum
Sequence number
swj/11
Identifier
Data
Echo request: type=8; Echo reply: type=0
Destination replies with echo reply by copying data in request
onto reply message
Sequence number to match reply to request
ID to distinguish between different sessions using
echo services
Department of Computer Science -IPB
48
EXAMPLE – ECHO REQUEST
swj/11
49
Department of Computer Science -IPB
TRACEROUTE AND ICMP
Source sends series of
UDP segments to dest
When nth datagram
arrives to nth router:
Router discards datagram
And sends to source an
ICMP message (type 11,
code 0)
Message includes name of
router & IP address
When ICMP message
arrives, source calculates
RTT
Department of Computer Science -IPB
swj/11
First has TTL =1
Second has TTL=2, etc.
Traceroute does this 3
times
Stopping criterion
UDP segment eventually
arrives at destination host
Destination returns ICMP
“host unreachable” packet
(type 3, code 3)
When source gets this
ICMP, stops.
o
50
AGENDA
Architecture
IPv4
swj/11
TCP/IP
ICMP
IPv6
Header format
Addressing
Transition IPv4 to IPv6
51
Department of Computer Science -IPB
IPV6
Initial motivation: 32-bit address space soon to be
completely allocated.
Additional motivation:
swj/11
header format helps speed processing/forwarding
header changes to facilitate QoS
IPv6 datagram format:
fixed-length 40 byte header
no fragmentation allowed
52
Department of Computer Science -IPB
IPV6 HEADER
swj/11
Priority: identify priority among datagrams in flow (real-time
delivery requirement)
Flow Label: identify datagrams in same “flow” (concept of “flow”
not well defined).
53
Next header: identify upper layer protocol for data
Department of Computer Science -IPB
OTHER CHANGES FROM IPV4
Checksum: removed entirely to reduce processing time at
each hop
Options: allowed, but outside of header, indicated by
“Next Header” field
swj/11
ICMPv6: new version of ICMP
additional message types, e.g. “Packet Too Big”
multicast group management functions
54
Department of Computer Science -IPB
IPV6 ADDRESSING
128 bits
Use hexadecimal digit
Each 4 hexadecimal digit separate by colon (:)
swj/11
Example :
Binary format:
0101100011011101 | 0000000000000000 | 0000000000000000 | 0000000000000000 |
1111111100000001 | 0000000000000000 | 0000000000000000 | 0000100010101100
Hexadecimal format :
58DD:0000:0000:0000:FF01:0000:0000:08AC
Department of Computer Science -IPB
55
ABBREVIATION
Leading zeros in 16-bit field can be removed, replace
by one numeral
Consecutive zero-valued field can be shortened with
the double-colon notation (::)
The double-colon notation can appears only once in
an address
Example :
ABF5:0000:0000:0000:BA5F:039A:000A:2176
Can be shortened to :
ABF5:0:0:0:BA5F:39A:A:2176
More shortened to
ABF5::BA5F:39A:A:2176
swj/11
Department of Computer Science -IPB
56
ABBREVIATION (2)
swj/11
57
Department of Computer Science -IPB
IPV6 CIDR
Example :
FDEC:0:0:0:0:BBFF:0:FFFF /60
swj/11
58
Department of Computer Science -IPB
TYPE OF ADDRESS
Unicast
Single interface
Anycast
swj/11
Set of interfaces (typically different nodes)
Delivered to any one interface
the “nearest”
Multicast
Set of interfaces
Delivered to all interfaces identified
59
Department of Computer Science -IPB
ADDRESSING STRUCTURE
swj/11
60
Department of Computer Science -IPB
TYPE PREFIX
Type Prefix
Type
Fraction
Reserved
1/256
0000 0001
Reserved
1/256
0000 001
NSAP (Network SAP)
1/128
0000 010
IPX (Novell)
1/128
0000 011
Reserved
1/128
0000 100
Reserved
1/128
0000 101
Reserved
1/128
0000 110
Reserved
1/128
0000 111
Reserved
1/128
0001
Reserved
1/16
001
Reserved
1/8
010
Provider-based unicast addresses
1/8
011
Reserved
1/8
100
Geographic unicast addresses
1/8
101
Reserved
1/8
110
Reserved
1/8
1110
Reserved
1/16
1111 0
Reserved
1/32
1111 10
Reserved
1/64
1111 110
Reserved
1/128
1111 1110 0
Reserved
1/512
1111 1110 10
Link local addresses
1/1024
1111 1110 11
Site local addresses
1/1024
Department of Computer Science -IPB
swj/11
0000 0000
61
PROVIDER-BASED ADDRESS
swj/11
62
Department of Computer Science -IPB
SPECIAL ADDRESSES
Unspecified address :
Loopback address :
0:: 1
IPv4 compatible address :
swj/11
0::0
96 bits all 0’s : 32 bits IPv4
Example : IPv4 address 2.13.17.14
0::020D:110E
IPv6 address
IP-mapped address :
80 bits all 0’s :16 bits all 1’s : 32 bits IPv4
Example : IPv4 address 2.13.17.14 IPv6 address
0::FFFF:020D:110E
Department of Computer Science -IPB
63
TRANSITION FROM IPV4 TO IPV6
Not all routers can be upgraded simultaneous
no “flag days”
How will the network operate with mixed IPv4 and IPv6
routers?
swj/11
Dual-stack : RFC 2893 (IPv6/IPv4 node) : a node has
full implementation of IPv6 stack as well as IPv4 stack
Tunneling: IPv6 carried as payload in IPv4 datagram
among IPv4 routers
64
Department of Computer Science -IPB
TUNNELING
Logical view:
B
IPv6
IPv6
A
B
C
IPv6
IPv6
IPv4
Flow: X
Src: A
Dest: F
data
Protocol value in IPv4
header = 41
A-to-B:
IPv6
E
F
IPv6
IPv6
D
E
F
IPv4
IPv6
IPv6
tunnel
Src:B
Dest: E
Src:B
Dest: E
Flow: X
Src: A
Dest: F
Flow: X
Src: A
Dest: F
data
data
B-to-C:
IPv6 inside
IPv4
Department of Computer Science -IPB
B-to-C:
IPv6 inside
IPv4
swj/11
Physical view:
A
Flow: X
Src: A
Dest: F
data
E-to-F:
IPv6
65
REFERENCES
Garcia A.L., Widjaja A. 2004. Networks
Communication.: Fundamental Concepts and Key
Architectures 2nd ed. – Chapter 8. McGraw-Hill
Companies, Inc.
Kurose J.F., Ross K.W. 2003. Computer
Networking : A Top-Down Approach Featuring Internet
2nd ed. – Chapter 4. Pearson Education.
Sukoco H. 08crc_kom334.ppt
swj/11
66
Department of Computer Science -IPB