Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai

• Khái niệm về TCP và IP

• Mô hình tham chiếu TCP/IP

• So sánh OSI và TCP/IP

• Các giao thức trong mô hình TCP/IP

• Chuyển đổi giữa các hệ thống số

• Địa chỉ IP và các lớp địa chỉ

• NAT

• Mạng con và kỹ thuật chia mạng con

• Bài tập

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 1

Trang 1

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 2

Trang 2

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 3

Trang 3

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 4

Trang 4

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 5

Trang 5

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 6

Trang 6

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 7

Trang 7

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 8

Trang 8

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 9

Trang 9

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 90 trang xuanhieu 3980
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai

Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai
 Ví dụ đối với mạng 10.0.0.0 thì 
những giá trị host hợp lệ là 10.0.0.1
đến 10.255.255.254. 
131
Lớp B (Class B)
Dành 2 byte cho phần network_id và 2 byte 
cho phần host_id.
132
Lớp B (Class B)
• Hai bit đầu tiên của byte đầu tiên 
phải là 10. Dạng nhị phân của octet 
này là 10xxxxxx 
• Những địa chỉ IP có byte đầu tiên 
nằm trong khoảng từ 128 
(=10000000(2)) đến 191 
(=10111111(2)) sẽ thuộc về lớp B
• Ví dụ: 172.29.10.1 .
133
Lớp B (Class B)
• Phần network_id chiếm 16 bit bỏ 
đi 2 bit làm ID cho lớp, còn lại 14 
bit cho phép ta đánh thứ tự 
16384 (=214) mạng khác nhau 
(128.0.0.0 đến 191.255.0.0). 
134
Lớp B (Class B)
• Phần host_id dài 16 bit hay có 65536 
(=216) giá trị khác nhau. Trừ đi 2 
trường hợp đặc biệt còn lại 65534 
host trong một mạng lớp B. 
• Ví dụ đối với mạng 172.29.0.0 thì các 
địa chỉ host hợp lệ là từ 172.29.0.1
đến 172.29.255.254.
135
Lớp C (Class C)
Dành 3 byte cho phần network_id và 1 
byte cho phần host_id.
136
Lớp C (Class C)
• Ba bit đầu tiên của byte đầu tiên phải 
là 110. Dạng nhị phân của octet này 
là 110xxxxx 
• Những địa chỉ IP có byte đầu tiên 
nằm trong khoảng từ 192 
(=11000000(2)) đến 223 
(=11011111(2)) sẽ thuộc về lớp C. 
• Ví dụ: 203.162.41.235
137
Các lớp địa chỉ IP
138
Các lớp địa chỉ IP
139
Địa chỉ dành riêng
140
Các lớp địa chỉ IP
141
Địa chỉ mạng
Các lớp địa chỉ IP
142
Địa chỉ broadcast
Các lớp địa chỉ IP
Lớp Byte đầu tiên
A 0xxxxxxx
B 10xxxxxx
C 110xxxxx
D 1110xxxx
E 11110xxx
143
NAT: Network Address Translation
• Được thiết kế để tiết kiệm địa chỉ IP.
• Cho phép mạng nội bộ sử dụng địa chỉ IP riêng.
• Địa chỉ IP riêng sẽ được chuyển đổi sang địa chỉ công 
cộng định tuyến được.
• Mạng riêng được tách biệt và giấu kín IP nội bộ.
• Thường sử dụng trên router biên của mạng một cửa.
144
NAT
• Địa chỉ cục bộ bên trong (Inside local address): Địa 
chỉ được phân phối cho các host bên trong mạng nội bộ.
• Địa chỉ toàn cục bên trong (Inside global address):
Địa chỉ hợp pháp được cung cấp bởi InterNIC (Internet 
Network Information Center) hoặc nhà cung cấp dịch vụ 
Internet, đại diện cho một hoặc nhiều địa chỉ nội bộ bên 
trong đối với thế giới bên ngoài.
• Địa chỉ cục bộ bên ngoài (Outside local address): Địa 
chỉ riêng của host nằm bên ngoài mạng nội bộ.
• Địa chỉ toàn cục bên ngoài (Outside global address):
Địa chỉ công cộng hợp pháp của host nằm bên ngoài mạng 
nội bộ.
145
NAT
146
NAT
147
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
mạng cục bộ
(vd: mạng gia đình)
10.0.0.0/24
phần còn lại của
Internet
các Datagram với nguồn hoặc đích 
trong mạng này có địa chỉ 10.0.0/24
Tất cả datagram đi ra khỏi mạng cục bộ 
có cùng một địa chỉ IP NAT là: 
138.76.29.7,
với các số hiệu cổng nguồn khác nhau
NAT
• Mạng cục bộ chỉ dùng 1 địa chỉ IP đối với bên 
ngoài:
– không cần thiết dùng 1 vùng địa chỉ từ ISP: 
chỉ cần 1 cho tất cả các thiết bị
– có thể thay đổi địa chỉ các thiết bị trong 
mạng cục bộ mà không cần thông báo với 
bên ngoài
– có thể thay đổi ISP mà không cần thay đổi 
địa chỉ các thiết bị trong mạng cục bộ 
– các thiết bị trong mạng cục bộ không nhìn 
thấy, không định địa chỉ rõ ràng từ bên ngoài 
(tăng cường bảo mật)
148
NAT 
Hiện thực: NAT router phải:
– các datagram đi ra: thay thế (địa chỉ IP và số 
hiệu cổng nguồn) mọi datagram đi ra bên ngoài 
bằng (địa chỉ NAT IP và số hiệu cổng nguồn 
mới)
. . . các clients/servers ở xa sẽ dùng (địa chỉ NAT IP và 
số hiệu cổng nguồn mới) đó như địa chỉ đích
– ghi nhớ (trong bảng chuyển đổi NAT) mọi cặp 
chuyển đổi (địa chỉ IP và số hiệu cổng nguồn) 
sang (địa chỉ NAT IP và số hiệu cổng nguồn 
mới)
– các datagram đi đến: thay thế (địa chỉ NAT IP 
và số hiệu cổng nguồn mới) trong các trường 
đích của mọi datagram đến với giá trị tương 
ứng (địa chỉ IP và số hiệu cổng nguồn) trong 
bảng NAT
149
NAT
150
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
bảng chuyển đổi NAT
địa chỉ phía WAN địa chỉ phía LAN
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, 802
2: NAT router
thay đổi địa chỉ từ
10.0.0.1, 3345 ->
138.76.29.7, 5001
cập nhật bảng
S: 128.119.40.186, 80 
D: 138.76.29.7, 5001 3
3: phản hồi đến địa chỉ :
đích 138.76.29.7, 5001
4: NAT router
thay đổi địa chỉ datagram
đích từ
138.76.29.7, 5001 -> 10.0.0.1, 3345
NAT
• Trường số hiệu cổng 16-bit: 
– Cho phép 60000 kết nối đồng thời chỉ với một địa 
chỉ phía WAN
• NAT còn có thể gây ra tranh luận:
– các router chỉ xử lý đến lớp 3
– vi phạm thỏa thuận end-to-end 
• những người thiết kế ứng dụng phải tính đến khả năng 
NAT, vd: ứng dụng P2P
– sự thiếu thốn địa chỉ IP sẽ được giải quyết khi 
dùng IPv6
151
Mạng con
152
Mạng con
153
Kỹ thuật chia mạng con
• Mượn một số bit trong phần host_id ban đầu 
để đặt cho các mạng con 
• Cấu trúc của địa chỉ IP lúc này sẽ gồm 3 phần: 
network_id, subnet_id và host_id.
154
Kỹ thuật chia mạng con
• Số bit dùng trong subnet_id tuỳ thuộc vào chiến lược 
chia mạng con. Tuy nhiên số bit tối đa có thể mượn 
phải tuân theo công thức:
• Số lượng bit tối đa có thể mượn:
– Lớp A: 22 (= 24 – 2) bit -> chia được 222 = 4194304 mạng 
con
– Lớp B: 14 (= 16 – 2) bit -> chia được 214 = 16384 mạng con
– Lớp C: 06 (= 8 – 2) bit -> chia được 26 = 64 mạng con
155
Subnet_id <= host_id - 2
Kỹ thuật chia mạng con
• Số bit trong phần subnet_id xác định số lượng 
mạng con. Với số bit là x thì 2x là số lượng 
mạng con có được.
• Ngược lại từ số lượng mạng con cần thiết theo 
nhu cầu, tính được phần subnet_id cần bao 
nhiêu bit. Nếu muốn chia 6 mạng con thì cần 3 
bit (23=8), chia 12 mạng con thì cần 4 bit 
(24>=12).
156
Một số khái niệm mới 
• Ðịa chỉ mạng con (địa chỉ đường mạng): 
gồm cả phần network_id và subnet_id, 
phần host_id chỉ chứa các bit 0 
• Ðịa chỉ broadcast trong một mạng con: 
tất cả các bit trong phần host_id là 1.
• Mặt nạ mạng con (subnet mask): tất cả 
các bit trong phần host_id là 0, các phần 
còn lại là 1.
157
Quy ước ghi địa chỉ IP
• Nếu có địa chỉ IP như 172.29.8.230 thì 
chưa thể biết được host này nằm trong 
mạng nào, có chia mạng con hay không 
và có nếu chia thì dùng bao nhiêu bit để 
chia. Chính vì vậy khi ghi nhận địa chỉ IP 
của một host, phải cho biết subnet mask 
của nó
• Ví dụ: 172.29.8.230/255.255.255.0 hoặc 
172.29.8.230/24 (có nghĩa là dùng 24 bit 
đầu tiên cho NetworkID).
158
Kỹ thuật chia mạng con
• Thực hiện 3 bước:
– Bước 1: Xác định lớp (class) và subnet 
mask mặc nhiên của địa chỉ.
– Bước 2: Xác định số bit cần mượn và 
subnet mask mới, tính số lượng mạng 
con, số host thực sự có được.
– Bước 3: Xác định các vùng địa chỉ host 
và chọn mạng con muốn dùng
159
Bài tập 1
Cho địa chỉ IP sau: 172.16.0.0/16. 
Hãy chia thành 8 mạng con và có 
tối thiểu 1000 host trên mỗi 
mạng con đó.
160
Bước 1: Xác định class và subnet 
mask mặc nhiên
Giải: 
• Địa chỉ trên viết dưới dạng nhị phân
10101100.00010000.00000000.00000000
• Xác định lớp của IP trên:
 Lớp B
