5/5/2013
NỘI DUNG
•
•
•
•
•
•
•
•
•
TCP/IP
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
1
Lịch sử ra đời và phát triển
Khái niệm về TCP và IP
• TCP (Transmission Control Protocol) là
giao thức thuộc tầng vận chuyển và là một
giao thức có kết nối (connected-oriented).
• IP (Internet Protocol) là giao thức thuộc
tầng mạng của mô hình OSI và là một
giao thức không kết nối (connectionless).
3
• Từ những năm 60 ra đời các hệ thống mạng, liên mạng, khởi
đầu là mạng ARPANET của bộ quốc phòng Mỹ.
• Đầu thập niên 70 các nhà khoa học bắt tay vào nghiên cứu
các giao thức liên mạng (internetworking )
• Bộ giao thức TCP/IP được công bố và hoàn thiện vào khoảng
1978
• 1980 : DARPA chính thức chuyển mạng ARPANET từ mạng
nghiên cứu sang sử dụng bộ giao thức TCP/IP, khái niệm
Internet xuất hiện từ đó
• 1983 : Quá trình chuyển đổi chính thức hoàn thành khi
DARPA yêu cầu tất cả các máy tính muốn kết nối mạng với
ARPANET phải sử dụng TCP/IP, mạng ARPANET chính thức
trở thành mạng thương mại
5/5/2013
Mô hình tham chiếu TCP/IP
So sánh cấu trúc phân lớp
• Lớp 4: Application
• Lớp 3: Transport
• Lớp 2: Internet
• Lớp 1: Network access
Một số lớp trong mô hình TCP/IP có cùng tên với mô hình
OSI. Tuy nhiên không nên nhầm lẫn giữ hai mô hình này.
Lớp Transport
Lớp Application
Application
Transport
AddInternet
Your Text
Network Access
Chức năng : Cung cấp các chương
trình ứng dụng trên mạng TCP/IP.
Thực hiện các chức năng của các
lớp cao nhất trong mô hình 7 lớp bao
gồm : Mã hoá/giải mã, nén, định
dạng dữ liệu, thiết lập/giải phóng
phiên giao dịch
Ví dụ : Các ứng dụng HTTP, Telnet,
FTP, Mail
Application
Transport
AddInternet
Your Text
Network Access
Chức năng : Thực hiện chức
năng chuyển vận luồng dữ liệu
giữa 2 trạm
Đảm bảo độ tin cậy, điều khiển
luồng, phát hiện và sửa lỗi.
Có 2 giao thức chính là TCP và
UDP
5/5/2013
Lớp Network Access
Lớp Internet
Application
Transport
AddInternet
Your Text
Chức năng : Thực hiện chức năng
xử lý và truyền gói tin trên mạng.
Các quá trình định tuyến được
thực hiện ở lớp này
Có các giao thức gồm IP, ICMP,
IGMP
So sánh mô hình OSI và TCP/IP
– Đều phân lớp chức
năng
– Đều có lớp vận
chuyển và lớp
mạng.
– Chuyển gói là hiển
nhiên.
– Đều có mối quan hệ
trên dưới, ngang
hàng.
Transport
AddInternet
Your Text
Network Access
Network Access
• Giống nhau
Application
Các giao thức trong mô hình TCP/IP
SMTP, HTTP, FTP, TFTP,Telnet…
Khác nhau
Chức năng : thực hiện chức năng
giao tiếp môi trường mạng, chuyển
giao dòng dữ liệu lên đường truyền
vậy lý.
Thực hiện chức năng tương đương
lớp 1,2 của mô hình OSI
TCP/IP gộp lớp trình bày
và lớp phiên vào lớp ứng
dụng.
TCP/IP gộp lớp vật lý và
lớp liên kết dữ liệu vào
lớp truy nhập mạng.
TCP/IP đơn giản vì có ít
lớp hơn.
OSI không có khái niệm
chuyển phát thiếu tin cậy
ở lớp 4 như UDP của
TCP/IP
TCP
UDP
IP
ICMP
ARP
RARP
Ethernet, Token-Ring, FrameRelay, ATM…
11
12
5/5/2013
Lớp ứng dụng
Lớp ứng dụng
• FTP (File Transfer Protocol): là dịch vụ có tạo cầu
nối, sử dụng TCP để truyền các tập tin giữa các hệ
thống.
• TFTP (Trivial File Transfer Protocol): là dịch vụ
không tạo cầu nối, sử dụng UDP. Được dùng trên
router để truyền các file cấu hình và hệ điều hành.
• NFS (Network File System): cho phép truy xuất file
đến các thiết bị lưu trữ ở xa như một đĩa cứng qua
mạng.
• SMTP (Simple Mail Transfer Protocol): quản lý hoạt
động truyền e-mail qua mạng máy tính.
• Telnet (Terminal emulation): cung cấp khả năng
truy nhập từ xa vào máy tính khác. Telnet client
là host cục bộ, telnet server là host ở xa.
• SNMP (Simple Network Management): cung cấp
một phương pháp để giám sát và điều khiển các
thiết bị mạng.
• DNS (Domain Name System): thông dịch tên
của các miền (Domain) và các node mạng được
công khai sang các địa chỉ IP.
• RIP (Routing Information Protocol): giao thức
dẫn đường động, dùng để 2 mạng khác Subnet
Mask có thể truyền thông cho nhau
13
14
Các cổng phổ biến dùng cho các giao
thức lớp ứng dụng
Lớp vận chuyển
• TCP và UDP (User Datagram Protocol):
– Phân đoạn dữ liệu ứng dụng lớp trên.
– Truyền các segment từ một thiết bị đầu cuối này đến thiết
bị đầu cuối khác
• Riêng TCP còn có thêm các chức năng:
15
Là một giao thức hướng kết nối, cung cấp khả năng chuyển tải dữ
liệu tin cậy giữa các hệ trạm trên mạng.
Thiết lập các kết nối logic giữa các trạm trên mạng trước khi thực
sự truyền dữ liệu của các ứng dụng (quá trình thiết lập kết nối 3
bước – three-way handshake)
TCP thực hiện phát hiện và sữa lỗi (yêu cầu phát lại) để đảm bảo
độ tin cậy của việc truyền dữ liệu
16
5/5/2013
Khuôn dạng gói tin TCP
Khuôn dạng gói tin TCP
Số hiệu cổng nơi đã gửi datagram
17
Khuôn dạng gói tin TCP
18
Khuôn dạng gói tin TCP
Số hiệu duy trì sự tuần tự của các byte
dữ liệu được truyền, bit SYN được dùng
trong quá trình thiết lập kết nối
Số hiệu cổng nơi datagram được chuyển tới
19
20
5/5/2013
Khuôn dạng gói tin TCP
Khuôn dạng gói tin TCP
Số hiệu duy trì sự tuần tự của các byte
dữ liệu được truyền, bit ACK được dùng
trong quá trình thiết lập kết nối
Số byte tối đa mà trạm đích có thể
nhận, sử dụng cơ chế window để kiểm
soát luồng dữ liệu
21
Khuôn dạng gói tin TCP
22
Khuôn dạng gói tin TCP
Mã kiểm soát lỗi cho toàn segment, kể
cả header và phần dữ liệu
Độ dài thay đổi – Khai báo tùy chọn
của TCP, trong đó thường là kích
thước cực đại của 1 segment ( MSS)
23
24
5/5/2013
Khuôn dạng gói tin TCP
Khuôn dạng gói tin TCP
Độ dài thay đổi - Chứa dữ liệu của lớp ứng dụng, kích
thước ngầm định là 536 byte, giá trị này có thể điều
chỉnh bằng cách khai báo trong phần Option
Source Port: 16 bit - Số hiệu cổng nơi đã gửi datagram
Destination port: 16 bit - Số hiệu cổng nới datagram được chuyển tới
Sequence Number: 32 bit - Số hiệu duy trì sự tuần tự của các byte dữ liệu được
truyền, bit SYN được dùng trong quá trình thiết lập kết nối
Acknowledgment Number: 32 bit - Số hiệu duy trì sự tuần tự của các byte dữ liệu
được truyền, bit ACK được dùng trong quá trình thiết lập kết nối.
Window size: 16 bit – Số byte tối đa mà trạm đích có thể nhận, sử dụng cơ chế
window để kiểm soát luồng dữ liệu
Checksum: 16 bit – Mã kiểm soát lỗi cho toàn segment, kể cả header và phần dữ
liệu.
Option: độ dài thay đổi – Khai báo tùy chọn của TCP, trong đó thường là kích thước
cực đại của 1 segment ( MSS)
TCP data: độ dài thay đổi - Chứa dữ liệu của lớp ứng dụng, kích thước ngầm định
là 536 byte, giá trị này có thể điều chỉnh bằng cách khai báo trong phần Option
25
26
Quá trình thiết lập kết nối TCP
(Three-way handshake )
Khuôn dạng gói tin UDP
Host A khởi tạo kết nối bằng
việc send đến B một segment
với bit Synchronize sequence
number (SYN) được set để
yêu cầu thiết lập kết nôí
Host B đáp ứng yêu cầu bằng
cách gửi lại Host A một
segment
với
bit
ACK
(Acknowledgment) và bit SYN
được set.
Source Port : 16 bit - Số hiệu cổng nơi đã gửi datagram
Destination port : 16 bit - Số hiệu cổng nới datagram được chuyển tới
Kết nối được thiết lập, quá
trình truyền dữ liệu bắt đầu .
Length : Độ dài UDP packet -16 bit- đây là độ dài tổng cộng kể cả
phần header của gói datagram
UDP Checksum : 16 bit dùng để kiểm soát lỗi, nếu phát hiện lỗi thì
UDP datagram sẽ bị loại bỏ mà không có thông báo nào trả lại cho
nơi gửi
28
5/5/2013
Lớp Internet
Khuôn dạng gói tin IP
IP (Internet Protocal): là giao thức quan trọng nhất trong bộ giao
thức TCP/IP- Cung cấp khả năng kết nối các mạng con thành liên
mạng.
Đóng gói dữ liệu thành các datagram và phân phát datagram
theo kiểu không liên kết, không tin cậy
Chịu trách nhiệm về địa chỉ lớp mạng, các giao thức định tuyến
Có 2 phiên bản địa chỉ: IPv4, IPv6
VER
IHL
Type of
services
Identification
Time to live
• ICMP (Internet Control Message Protocol): cung cấp khả năng điều
Total lenght
Flags
Protocol
Fragment
offset
Header checksum
Source address
khiển và chuyển thông điệp.
• ARP (Address Resolution Protocol): xác định địa chỉ lớp liên kết số
Destination address
liệu (MAC address) khi đã biết trước địa chỉ IP.
Options + Padding
• RARP (Reverse Address Resolution Protocol): xác định các địa chỉ
IP khi biết trước địa chỉ MAC.
Data
30
29
Khuôn dạng gói tin IP
Khuôn dạng gói tin IP
IHL : Chiều dài của header –
tính bằng word 32 bit
Version : Phiên bản của
giao thức IP
VER
IHL
Type of
services
Total lenght
VER
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
IHL
Type of
services
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Flags
Identification
31
Flags
32
5/5/2013
Khuôn dạng gói tin IP
Khuôn dạng gói tin IP
Type of service: Đặc tả tham số về
yêu cầu dịch vụ
VER
IHL
Type of
services
Total length: Chiều dài tổng cộng
của IP Datagram (byte)
Total lenght
VER
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
IHL
Type of
services
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Flags
Identification
Flags
33
Khuôn dạng gói tin IP
Type of
services
Identification: định danh, kết hợp với các tham số khác
như Sadd, Dadd để định danh duy nhất cho mỗi
datagram được gửi đi
VER
IHL
Khuôn dạng gói tin IP
Flag: Sủ dụng trong khi phân đoạn các datagram
Total lenght
VER
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
34
IHL
Type of
services
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Flags
Identification
35
Flags
36
5/5/2013
Khuôn dạng gói tin IP
Khuôn dạng gói tin IP
Fragmentation Offset: Chỉ vị trí của đoạn phân mảnh
trong datagram – tính theo đơn vị 64bit
VER
IHL
Type of
services
Total lenght
VER
Time to Live: Thiết lập thời gian
tồn tại của datagram
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
IHL
Type of
services
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Flags
Identification
Flags
37
Khuôn dạng gói tin IP
VER
IHL
Protocol: Chỉ giao thức tầng
trên kế tiếp
Type of
services
Khuôn dạng gói tin IP
Total lenght
VER
IHL
Type of
services
Header checksum: Kiểm tra
lỗi của phần header
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
38
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Flags
Identification
39
Flags
40
5/5/2013
Khuôn dạng gói tin IP
VER
IHL
Type of
services
Source Address : Điạ chỉ IP trạm
nguồn
Khuôn dạng gói tin IP
Total lenght
VER
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
IHL
Type of
services
Total lenght
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Destination Address : điạ chỉ IP
trạm đích
Flags
Identification
Flags
41
42
Khuôn dạng gói tin IP
VER
IHL
Type of
services
ARP
Total lenght
Host A
Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Options + Padding
Data
Identification
Option : Khai báo các tùy chọn
do người gửi yêu cầu
ARP Request - Broadcast to all hosts
„What is the hardware address for IP address 128.0.10.4?“
SIEMENS
NIXDORF
Flags
ARP Reply
SIEMENS
NIXDORF
SIEMENS
NIXDORF
43
Host B
IP Address: 128.0.10.4
HW Address: 080020021545
44
5/5/2013
RARP
Lớp truy nhập mạng
• Ethernet
– Là giao thức truy cập LAN phổ biến nhất.
– Được hình thành bởi định nghĩa chuẩn
802.3 của IEEE (Institute of Electrical and
Electronics Engineers).
– Tốc độ truyền 10Mbps
• Fast Ethernet
• Gigabit Ethernet
45
Chuyển đổi giữa các hệ thống số
• Hệ 2 (nhị phân): gồm 2 ký số 0, 1
• Hệ 8 (bát phân): gồm 8 ký số 0, 1, …, 7
• Hệ 10 (thập phân): gồm 10 ký số 0, 1, …,
9
• Hệ 16 (thập lục phân): gồm các ký số 0, 1,
…, 9 và các chữ cái A, B, C, D, E, F
47
46
Chuyển đổi giữa hệ nhị phân sang hệ thập
phân
101102 = (1 x 24) + (0 x 23) + (1 x 22) +
(1 x 21) + (0 x 20) = 16 + 0 + 4 + 2 + 0= 22
48
5/5/2013
Chuyển đổi giữa hệ thập phân sang hệ nhị
phân
Chuyển đổi giữa hệ nhị phân sang hệ bát
phân và thập lục phân
Đổi số 20110 sang nhị phân:
• Nhị phân sang bát phân:
201 / 2 = 100 dư
1
100 / 2 = 50 dư
0
50 / 2 = 25 dư
0
25 / 2 = 12 dư
1
12 / 2 =
6 dư
0
6 / 2 =
3 dư
0
3 / 2 =
1 dư
1
1 / 2 =
0 dư
1
Khi thương số bằng 0, ghi các số dư theo thứ tự
ngược với lúc xuất hiện, kết quả: 20110 =
110010012
– Gom nhóm số nhị phân thành từng nhóm 3
chữ số tính từ phải sang trái. Mỗi nhóm
tương ứng với một chữ số ở hệ bát phân.
– Ví dụ: 1’101’100 (2) = 154 (8)
• Nhị phân sang thập lục phân:
– Tương tự như nhị phân sang bát phân
nhưng mỗi nhóm có 4 chữ số.
– Ví dụ: 110’1100 (2) = 6C (16)
49
50
Địa chỉ IP
Các phép toán làm việc trên bit
• Có ba cách để xác định máy tính trong môi trường mạng
TCP/IP:
A
B
A and B
1
1
0
0
1
0
1
0
1
0
0
0
– Điạ chỉ vật lý
– Địa chỉ IP
– Tên miền.
• Điạ chỉ vật lý là điạ chỉ MAC được ghi vào trong card
giao diện mạng. Nó được dùng cho các điạ chỉ mạng
LAN, không phải là điạ chỉ liên mạng.
• Điạ chỉ IP xác định một máy tính trên một liên mạng IP.
• Tên miền cung cấp tên dễ nhớ cho một máy tính trong
liên mạng IP. Khi người dùng sử dụng tên miền, chúng
sẽ được chuyển thành điạ chỉ IP bởi DNS (Domain Name
System), chung cho các điạ chỉ trong liên mạng IP
51
5/5/2013
Địa chỉ IP
Địa chỉ IP
* Địa chỉ MAC tồn tại mặc định trên 1 máy có Card mạng
* Địa chỉ IP do người dùng cấu hình hoặc do DHCP Server cấp, nếu máy chỉ hoạt
động trong môi
trường độc lập thì
E7.96.C9.F4
không cần thiết.
* Tên miền chỉ cần
192.168.1.2
thiết khi máy tính
F2.76.29.F2
Server.test.com
gia nhập vào 1
192.168.1.5
Domain, kết nối
mạng.
Lap.test.com
C8.86.A9.F5
192.168.1.3
W03.test.com
F8.D6.A9.75
192.168.1.9
• Địa chỉ IP gồm 32 bit.
• Được biểu diễn bằng 4 số thập phân (four octet) cách nhau
bởi dấu chấm (.)
• Có 3 cách để biểu diển IP
– Dạng thập phân : 130.57.30.56
– Dạng nhị phân : 10000010.00111001.00011110.00111000
– Dạng Hex
: 82.39.1E.38
• Địa chỉ IP gồm 2 thành phần: NetID (Network Address) và
Host ID (Node Address)
• NetID là số duy nhất dùng để xác định 1 mạng. Mỗi máy
tính trong một mạng bao giờ cũng có cùng một địa chỉ
mạng
• HostID là số duy nhất được gán cho một máy tính trong
mạng
Lap.test.com
Địa chỉ IP
Địa chỉ IP và các lớp địa chỉ
• Ðịa chỉ host là địa chỉ IP có thể dùng để đặt
cho các interface của các host. Hai host nằm
cùng một mạng sẽ có network_id giống nhau
và host_id khác nhau.
• Khi cấp phát các địa chỉ host thì lưu ý không
được cho tất cả các bit trong phần host_id
bằng 0 hoặc tất cả bằng 1.
• Ðịa chỉ mạng (network address): là địa chỉ IP
dùng để đặt cho các mạng. Phần host_id của
địa chỉ chỉ chứa các bit 0. Ví dụ: 172.29.0.0
• Ðịa chỉ Broadcast: là địa chỉ IP được dùng để
đại diện cho tất cả các host trong mạng. Phần
host_id chỉ chứa các bit 1. Ví dụ:
172.29.255.255.
56
5/5/2013
Các lớp địa chỉ IP
•
•
•
•
Lớp A (Class A)
• Định dạng:
NetID.HostID.HostID.HostID
• Bit đầu tiên của byte đầu tiên: 0
• Ngoại trừ bit đầu tiên là 0 dùng để nhận diện lớp A , 7 bit còn
lại có thể nhận giá trị 0 hoặc 1
• Có 27 = 128 trường hợp dùng NetID
• Nhưng tất cả các bit = 0 hoặc 1 thì không sử dụng nên số
NetID của lớp A = 27 - 2 = 128 - 2 = 126
IP address được chia ra làm 5 lớp A,B,C,D,E
D là lớp Multicast
E đang để dự trữ
Chỉ sử dụng 3 lớp A,B,C
Network ID
Class A
Host ID
Network ID
Class B
Class A
Host ID
NETWORK
Network ID
Class C
w
x
Host ID
y
HOST
1
7
24
0
NETWORK#
HOST#
z
Lớp A (Class A)
• Địa chỉ IP lớp A
– Dạng nhị phân bít đầu = 0
– Dạng thập phân từ 1 đến 126
# Bits
24 Bits
HOST
HOST
Lớp B (Class B)
Dành 2 byte cho phần network_id và 2
byte cho phần host_id.
• Số HostID trong mỗi mạng lớp A = 224 - 2 = 16.777.214
• Dãy địa chỉ mạng lớp A là
1.0.0.0 đến 126.0.0.0
• Dãy địa chỉ HostID trong mỗi mạng lớp A là
W.0.0.1 đến W.255.255.254
Ví dụ
NetID: 10.0.0.0
HostID: 10.0.0.1;10.0.0.2;…….10.255.255.254
60
5/5/2013
Lớp B (Class B)
Lớp B (Class B)
• Định dạng : NetID.NetID.HostID.HostID
• Hai bít đầu là :
10
• Ngoại trừ 2 bít đầu là 10 các bít còn lại có thể là 0
hoặc 1
• Có 214 = 16.384 NetID
Class B
NETWORK
16 Bits
NETWORK
# Bits
HOST
1
1
14
1
0
NETWORK#
HOST
16
HOST#
Lớp C (Class C)
• Định dạng: NetID.NetID.NetID.HostID
• Ba bít của byte đầu là: 110
• Ngoại trừ 3 bít đầu là 110 các bít còn lại có
thể là 0 hoặc 1
• Có 221 = 2.097.152 NetID
Class C
NETWORK
# Bits
8 Bits
NETWORK
NETWORK
HOST
1
1
1
21
8
1
1
0
NETWORK#
HOST#
• Địa chỉ lớp B
– Dạng nhị phân 2 bít của byte đầu là: 10
– Dạng thập phân : từ 128 đến 191
• Số HostID trong mỗi mạng lớp B là
• 216 - 2 = 65.534 HostID
• Dãy địa chỉ NetID lớp B
128.0.0.0 >> 191.255.0.0
• Dãy địa chỉ HostID trên mỗi mạng
W.X.0.1 >> W.X.255.254
• Ví dụ:
NetID: 128.10.0.0
HostID: 128.10.0.1;128.10.0.2;…….;128.10.255.254
• Địa chỉ lớp C
Lớp C (Class C)
• Dạng nhị phân 3 bít đầu là: 110
• Dạng thập phân: từ 192 đến 223
• Số HostID trong mỗi mạng lớp C là
28 - 2 = 254 HostID
• Dãy địa chỉ NetID lớp B
192.0.0.0 >> 223.255.255.0
• Dãy địa chỉ HostID trên mỗi mạng
W.X.Y.1 >> W.X.Y.254
• Ví dụ:
– NetID: 203.100.100.0
– HostID: 203.100.100.1 ; 203.100.100.2 ; …..
5/5/2013
Các lớp địa chỉ IP
Các lớp địa chỉ IP
66
65
Các lớp địa chỉ IP
Các lớp địa chỉ IP
Lớp
Byte đầu tiên
A
0xxxxxxx
B
10xxxxxx
C
110xxxxx
D
1110xxxx
E
11110xxx
67
Địa chỉ mạng
68
5/5/2013
Các lớp địa chỉ IP
Địa chỉ Broadcast
• Quảng bá (Broadcast) là việc mà một host
gởi dữ liệu đến tất cả các host còn lại trong
cùng một network ID number.
– Địa chỉ quảng bá trực tiếp ( directed broadcast
address) là địa chỉ IP mà trong đó tất cả các
bit trong trường Host ID đều là 1.
– Địa chỉ quảng bá cục bộ (local broadcast
address) là địa chỉ IP mà trong đó tất cả các
bits trong Network ID và Host ID đều là 1.
Địa chỉ broadcast
69
Directed Broadcast Address
70
Local Broadcast Address
• Địa chỉ quảng bá cục bộ sẽ bị chặn lại bởi Router
192.168.20.0
192.168.21.0
192.168.20.255
Stop
255.255.255.255
5/5/2013
Địa chỉ dành riêng
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 dành
riêng.
• Địa chỉ IP dành riêng sẽ được chuyển đổi sang
địa chỉ dùng chung đị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.
Private address: Địa chỉ dành riêng
Public address: Địa chỉ dùng chung
73
NAT
74
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ộ.
75
76
5/5/2013
NAT
NAT
phần còn lại của
Internet
mạng cục bộ
(vd: mạng gia đình)
10.0.0.0/24
10.0.0.4
10.0.0.1
10.0.0.2
138.76.29.7
10.0.0.3
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
các Datagram với nguồn hoặc đích
trong mạng này có địa chỉ 10.0.0/24
• 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)
77
78
NAT
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)
2: NAT router
thay đổi địa chỉ từ
10.0.0.1, 3345 ->
138.76.29.7, 5001
cập nhật bảng
. . . 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
79
2
bảng chuyển đổi NAT
địa chỉ phía WAN
địa chỉ phía LAN
1: host 10.0.0.1
gửi datagram đến
128.119.40.186, 80
138.76.29.7, 5001 10.0.0.1, 3345
……
……
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: phản hồi đến địa chỉ :
đích 138.76.29.7, 5001
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
thay đổi địa chỉ datagram
đích từ
138.76.29.7, 5001 -> 10.0.0.1, 3345
80
5/5/2013
NAT
Mạng con
• 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
81
82
Vì sao phải chia mạng con?
Mạng con
• Người quản trị mạng đôi khi cần phải phân chia mạng, từ một mạng
lớn phân chia thành những mạng con:
– Giảm kích thước, Phù hợp với mô hình mạng hiện tại của Công ty
– Phân cấp quản lý.
– Giảm nghẽn mạng bằng cách giới hạn phạm vi của các thông điệp
quảng bá.
– Giới hạn trong phạm vi từng mạng con các trục trặc có thể xảy ra
(không ảnh hưởng tới toàn mạng LAN)
– Tăng cường bảo mật (các chính sách bảo mật có thể áp dụng cho
từng mạng con)
– Cho phép áp dụng các cấu hình khác nhau trên từng mạng con
• Vì vậy cần phải phân chia thành những mạng con Khi phân chia
mạng con thì những ngườI bên ngòai mạng (outside network) nhìn
mạng chúng ta chỉ là một single network.
83
5/5/2013
Kỹ thuật chia mạng con
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.
• 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:
Subnet_id <= host_id - 2
• 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
85
86
Một số khái niệm mới
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).
87
• Ðị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.
88
5/5/2013
Quy ước ghi địa chỉ IP
Kỹ thuật chia mạng con
• 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à nếu có 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).
• 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
89
90
Bước 1: Xác định class và
subnet mask mặc nhiên
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 đó.
Giải:
• Địa chỉ trên viết dưới dạng nhị
phân
10101100.00010000.00000000.0000000
0
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
•
91
92
5/5/2013
Bước 3: Xác định vùng địa chỉ host
Bước 2: Số bit cần mượn…
10101100.00010000.00000000.00000001
Đến
ST Subnet
10101100.00010000.00000000.00000000
Vùng
Host
Broadcast
10101100.00010000.00011111.11111111
10101100.00010000.00011111.11111110
T
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ể:
216–3 – 2 = 213 - 2 > 1000.
Xác định Subnet mask mới:
11111111.11111111.11100000.00000000
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
8
172.16.224.0
172.16.192.1 –
172.16.223.255
10101100.00010000.00100000.00000001
172.16.223.254
Đến
172.16.224.1 –
172.16.255.255
10101100.00010000.00111111.11111110
172.16.255.254
hay 255.255.224.0
10101100.00010000.00111111.11111111
10101100.00010000.00100000.00000000
94
93
Bài tập 2
Địa chỉ IP thứ nhất: 192.168.5.9/28
Chú ý: 28 là số bit dành cho NetworkID
Cho 2 địa chỉ IP sau:
192.168.5.9/28
192.168.5.39/28
–
–
–
IP
(thập
192
168
5
9
phân)
IP
(nhị 11000000 10101000 00000101 00001001
phân)
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?
95
96
5/5/2013
Thực hiện AND địa chỉ IP với
Subnet mask
IP
Chuyển IP sang dạng thập phân
Kết quả
11000000 10101000 00000101 00000000
AND
11000000 10101000 00000101 00001001
Subnet
11111111 11111111 11111111 11110000
mask
Net ID
192
168
5
0
00001001
Kết quả
11000000 10101000 00000101 00000000
AND
9
Host ID
97
98
Địa chỉ IP thứ hai: 192.168.5.39/28
IP
192
168
5
11000000 10101000 00000101 00100111
Subnet
Mask
11111111 11111111 11111111 11110000
AND
11000000 10101000 00000101 00100000
Network
ID
HostID
192
168
5
•
•
39
IP (nhị
phân)
Hai địa chỉ trên có cùng mạng?
Net ID
của địa
chỉ thứ 1
Net ID
của địa
chỉ thứ 2
32
Kết luận: Hai địa chỉ
trên không cùng
mạng
192.168.5.9/28
192.168.5.39/28
192
168
5
0
192
168
5
32
7
99
100