Internet Layer OverviewOSI network layer corresponds to the TCP/IP internet layer Internet Protocol IP Internet Control Message Protocol ICMP Address Resolution Protocol ARP Reverse Addr
Trang 1Chương 3
LIÊN MẠNG VỚI
TCP/IP
Trang 2• Tìm hiểu lớp giao thức Internet, các giao thức của lớp đó, giao thức IP.
• Sự phân đọan và hợp đọan
• Các lớp địa chỉ IP, địa chỉ IP, mặt nạ địa chỉ, số lượng mạng IP, số lượng mạng con và số lượng Host có thể có
• Giao thức ARP và RARP
• Giao thức ICMP
• Lớp giao thức Transport
• Các giao thức lớp Transport: TCP và UDP
Nội dung chính
Trang 3Early protocol suite Universal
Introduction to TCP/IP
Host
Internet TCP/IP
Host
Trang 4TCP/IP Protocol Stack
Trang 5Application Layer Overview
*Used by the router
Application
Transport Internet Data Link
- SMTP Remote Login
- Telnet *
- rlogin * Network Management
- SNMP * Name Management
- SMTP Remote Login
- Telnet *
- rlogin * Network Management
- SNMP * Name Management
- DNS*
Trang 6Transport Layer Overview
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Application
Transport Internet
Data Link Physical
Oriented
Connection-Connectionless
Trang 7Internet Layer Overview
OSI network layer corresponds to the TCP/IP internet layer
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Address Resolution Protocol (ARP)
Reverse Address Resolution Protocol (RARP)
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Address Resolution Protocol (ARP)
Reverse Address Resolution Protocol (RARP)
Application Transport Internet
Data Link Physical
Trang 8Priority & Type
of Service (8) Total Length (16)
Identification (16) Flags (3) Fragment offset (13)
Time to live (8) Protocol (8) Header checksum (16)
Source IP Address (32)
20 Bytes
Trang 9Determines destination upper-layer protocol
Protocol Field
Transport Layer
Internet Layer
Protocol Numbers IP
17 6
Trang 11PHÂN ĐOẠN VÀ HỢP ĐOẠN
- Khi đi trong liên mạng, một datagram có thể qua nhiều mạng
mạng vật lý khác nhau với các dạng khung khác nhau.
- Một IP-Datagram sẽ được đóng gói trong vùng data của các
khung theo chuẩn riêng của từng mạng.
Trang 12PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
Trang 13PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
- Mỗi mạng vật lý có một giới hạn cực đại cho kích thước khung
đi qua nó, được gọi là Đơn vị truyền dẫn cực đại (Maximum
Transmisson Unit – MTU).
- Host H2 chỉ có thể phát datagram chứa ≤ 1000 octets và router R
có thể chuyển các datagram này sang mạng 1.
- Tuy nhiên, nếu Host H1 phát 1 datagram chứa 1500 octets thì
router R không thể chuyển các datagram này sang mạng 2 được.
Trang 14PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
- Khi một Datagram lớn hơn MTU của mạng nó phải đi qua, nó sẽ
được chia thành các đoạn (fragment) nhỏ hơn và được gửi đi một
cách riêng biệt
Trang 15PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
- Để phân đoạn một Datagram, một Host hoặc Router sử dụng
MTU và kích thước header của Datagram để tính toán xem cần
phân thành bao nhiêu đoạn (bội của 8 octets- Trừ đoạn cuối).
- Header của Datagram nguồn được copy thành header của các
đoạn và thay đổi giá trị các trường sau:
+ TOTAL LENGTH: phản ánh kích thước bé hơn.
+ MF: bằng “0” ở đoạn cuối, bằng “1” ở các đoạn còn lại.
+ FRAGMENT OFFSET: phản ánh vị trí của đoạn trong Datagram gốc.
+ HEADER CHECKSUM!
Trang 16PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
FRAGMENT OFFSET = X i (octets) / 8
Ví dụ: X 1 = 976 octets do đó: FRAGMENT OFFSET = 976 / 8 = 122
Trang 17PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
- Mỗi đoạn trở thành 1 Datagram mới, được định tuyến độc lập.
- Các đoạn có thể đến đích không đúng theo thứ tự.
- Tại đích, quá trình tái cấu trúc Datagram gốc được gọi là tái hợp,
việc tái hợp sử dụng các trường sau:
+ Các đoạn cùng giá trị IDENTIFICATION nhóm vào 1 Datagram + FRAGMENT OFFSET giúp sắp xếp thứ tự các đoạn.
+ Cờ MF giúp xác định đoạn cuối của Datagram được tái hợp.
Trang 18PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
- Host H1 gửi 1 datagram 1500 octets (20 octet header và 1480
octet data) tới Host H2
- Router sẽ phân datagram này thành 2 đoạn:
500
Trang 19PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
Header
20 octet
Data
1480 octet Identification = a; FRAGMENT OFFSET = 0; DF = 0; MF = 0
DATAGRAM gốc = 1500 octets
Header
20 octet
Data
976 octet Identification = a; FRAGMENT OFFSET = 0; DF = 0; MF = 1
Đoạn 2 = 524 octets
(Router 1)
Phân đoạn tại Router 1: Datagram gốc thành 2 đoạn
Trang 20PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
Header
20 octet
Data
480 octet Identification = a; FRAGMENT OFFSET = 0; DF = 0; MF = 1
Đoạn 2 = 500 octets
(Router 2)
Phân đoạn tại Router 2: đoạn 1 cũ chia thành 3 đoạn mới
Trang 21PHÂN ĐOẠN VÀ HỢP ĐOẠN(TT)
Header
20 octet
Data
480 octet Identification = a; FRAGMENT OFFSET = 122; DF = 0; MF = 1
Đoạn 5 = 44 octets
(Router 2)
Phân đoạn tại Router 2: đoạn 2 cũ chia thành 2 đoạn mới
Trang 22• Là địa chỉ duy nhất cho phép thông tin giữa các
trạm đầu cuối.
• Việc lựa chọn tuyến đường được giựa trên cơ sở địa chỉ trạm đích
ĐỊA CHỈ IP
172.18.0.2
172.18.0.1
172.17.0.2 172.17.0.1
Trang 268 bits 8 bits 8 bits 8 bits
Trang 27Class D:
Bits:
1110MMMM 1110MMMM Multicast Group Multicast Group Multicast Group Multicast Group Multicast Group Multicast Group
Range (224-239)
Trang 28172.16 12 12
Network Host
172.16.0.0 E0 Routing Table
172.16.2.1
10.6.24.2 E0
Trang 2965534 65535 65536 -
2 65534 N
2N-2 = 216-2 = 65534
Trang 30IP Address Classes Exercise
Trang 31IP Address Classes Exercise
Trang 34E1
Trang 35E0 E1 New Routing Table
Subnet
Trang 36Default Subnet Mask
8-bit Subnet Mask
Also written as “ /16 ” where 16 represents the number of 1s
in the mask.
Also written as “ /24 ” where 24 represents the number of 1s
Trang 37Decimal Equivalents of Bit
Trang 3810101100 11111111 10101100
00010000 11111111 00010000
00000000 00000000
10100000 00000000 00000000
Subnets not in use—the default
Trang 39Network number extended by eight bits
Subnet Mask with Subnets
00010000 11111111 00010000
11111111
00000010
10100000 00000000 00000000
Trang 40Subnet Mask with Subnets
00010000 11111111 00010000
11111111
00000010
10100000 11000000
Trang 41Subnet Mask Exercise
Trang 42Subnet Mask Exercise
Trang 43255.255.255.255 (Local network broadcast)X
172.16.255.255 (All subnets broadcast)
Trang 44255.255.255.192
4 1
Trang 45Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000
172.16.2.160
255.255.255.192
1 2
16
Trang 46Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000
172.16.2.160
255.255.255.192
1 2 3
7
16
Trang 47Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000 10000000
172.16.2.160
255.255.255.192
1 2 3
4
16
Trang 48Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000 10000000 00000010
172.16.2.160
255.255.255.192
1 2 3
Trang 49Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000 10000000 00000010
10111111 10000001
172.16.2.160
255.255.255.192
1 2 3
Trang 50Addressing Summary
Example
10101100 11111111
00010000
11111111 11111111
10100000 11000000 10000000 00000010
10111111 10000001 10111110
172.16.2.160
255.255.255.192
1 2 3
4
5
6 7
16
Trang 51Addressing Summary
Example
10101100 11111111 10101100
00010000 11111111 00010000
11111111 00000010
10100000 11000000 10000000 00000010
172.16.2.160
255.255.255.192
1 2 3
4
5
6 7 8
16
Trang 52Addressing Summary
Example
10101100 11111111 10101100
00010000 11111111 00010000
11111111 00000010
10100000 11000000 10000000 00000010
4
5
6 7
8 9
16
Trang 53IP Host Address: 172.16.2.121 Subnet Mask: 255.255.255.0
Subnet Address = 172.16.2.0 Host Addresses = 172.16.2.1–172.16.2.254 Broadcast Address = 172.16.2.255
Eight bits of subnetting
Network Subnet Host
10101100 00010000 00000010 11111111
172.16.2.121:
255.255.255.0:
10101100 11111111 Subnet: 10101100 00010000
00010000 11111111
00000010
00000010 11111111
01111001 00000000 00000000
Class B Subnet Example
Broadcast:
Network
Trang 54Subnet Planning
Other subnets
20 subnets
5 hosts per subnet Class C address: 192.168.5.0
Trang 55IP Host Address: 192.168.5.121 Subnet Mask: 255.255.255.248
Network Subnet Host
192.168.5.121: 11000000
11111111 Subnet: 11000000 10101000
10101000 11111111
00000101
00000101 11111111
01111001
01111000 255.255.255.248:
Class C Subnet Planning
Example
Subnet Address = 192.168.5.120 Host Addresses = 192.168.5.121–192.168.5.126 Broadcast Address = 192.168.5.127
Five Bits of Subnetting
Broadcast:
Network Network
11000000 10101000 00000101 01111111
Trang 56Broadcast Addresses Exercise
Trang 57Broadcast Addresses Exercise
Trang 58Internet Layer Overview
OSI network layer corresponds to the TCP/IP internet layer
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Address Resolution Protocol (ARP)
Reverse Address Resolution Protocol (RARP)
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Address Resolution Protocol (ARP)
Reverse Address Resolution Protocol (RARP)
Application Transport Internet
Data Link Physical
Trang 62Address Resolution Protocol
Trang 63Address Resolution Protocol
172.16.3.1 172.16.3.2
IP: 172.16.3.2 = ???
I heard that broadcast The message is for me Here is my Ethernet address.
I need the
Ethernet
address of
176.16.3.2.
Trang 64Address Resolution Protocol
172.16.3.1
IP: 172.16.3.2 Ethernet: 0800.0020.1111
IP: 172.16.3.2 Ethernet: 0800.0020.1111
172.16.3.2
IP: 172.16.3.2 = ???
I heard that broadcast The message is for me Here is my Ethernet address.
I need the
Ethernet
address of
176.16.3.2.
Trang 65Address Resolution Protocol
Map IP MAC
Local ARP
172.16.3.1
IP: 172.16.3.2 Ethernet: 0800.0020.1111
IP: 172.16.3.2 Ethernet: 0800.0020.1111
172.16.3.2
IP: 172.16.3.2 = ???
I heard that broadcast The message is for me Here is my Ethernet address.
I need the
Ethernet
address of
176.16.3.2.
Trang 67Address Resolution Protocol
Trang 708:0:20:7a:49:68
Trang 73Proxy ARP
Machine A wishes to communicate with machine
F It sends out an ARP request for machine F’s MAC address.
The router intercepts the request from A and replies with its own MAC address.
Trang 77What is
my IP
address?
I heard that broadcast Your IP address is 172.16.3.25.
Trang 78What is
my IP
address?
I heard that broadcast Your IP address is 172.16.3.25.
Trang 79Internet Control Message
Protocol
Application Transport
Internet
Data Link Physical
Destination Unreachable
Echo (Ping)
Other
ICMP1
Trang 80Internet Control Message Protocol (ICMP)
Trang 81Một số lỗi được báo về nguồn bằng cách:
•Router gửi thông báo về nguồn bằng ICMP
•Thông báo có chứa thông tin về lỗi
•Ví dụ: lỗi checksum
Phát hiện lỗi và thông báo
ICMP được đóng gói trong IP datagram Lớp Internet phát hiện ra các Datagram có lỗi
Trang 82Các dạng bản tin ICMP
Các bản tin thông tin bao gồm:
•Yêu cầu trả lời và đáp ứng (ping)
•Yêu cầu mặt nạ địa chỉ và đáp ứng
•Yêu cầu bộ định tuyến (Router discovery)
ICMP định nghĩa các bản tin báo lỗi và bản tin thông tin
Các bản tin lỗi bao gồm:
• Nguồn dừng lại
• Hết thời gian chờ Datagram
• Không tới đích được
• Yêu cầu định tuyến lại
• Yêu cầu phân mảnh
Trang 83Truyền tải bản tin ICMP
ICMP được đóng gói trong IP
Bản tin ICMP thông báo có chứa thông tin về Datagram có lỗi.
Bản tin ICMP không gửi thông báo lỗi cho bản tin ICMP
Trang 84Frame ICMP
Cấu trúc header bản tin ICMP
• Type : Kiểu bản tin
– Echo, Timestamp, Destination Unreachable,
• Code : Mô tả chúc năng bản tin, theo Type
• Checksum : Tổng kiếm tra của header ICMP
Type Code Checksum Type Code Checksum
Trang 85Type trong ICMP
Type Mô tả
17 Address mask request
18 Address mask reply
Type Mô tả
15 Information request
16 Information reply
17 Address mask request
18 Address mask reply
Trang 86Type trong ICMP
0 Yêu cầu ( Yc ) trả lời 13 Yc cung cấp thời gian
3 Không thể tới đích 14 Tl cung cấp thời gian
4 Nguồn chậm lại 15 Yc cung cấp thông tin
5 Định tuyến lại 16 Tl cung cấp thông tin
8 Trả lời ( Tl ) Type=0 17 Yc cung cấp mặt nạ
11 Hết thời gian 18 Tl cung cấp mặt nạ
12 Không hiểu tham số
Trang 87Bản tin ICMP trong IP datagram
Trang 88A Các bản tin ICMP báo lỗi
Type Code Checksum
Unused (Must be Zero)
IP Header + First 64 bits of IP data ( lỗi)
Trang 89
Type trong các ICMP báo lỗi
3 Không thể tới đích
4 Nguồn chậm lại (điều khiển luồng)
5 Định tuyến lại (yêu cầu đổi hướng định
tuyến)
11 Hết thời gian (TTL = 0) hoặc hết thời
gian chờ các mảnh tái hợp.
12 Không hiểu tham số
Trang 90Lỗi không thể tới đích được
Unused (Must be Zero)
IP Header + First 64 bits of IP data ( lỗi)
•Sử dụng khi có một lỗi và Router hoặc Host gửi báo lỗi
về nguồn.
Trang 91Không tới được đích (Type = 3) -
Code
0 Không tới được mạng
1 Không tới được Host
2 Không tới được Protocl
3 Không tới được Port
4 Cần phân mảnh nhưng cờ DF = 1
5 Router nguồn bị lỗi
6 Không biết mạng đích (không tồn tại)
7 Không biết Host đích (không tồn tại)
8 Host nguồn bị cách ly
9 Truyền thông với Mạng đích bị Admin ngăn cấm
10 Truyền thông với Host đích bị Admin ngăn cấm
11 Không tới được Mạng do kiểu dịch vụ
12 Không tới được Host do kiểu dịch vụ
Trang 92Destination Unreachable -
Code
Trang 93Destination Unreachable -
Code
Trang 94Destination Unreachable -
Code
Trang 95TYPE = 3, CODE = 4
Unused (Must be Zero) Link MTU
IP Header + First 64 bits of IP data ( lỗi)
•Sử dụng khi Datagram cần phân mảnh nhưng DF = 1
•Linh MTU là MTU của mạng cần phân mảnh
Trang 96Điều khiển luồng Host nguồn
Unused (Must be Zero)
IP Header + First 64 bits of IP data ( lỗi)
•Khi Router bị nghẽn (hoặc Host đích bị tràn), nó gửi
cho thông báo về nguồn cho từng Datagram bị tràn.
•Host nguồn giảm dần tần xuất gửi datagram cho tới khi
không còn nhận được thông báo lỗi.
•Sau đó Host nguồn tăng dần tần xuất gửi datagram.
Trang 97Yêu cầu định tuyến lại
Router IP Address
IP Header + First 64 bits of IP data ( lỗi)
•Router 1 nhận được 1 datagram, nó tham khảo bảng
định tuyến và tìm ra đường đi tiếp tới Router 2.
•Nếu Router 2 và Host nguồn cùng mạng, Router 1
thông báo về nguồn “khuyên” nên phát trực tiếp theo hướng được chỉ ra ở Router IP address
•Router 1 vẫn tiếp tục gửi Datagram gốc đi.
Trang 98Ví duï: ICMP Redirect
another router R2
host to send to router R2 next time
Gateway Router R1
Gateway Router R2
To Internet To Internet
Host 1.
2.
3.
Trang 99Yêu cầu định tuyến lại - Code
192.168.5.16
192.168.6.32
R1 R2
R0
Trang 100Yêu cầu định tuyến lại - Code
Trang 101Hết thời gian
Unused (Must be Zero) Internet Header + First 64 bits of datagram
thiếu một vài đoạn (Host).
Trang 102Không hiểu tham số
IP Header + First 64 bits of IP data ( lỗi)
•Router hoặc Host phát hiện datagram có lỗi ở Header.
•Chỉ thông báo về nguồn khi lỗi gây hủy datagram.
Trang 103Không hiểu tham số
0 Pointer chỉ ra vị trí của octec lỗi được phát
hiện (lỗi không rõ ràng)
2 Sai độ dài (giá trị độ dài Header hoặc
tổng độ dài không đúng)
Trang 104B Các bản tin ICMP truy vấn
thông tin
Type Code Checksum
Identifier Sequence Number
Depends on Query Message Type
•Được sử dụng để các phần tử mạng truy vấn và hồi đáp các thông
tin trên mạng.
nhau Lời đáp phải dùng đúng chỉ số của bản tin Request đã nhận.
một Host
Trang 105Cấu trúc chung bản tin ICMP
truy vấn thông tin
Trang 106Các giá trị Type trong các ICMP
truy vấn thông tin
8 / 0 ECHO request / reply
13 / 14 Timestamp request / reply
15 / 16 Information request / reply
17 / 18 Address Mask request / reply
Trang 107Bản tin ECHO Request / Reply
Identifier Sequence Number
Data (Ping: UNIX - 56 bytes; WINDOW = 32 bytes)
•Type = 8 : yêu cần trả lời.
•Type = 0 : trả lời yêu cầu.
•Sử dụng để 1 Host có thông với 1 Host khác hay không.
Trang 108Yêu cầu và đáp ứng thời gian
Identifier Sequence Number
Origiante Timestamp (thời gian bên yêu cầu phát) Receive Timestamp (thời gian bên đáp ứng nhận được bản tin) Transmit Timestamp (thời gian bên đáp ứng phát đáp ứng)
•Thời gian (32 bit) được tính là số mili giây tính từ nửa
đêm, theo giờ GMT.
•Sử dụng để 1 Host tham khảo thời gian của 1 Host khác.