• Xác định Subnet mask mặc nhiên:
 255.255.0.0
161
Bước 2: Số bit cần mượn
 Cần mượn bao nhiêu bit:
 N = 3, bởi vì:
 Số mạng con có thể: 23 = 8.
 Số host của mỗi mạng con có thể: 
2(16–3) – 2 = 213 - 2 > 1000.
 Xác định Subnet mask mới:
 11111111.11111111.11100000.00000000
 hay 255.255.224.0
162
Bước 3: Xác định vùng địa chỉ host
ST
T
SubnetID Vùng HostID Broadcast
1 172.16.0.0 172.16.0.1 -
172.16.31.254
172.16.31.255
2 172.16.32.0 172.16.32.1 -
172.16.63.254
172.16.63.255
7 172.16.192.0 172.16.192.1 –
172.16.223.254
172.16.223.255
8 172.16.224.0 172.16.224.1 –
172.16.255.254
172.16.255.255
163
10101100.00010000.00000000.00000000
10101100.00010000.00000000.00000001
Đến
10101100.00010000.00011111.111111101010 1 0. 01 0. 0 1. 11
10101100.00010000.00100000.00000000
10101100.00010000.00100000.00000001
Đến
10101100.00010000.00111111.11111110
10101100.00010000.00111111.11111111
Bài tập 2
Cho 2 địa chỉ IP sau: 
192.168.5.9/28 
192.168.5.39/28 
– Hãy cho biết các địa chỉ network, host của 
từng IP trên?
– Các máy trên có cùng mạng hay không ? 
– Hãy liệt kê tất cả các địa chỉ IP thuộc các 
mạng vừa tìm được?
164
Địa chỉ IP thứ nhất: 192.168.5.9/28 
 Chú ý: 28 là số bit dành cho NetworkID
 Đây là IP thuộc lớp C
 Subnet mask mặc nhiên: 255.255.255.0
