Bài giảng Mạng máy tính - Chương 7: Giao thức IP (Internet Protocol) tập trung làm rõ vị trí của Internet Protocol, định dạng datagram, địa chỉ IPv4, ICMP, IPv6. Với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích.
Trang 1Chương 7
Trang 3V trí c a IP
forwarding table
Network
layer
Trang 5Đ nh d ng c a IP datagram
ver length
32 bits
data (chi u dài thay ñ i, thư ng là
m t TCP segment hay
UDP segment)
16 bit identifier
header checksum
time to live
32 bit source IP address
Lo i d ch v c a data flags fragment
offset upper
Trang 6S phân m nh và tái h p (1)
(IP Fragmentation & Reassembly)
❒ M i liên k t m ng có MTU
(maxi mum transfer unit)
lư ng data l n nh t frame có
Trang 9❍ Router thư ng có nhi u interface
❍ host thư ng ch có m t interface
❍ Các ñ a ch IP g n li n v i m i interface
Trang 12223.1.1.1 223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2 223.1.2.1
223.1.3.2 223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
Trang 13Hai cách vi t mô t Prefix (1)
Trang 14Hai cách vi t mô t Prefix (2)
Trang 15❍ Đư c dùng gi a các router b i các gi i thu t ñ nh tuy n
❍ Cách này g i là classless và ñư c gi i thi u l n ñ u tiên trong
ñ nh tuy n liên domain CIDR (classless interdomain routing)
❒ Đ a ch IP phân l p (classful)
❍ Chia các ñ a ch IP thành các l p (class)
❍ Phân l p tuy t ñ i hi n nay ít dùng
Trang 16Các l p ñ a ch
A B C D E
0.0.0.0 to 127.255.255.255 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 240.0.0.0 to 247.255.255.255
class A class B class C class D class E
Host Id Subnet Id
Trang 17C p ñ a ch
❒ Ph m vi th gi i
❍ Âu châu và Trung ñông(RIPE NCC)
❍ Phi châu (ARIN & RIPE NCC)
❍ B c M# (ARIN)
❍ M# Latin và vùng Caribbean (ARIN)
❍ Á châu và Thái bình dương (APNIC)
❒ Các c p phát hi n hành c a l p C
❍ 193-195/8, 212-213/8, 217/8 cho RIPE
❍ 199-201/8, 204-209/8, 216/8 cho ARIN
❍ 202-203/8, 210-211/8, 218/8 cho APNIC
Trang 18Các ñ a ch IP ñ c bi t
(tham kh o RFC 1918)
1,2: source IP; 3,4,5: destination IP
subnet này (obsolate)
172.16/12
192.168/16
Trang 19223.1.1.4 223.1.2.9
223.1.2.2 223.1.2.1
223.1.3.2 223.1.3.1
223.1.3.27
network g m 3 subnet
subnet
Trang 21223.1.3.2 223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1 223.1.8.0
223.1.8.1 223.1.9.1
223.1.9.2
Trang 22CIDR: C lassless I nter D omain R outing
❍ Ph n subnet có chi u dài tùy ý
❍ Đ nh d ng ñ a ch a.b.c.d/x, x là s bit ph n subnet (prefix)
11001000 00010111 00010000 00000000
subnet part
host part
200.23.16.0/23
Trang 24Dynamic Host Configuration Protocol
❒ Cho phép host l y ñ a ch t ñ ng t" server trên
❍ host g%i qu ng bá “DHCP discover” message
❍ DHCP server ñáp ng b&ng “DHCP offer” message
❍ host yêu c u IP address: “DHCP request” message
❍ DHCP server g%i IP address: “DHCP ack” message
Trang 25K ch b n DHCP client/server (1)
223.1.1.1 223.1.1.2
M t DHCP client m i ñ n c n
IP address trong m ng này
Trang 26transaction ID: 654
DHCP offer
src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4
transaction ID: 654 Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4
transaction ID: 655 Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4
transaction ID: 655 Lifetime: 3600 secs
Trang 27Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
Trang 28Đ a ch phân c p: g p tuy n
“Hãy g%i b t c thông tin nào liên quan ñ n các
ñ a ch b t ñ u 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
ISP 1 Organization 0
ñ a ch b t ñ u 199.31.0.0/16”
Trang 29Đ a ch phân c p: nhi u tuy n ñ c bi t
ISP 2 có m t tuy n ñ n Organization 1
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
ISP 1 Organization 0
ñ a ch b t ñ u 200.23.16.0/20”
“Hãy g%i b t c thông tin nào liên quan ñ n các
ñ a ch b t ñ u 199.31.0.0/16 hay 200.23.18.0/23”
Trang 31NAT: Network Address Translation
10.0.0.1 10.0.0.2
10.0.0.3
10.0.0.4 138.76.29.7
local network (ví d , home network)
10.0.0/24 Internet
Các datagrams v i ngu n hay ñích trong
Trang 32NAT: Network Address Translation
❍ T" bên ngoài không th th y ñư c các thi t b bên
trong m ng c c b vì các thi t b bên trong không có
ñ a ch tư ng minh ñ i v i th gi i bên ngoài
Trang 33NAT: Network Address Translation
Th c hi n: NAT router ph i:
❍ Đ i v i các datagram truy n ñi: thay th (source IP address, port #) b&ng (NAT IP address, new port #) Các host bên ngoài s' ñáp ng dùng (NAT IP address, new port #) như là ñ a ch ñích
❍ Ghi nh (trong NAT translation table) m i c p (source
IP address, port #) ng v i (NAT IP address, new
Trang 34NAT: Network Address Translation
10.0.0.1 10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345 D: 128.119.40.186, 80
1
10.0.0.4 138.76.29.7
1: host 10.0.0.1 g%i datagram ñ n 128.119.40.186, 80
NAT translation table WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345
S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4
S: 138.76.29.7, 5001 D: 128.119.40.186, 80
138.76.29.7, 5001
4: NAT router Thay ñ i ñ a ch ñích c a datagram t" 138.76.29.7, 5001 sang 10.0.0.1, 3345
Trang 35NAT: Network Address Translation
❒ 16 bit port number field:
❍ 60,000 k t n i ñ ng th i v i m t ñ a ch phía
LAN!
❍ Các router ch nên x% lý ñ n l p 3
❍ Vi ph m tính liên t c end to end
• Ngư i thi t k ng d ng ph i tính ñ n kh năng v NAT,
ví d các ng d ng P2P
❍ V n ñ c n ki t ñ a ch s' ñư c gi i quy t b i
IPv6
Trang 36V n ñ chuy n qua NAT
NAT ñ chuy n yêu c u k t
n i port cho trư c ñ n
server
10.0.0.1
10.0.0.4
NAT router
138.76.29.7
Client
?
Trang 37V n ñ chuy n qua NAT
❒ Gi i pháp 2: Universal Plug and
Play (UPnP) Internet Gateway
Device (IGD) Protocol Cho
phép các host ñư c NAT:
138.76.29.7
IGD
Trang 38V n ñ chuy n qua NAT
❒ Gi i pháp 3: relaying (ñư c dùng trong Skype)
❍ Client ñư c NAT thi t l p k t n i ñ n relay
❍ Các client bên ngoài k t n i ñ n relay
❍ relay b c c u cho các gói gi a các k t n i
138.76.29.7
Client
10.0.0.1
NAT router
1 k t n i ñ n relay ñư c kh i
Trang 40T ng quan ICMP (1)
(Internet Control Message Protocol)
❒ Là giao th c thu c l p m ng ñư c dùng b i host &
router ñ truy n thông tin m c m ng g m
❍ Thông báo l i: unreachable host, network, port,
protocol
❍ Ph n h i (echo request/reply) (ñư c dùng b i
ping)
❒ Trong l p m ng và n&m trên IP:
❍ Gói ICMP ñư c mang trong IP datagram
Trang 41T ng quan ICMP (2)
Gói IP v i ph n ch protocol
Trang 42Đo(ng go(i ICMP
❒ Type: loa)i go(i ICMP
❒ Code: Ma* nguyên nhân lô*i
❒ Phâ+n co+n la)i tu+y va+o loa)i
Trang 43Lo i và code c a ICMP message
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
Trang 44Công cu) debug: ping
❒ Ngư i du+ng co( thê, s% du)ng ca(c công cu) trên
cơ s ICMP ñê, châ,n ñoa(n ma)ng
❍ Ping
❍ Traceroute
❒ Du+ng ping ñê, kiê,m tra kê(t nô(i
❍ G%i ICMP echo request
❍ Nhâ)n ICMP echo reply
❍ Mô*i go(i co( mô)t ch sô( go(i, cu*ng ch a RTT
Trang 45Vi( du)
Trang 46❍ G%i v ngu n m t ICMP
message (type 11, code
Trang 47Traceroute và ICMP (2)
❒ Điê+u kiê)n kê(t thu(c:
❍ Go(i ñê(n ñư c ñi(ch
❍ Đi(ch tra, vê+ go(i ICMP "host unreachable" (type
3, code 3)
❍ Nguô+n nhâ)n ñư c chi(nh go(i ICMP na+y
❍ Mô*i go(i lă)p la)i 3 lâ+n
Trang 48Vi( du)
Trang 51IPv6 Header
tùy ch n
Trang 52❒ Payload length: như là s nguyên không d u
16 bit ch chi u dài (byte) c a ph n sau
header
❒ C u trúc ñ a ch IPv6 như sau:
Trang 53V n ñ phân m nh
gói quá l n s' dùng ICMP message báo l i v
ngu n.
❍ NextHeader=44
❍ Ph n header m r ng cho phân m nh:
Trang 54Các thay ñ i khác so v i IPv4
❒ Checksum : h y b ñ gi m th i gian x lý t i
m i ch ng
❒ Options: ñư c phép nhưng n&m ngoài
header, ñư c ch ñ nh b i “Next Header”
field
❒ ICMPv6: phiên b n ICMP m i
❍ Thêm các lo i thông ñi p (message type) ví d ,
“Packet Too Big”
❍ Các ch c năng qu n lý nhóm multicast
Trang 55Chuy n ti p t" IPv4 sang IPv6
❍ Làm th nào m ng ho t ñ ng ñư c v i h n h p các router IPv4 và IPv6
❒ Tunneling: IPv6 như là payload trong IPv4
datagram qua các IPv4 router
❒ Dual Stack : Hai ch ng giao th c ho t ñ ng
song song, cho phép node dùng cái nào cũng
ñư c
❒ Translation : ch c năng thông d ch chính là
thông d ch gói gi a hai lo i
Trang 57Flow: X Src: A Dest: F
data
Flow: X Src: A Dest: F
data
Src:B Dest: E
Flow: X Src: A Dest: F
data
Src:B Dest: E
Trang 58Dual Stack
Trang 59to end
• Các v n ñ an ninh v i NAT
❒ Khác
❍ BIS (Bump in the Stack)
T i l p transport
❍ BIA (Bump in the API)
Vài cơ ch d a vào gi i thu t SIIT (Stateless IP/ICMP
Translation algorithm) [RFC2765]
Gi i thu t SIIT là cơ s c a BIS và NAT PT
Trang 60ƯƠ