IP 
(thập 
phân)
192 168 5 9
IP 
(nhị 
phân)
11000000 10101000 00000101 00001001 
165
Thực hiện AND địa chỉ IP với Subnet 
mask 
IP 11000000 10101000 00000101 00001001 
Subnet 
mask
11111111 11111111 11111111 11110000 
Kết quả 
AND
11000000 10101000 00000101 00000000 
166
Chuyển IP sang dạng thập phân
Kết quả 
AND
11000000 10101000 00000101 00000000 
Net ID 192 168 5 0
Host ID 9
167
00001001
Địa chỉ IP thứ hai: 192.168.5.39/28 
IP 192 168 5 39
IP (nhị 
phân)
11000000 10101000 00000101 00100111
Subnet 
Mask
11111111 11111111 11111111 11110000
AND 11000000 10101000 00000101 00100000
Network
ID
192 168 5 32
HostID 7
168
Hai địa chỉ trên có cùng mạng? 
• 192.168.5.9/28 
• 192.168.5.39/28
Net ID 
của địa 
chỉ thứ 1
192 168 5 0
Net ID 
của địa 
chỉ thứ 2
192 168 5 32 
169
Kết luận: Hai địa chỉ 
trên không cùng 
mạng
Liệt kê tất cả các địa chỉ IP
Mạng 
tương 
ứng với 
IP
Vùng địa chỉ HostID với dạng nhị 
phân 
Vùng địa chỉ 
HostID với 
dạng thập 
phân 
1 
11000000.10101000.00000101.00000001
Đến
11000000.10101000.00000101.00001110
192.168.5.1/28
Đến
192.168.5.14/28
2 
11000000.10101000.00000101.00100001 
Đến
11000000.10101000.00000101.00101110
192.168.5.33/28
Đến
192.168.5.46/28
170
Bài tập 3
Hãy xét đến một địa chỉ IP class B, 
139.12.0.0, với subnet mask là 
255.255.0.0. Một Network với địa chỉ 
thế này có thể chứa 65534 nodes hay 
computers. Đây là một con số quá lớn, 
trên mạng sẽ có đầy broadcast traffic. 
Hãy chia network thành 5 mạng con.
171
Bước 1: Xác định Subnet mask
 Để chia thành 5 mạng con thì cần 
thêm 3 bit (vì 23 > 5).
 Do đó Subnet mask sẽ cần: 16 (bits 
trước đây) + 3 (bits mới) = 19 bits 
 Địa chỉ IP mới sẽ là 139.12.0.0/19
(để ý con số 19 thay vì 16 như trước 
đây). 
172
Bước 2: Liệt kê ID của các Subnet mới
Subnet mask với dạng nhị phân 
Subnet mask 
với dạng thập 
phân 
11111111.11111111.11100000.00000000 255.255.224.0 
173
NetworkID của bốn Subnets mới 
TT Subnet ID với dạng nhị phân 
Subnet ID với 
dạng thập phân 
1 10001011.00001100.00000000.00000000 139.12.0.0/19 
2 10001011.00001100.00100000.00000000 139.12.32.0/19 
3 10001011.00001100.01000000.00000000 139.12.64.0/19
4 10001011.00001100.01100000.00000000 139.12.96.0/19 
5 10001011.00001100.10000000.00000000 139.12.128.0/19 
174
Bước 3: Cho biết vùng địa chỉ IP của 
các HostID 
TT Dạng nhị phân Dạng thập phân 
1
10001011.00001100.00000000.00000001
10001011.00001100.00011111.11111110
139.12.0.1/19 -
139.12.31.254/19 
2
10001011.00001100.00100000.00000001
10001011.00001100.00111111.11111110
139.12.32.1/19 -
139.12.63.254/19 
3
10001011.00001100.01000000.00000001
10001011.00001100.01011111.11111110
139.12.64.1/19 -
139.12.95.254/19
4
10001011.00001100.01100000.00000001
10001011.00001100.01111111.11111110
139.12.96.1/19 -
139.12.127.254/19
5
10001011.00001100.10000000.00000001
10001011.00001100.10011111.11111110
139.12.128.1/19 -
139.12.159.254/19
175
Tính nhanh vùng địa chỉ IP 
• n – số bit làm subnet
• Số mạng con: S = 2n
• Số gia địa chỉ mạng con: M = 28-n (n≤8)
• Byte cuối của IP địa chỉ mạng, ví dụ lớp C: (k-1)*M 
(với k=1,2,)
• Byte cuối của IP host đầu tiên, ví dụ lớp C: (k-1)*M 
+ 1 (với k=1,2,)
• Byte cuối của IP host cuối cùng, ví dụ lớp C: k*M -
2 (với k=1,2,)
• Byte cuối của IP broadcast, ví dụ lớp C: k*M - 1 (với 
k=1,2,)
176
Ví dụ tính nhanh vùng địa chỉ IP 
• Cho địa chỉ: 192.168.0.0/24
• Với n=4 M= 16 (= 28-4) 
– Network 1: 192.168.0.0. Host range: 192.168.0.1–
192.168.0.14. Broadcast: 192.168.0.15
– Network 2: 192.168.0.16. Host range: 192.168.0.17–
192.168.0.30. Broadcast: 192.168.0.31
– Network 3: 192.168.0.32. Host range: 192.168.0.33–
192.168.0.46. Broadcast: 192.168.0.47
– Network 4: 192.168.0.48. Host range: 192.168.0.49–
192.168.0.62. Broadcast: 192.168.0.63
177
Bài tập 4
• Cho địa chỉ IP: 102.16.10.107/12
– Tìm địa chỉ mạng con? Địa chỉ host
– Dải địa chỉ host có cùng mạng với IP 
trên?
– Broadcast của mạng mà IP trên thuộc 
vào?
178
Bước: Tính subnet mask
• 102.16.10.107/12 
• Subnet mask: 
11111111.11110000.00000000.00000000
• Byte đầu tiên chắc chắn khi dùng phép toán 
AND ra kết quả bằng 102 không cần đổi 102 
sang nhị phân
179
Trả lời câu hỏi 1: Địa chỉ mạng con?
• Xét byte kế tiếp là: 16 (10) 00010000 (2)
• Khi AND byte này với Subnet mask, ta được 
kết quả là: 00010000 (2)
• Như vậy địa chỉ mạng con sẽ là:
102.16.0.0/12
• Như vậy địa chỉ host sẽ là:
0.10.107
180
Trả lời câu hỏi 2: Dải địa chỉ host? 
Broadcast?
• Dải địa chỉ host sẽ từ:
01100110 00010000 00000000 00000001
(hay 102.16.0.1/12)
Đến:
01100110 00011111 11111111 11111110
(hay 102.31.255.254/12)
• Broadcast:
102.31.255.255/12
181
Bài tập 5: Cho IP 172.19.160.0/21
• Chia làm 4 mạng con
• Liệt kê các thông số gồm địa chỉ mạng, dãy địa 
chỉ host, địa chỉ broadcast của các mạng con 
đó
182
Giải BT 5
• Chia làm 4 mạng con nên phải mượn 2 bit
• Do /21 nên 2 byte đầu tiên của IP đã cho 
không thay đổi. Xét byte thứ 3
• 160 = 10100000(2)
• Phần 2 bit 00 là nơi ta mượn làm subnet
183
Giải BT 5 (tt)
• Xét byte thứ 3
• Mạng con thứ 1: 10100000(2)
• Mạng con thứ 2: 10100010(2)
• Mạng con thứ 3: 10100100(2)
• Mạng con thứ 4: 10100110(2)
184
Giải BT 5 (tt)
Địa chỉ mạng Dải địa chỉ host Địa chỉ broadcast
172.19.160.0 172.19.160.1 đến
172.19.161.254
172.19.161.255
172.19.162.0 172.19.162.1 đến
172.19.163.254
172.19.163.255
172.19.164.0 172.19.164.1 đến
172.19.165.254
172.19.165.255
172.19.166.0 172.19.166.1 đến
172.19.167.254
172.19.167.255
185
Bài tập 6: Cho IP 172.16.192.0/18
• Chia làm 4 mạng con
• Liệt kê các thông số gồm địa chỉ mạng, 
dãy địa chỉ host, địa chỉ broadcast của các 
mạng con đó
186
Giải BT 6
• Chia làm 4 mạng con nên phải mượn 2 bit
• Do /18 nên 2 byte đầu tiên của IP đã cho 
không thay đổi. Xét byte thứ 3
• 192 = 11000000(2)
• Phần 2 bit 00 là nơi ta mượn làm subnet
187
Giải BT 6 (tt)
• Xét byte thứ 3
• Mạng con thứ 1: 11000000(2)
• Mạng con thứ 2: 11010000(2)
• Mạng con thứ 3: 11100000(2)
• Mạng con thứ 4: 11110000(2)
188
Giải BT 6 (tt)
Địa chỉ mạng Dải địa chỉ host Địa chỉ broadcast
172.16.192.0 172.16.192.1 đến
172.16.207.254
172.16.207.255
172.16.208.0 172.16.208.1 đến
172.16.223.254
172.16.223.255
172.16.224.0 172.16.224.1 đến
172.16.239.254
172.16.239.255
172.16.240.0 172.16.240.1 đến
172.16.255.254
172.16.255.255
189

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_5_tcpip_vu_quoc_oai.pdf