You are on page 1of 92

TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHĐN

KHOA CÔNG NGHỆ THÔNG TIN

MÔ HÌNH TCP/IP
Mô hình TCP/IP

 Tổng quan về bộ giao thức TCP/IP


 Các giao thức của bộ giao thức TCP/IP
 Các dịch vụ TCP/IP trên mạng

2
Mô hình TCP/IP

 Lịch sử ra đời và phát triển


 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

DARPA: Defense Advanced Research Projects Agency


ARPANET: The Advanced Research Projects Agency Network

3
Mô hình TCP/IP

 Các lớp của mô hìnhTCP/IP


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.

4
Bộ giao thức TCP/IP

 So sánh cấu trúc phân lớp

5
Bộ giao thức TCP/IP

 Các giao thức tại các tầng của mô hình OSI

6
Mô hình TCP/IP

 Cấu trúc phân lớp của bộ giao thức TCP/IP

 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

7
Mô hình TCP/IP

 Cấu trúc phân lớp của bộ giao thức TCP/IP

Cấu trúc phân lớp của bộ giao thức TCP/IP

 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

8
Mô hình TCP/IP

 Cấu trúc phân lớp của bộ giao thức TCP/IP

Cấu trúc phân lớp của bộ giao thức TCP/IP

 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
( Internet Control Message
Protocol), IGMP ( Internet Group
Message Protocol)

9
Mô hình TCP/IP

 Cấu trúc phân lớp của bộ giao thức TCP/IP

Cấu trúc phân lớp của bộ giao thức TCP/IP

 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

10
Mô hình TCP/IP

 Cấu trúc phân lớp của bộ giao thức TCP/IP

Cấu trúc giao thức của bộ giao thức TCP/IP

SMTP,HTTP, FTP, Telnet…

TCP UDP

ICMP ARP RARP


IP

Ethernet, Token-Ring, FrameRelay, ATM…

11
TẦNG MẠNG

12
Network Layer

 Giới thiệu và chức năng của tầng mạng.


 Network service model (VC and Datagram).
 Giao thức IP (Internet Protocol)
 Thiết bị tầng mạng - Bộ định tuyến (router)
 Giải thuật chọn đường (Routing Algorithms)
 Chọn đường trong mạng Internet.

13
Chức năng của tầng mạng

 Truyền các gói tin (packets) từ sending host tới applicatio


n

receiving host. Segment  Packets (Datagrams). transport


network network
data link data link
network network
 Network layer được cài đặt tại router và các end physical
data link
physical
physical data link
physical

system. network
data link
physical network
 Chọn đường (path selection) data link
physical

 Chuyển mạch (switching, forwarding): chuyển gói tin network


network
data link
data link
từ cổng vào tới cổng ra của router physical
physical

network
 Thiết lập liên kết (call setup): một số kiến trúc mạng data link
physical
applicatio
n
transport
cần thiết lập kênh truyền trước khi truyền. network
data link
physical

14
Routing & switching in routers

routing algorithm

local forwarding table


header output
value0100 3 link
0101 2
0111 2
1001 1

value in arriving
packet’s header
0111 1

3 2

1515
Network service model

 Tầng mạng cung cấp dịch vụ cho tầng Transport:


Tin cậy vào tầng network?
Các gói tin có đến đích đúng thứ tự đã gửi?
Thời gian truyền có được đảm bảo?
Có phản hồi về tình trạng nghẽn mạng?
 Tầng mạng hỗ trợ 02 cơ chế liên kết:
Kênh ảo (virtual circuit)
Kênh datagram

16
Virtual Circuit

 Thiết lập liên kết trước khi truyền dữ liệu và huỷ bỏ liên kết sau khi truyền xong.
1) VC setup: trước khi truyền, tầng mạng phải thiết lập một kênh truyền ảo
(VC) từ sender tới receiver (đã biết địa chỉ).
2) Data transfer: dữ liệu được truyền qua VC.
3) VC teardown: một khi sender hoặc receiver muốn ngắt VC, nó thông báo cho
network layer biết, network layer sẽ huỷ bỏ VC.
>> Còn được gọi là connection-oriented
 Mỗi gói tin chứa thêm thông tin về kênh mà nó sẽ đi qua (VC identifier number).
 Các routers/packet switches trên kênh ảo (VC) luôn nắm giữ trạng thái của kênh
đi qua nó.

17
Virtual Circuit: Signaling protocol

 Giao thức truyền các thông điệp giữa end system và network layer để yêu cầu
thiết lập, huỷ bỏ VC; giữa các thiết bị chuyển mạch (switches) để thiết lập VC.
 Được sử dụng trong mạng ATM, Frame Relay, X.25.

application
6. Receive data application
transport 5. Data flow begins
network 4. Call connected 3. Accept call transport
data link 1. Initiate call 2. incoming call network
data link
physical
physical

18
application application
transport transport
network network

host A
data link
physical server B
data link
physical

 Sự khác biệt giữa liên kết tại tầng Transport và Network?

application
application
transport
transport
network
network
data link
data link
physical
physical

1919
Datagram network

 Không thiết lập kênh truyền.


 Các thiết bị chuyển mạch không cần nắm giữ trạng thái các kênh.
 Gói tin được truyền dựa trên địa chỉ của receiving host.
 Đường đi của các gói tin giữa hai host có thể khác nhau.

application
application
transport
transport
network
data link 1. Send data 2. Receive data network
data link
physical
physical

20
Network taxonomy (review)

communication
networks

switched broadcast
networks networks
(vd. Radio,
Broadcast TV)

circuit-switched packet-switched
networks networks
(vd. telephone)

datagram virtual circuit-


networks switched
FDM TDM networks
(vd. Internet)
(vd. ATM)

2121
Network Layer

 Giới thiệu và chức năng của tầng mạng.


 Network service model (VC and Datagram).
 Giao thức IP (Internet Protocol)
 Thiết bị tầng mạng - Bộ định tuyến (router)
 Giải thuật chọn đường (Routing Algorithms)
 Chọn đường trong mạng Internet.

22
Giao thức IP tầng mạng

Giao thức IP
 IP (Internet Protocol) 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
 IPv4, IPv6

23
Bộ giao thức TCP/IP

Giao thức IP – Định tuyến trong mạng IP


 Việc chọn tuyến được thực hiện theo trình tự sau :
1. Nhận datagram từ các giao thức lớp trên như TCP, UDP……
2. Tìm trong bảng định tuyến theo địa chỉ đích
3. Tìm theo default
4. Nếu datagram không được chuyển tiếp thì gửi thông báo lỗi “ host unreachable” hoặc
“network unreachable”
 IP duy trì một bảng định tuyến gồm các thông tin :
1. Địa chỉ IP đích
2. Địa chỉ IP của router kế tiếp
3. Flag : xác định địa chỉ của router kế tiếp là địa chỉ một host hay một mạng
4. Interface : trên thiết bị để forward gói qua đó

24
Giao thức IP v4 - cấu trúc gói tin

25
 Giao thức IP v4 - cấu trúc gói tin

Version : Phiên bản của


giao thức IP

26
 Giao thức IP v4 - cấu trúc gói tin

IHL : Chiều dài của header –


tính bằng word 32 bit

27
 Giao thức IP v4 - cấu trúc gói tin

Type of service: Đặc tả tham số về


yêu cầu dịch vụ

28
 Giao thức IP v4 - cấu trúc gói tin

Total length: Chiều dài tổng cộng


của IP Datagram (byte)

29
 Giao thức IP v4 - cấu trúc gói tin

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

30
 Giao thức IP v4 - cấu trúc gói tin

Flag: Sủ dụng trong khi phân đoạn các datagram

31
Bộ giao thức TCP/IP

 Giao thức IP v4 - cấu trúc gói tin

Fragmentation Offset: Chỉ vị trí của đoạn phân


mảnh trong datagram – tính theo đơn vị 64bit

32
 Giao thức IP v4 - cấu trúc gói tin

Time to Live: Thiết lập thời


gian tồn tại của datagram

33
 Giao thức IP v4 - cấu trúc gói tin

Protocol: Chỉ giao thức tầng


trên kế tiếp

34
Bộ giao thức TCP/IP

 Giao thức IP v4 - cấu trúc gói tin

Header checksum: Kiểm tra


lỗi của phần header

35
Bộ giao thức TCP/IP

 Giao thức IP v4 - cấu trúc gói tin

Header checksum: Kiểm tra


lỗi của phần header

36
 Giao thức IP v4 - cấu trúc gói tin

Source Address : Điạ chỉ IP


trạm nguồn

37
 Giao thức IP v4 - cấu trúc gói tin

Destination Address : điạ chỉ IP


trạm đích

38
 Giao thức IP v4 - Cấu trúc gói tin

Option : Khai báo các tùy chọn


do người gửi yêu cầu

39
 Địa chỉ IPv4 (RFC 760, RFC 791)
 Có độ dài 32bit, được biểu diễn dưới dạng thập phân gồm 4 phần, cách nhau bằng dấu chấm:

x.y.z.t Ví dụ 203.162.7.92
32 bits

Network Host

8 bits 8 bits 8 bits 8 bits


Dotted
Decimal
Notation

 Địa chỉ IP x.yx.z được chia làm 2 phần:


Phần định danh mạng (NetworkID)
Phần định danh máy (HostID)
[NetworkID][hostID]

40
Phân lớp địa chỉ IP

 Địa chỉ IP được x y z t


phân thành 5 lớp
A, B, C, D, E

41
Tầng mạng – Giao thức IP

 Các lớp địa chỉ IP x.y.z.t


 Lớp A: 0  x 127 netID = x (7 bit, 27-2 mạng con) hostID = y.z.t (24 bit, 224-2 hosts/mạng)
Dải địa chỉ lớp A: 0.0.0.0  127.255.255.255
 Lớp B: 128  x  191 netID = x.y (14 bit, 214-2 mạng con) hostID = z.t (16 bit, 214-2 hosts/mạng)
Dải địa chỉ lớp B: 128.0.0.0  191.255.255.255
 Lớp C: 192  x  223 netID = x.y.z (21 bit, 221-2 mạng con) hostID = t (8 bit, 28-2 hosts/mạng)
Dải địa chỉ lớp C: 192.0.0.0  223.255.255.255
 Lớp D: 224  x  239
Địa chỉ Multicast, không sử dụng để gán cho hosts
Dùng để gửi gói tin IP đến một nhóm host trên mạng
Dải địa chỉ lớp D: 224.0.0.0.  239.255.255.255
 Lớp E: 240  x  254
Địa chỉ được để dành, chưa sử dụng
Dải địa chỉ lớp E: 240.0.0.0  254.255.255.255

42
Một số địa chỉ IP đặc biệt

 0.0.0.0: This is the first IP address of IP addresses. It represents all networks.


 255.255.255.255: This is the last IP address of IP addresses. It represents all hosts
 127.0.0.0  127.255.255.255: Loopback address. Reserved for IP protocol testing and
troubleshooting. Virtual interfaces such as loopback adaptor use this IP range for
addressing.
 Địa chỉ riêng dùng để gán cho các máy tính bên trong một mạng. Các host không yêu cầu
truy cập từ bên ngoài Internet có thể sử dụng dải địa chỉ này.

Lớp A : 10.0.0.0  10.255.255.255 (10.0.0.0/8)

Lớp B : 172.16.0.0  172.31.255.255 (172.16.0.0/12)

Lớp C : 192.168.0.0  192.168.255.255 (192.168.0.0/16)
 Địa chỉ liên kết nội bộ: 169.254.0.0  169.254.255.255 (169.254.0.0/16) được gán tự động
cho các host nội bộ không được cấp địa chỉ IP
 Địa chỉ TEST-NET: 192.0.2.0  192.0.2.255 (192.0.2.0/24) giành cho mục đích học tập
nghiên cứu, sử dụng trong tài liệu hướng dẫn và các ví dụ mạng
 Địa chỉ dự trữ, không sử dụng: 240.0.0.0  255.255.255.254

43
Một số địa chỉ IP đặc biệt

 Địa chỉ mạng (Network Address): là địa chỉ IP mà giá trị của tất cả các bits ở netID đều =
0, được sử dụng để xác định một mạng.
- Từ địa chỉ IP, xác định lớp mạng => Xác định thành phần NetworkID, HostID
- Tạo địa chỉ Network Address bằng cách: Giữ nguyên NetworkID, đặt các bit HostID = 0
- Ví dụ: IP addr = 192.168.1.15 => Network Address = 192.168.1.0
 Địa chỉ quảng bá (Broadcast Address) : là địa chỉ IP mà giá trị của tất cả các bits ở phần
hostID đều = 1, được sử dụng để chỉ tất cả các máy tính trong một mạng.
- Từ địa chỉ IP, xác định lớp mạng => Xác định thành phần NetworkID, HostID
- Tạo địa chỉ Broadcast Address bằng cách: Giữ nguyên NetworkID, đặt các bit HostID = 1
- Ví dụ: IP addr = 192.168.1.15 => Broadcast Address = 192.168.1.255
 Tạo điạ chỉ mặt nạ mạng (Netmask Address):
• Từ địa chỉ IP, xác định lớp mạng => Xác định thành phần NetworkID, HostID
• Tạo địa chỉ Broadcast Address bằng cách: đặt các bit NetworkID = 1, đặt các bit HostID = 0
Ví dụ: IP addr = 192.168.1.15 => Netmask Address = 255.255.255.0

44
Một số địa chỉ IP đặc biệt

 Mặt nạ mạng chuẩn (Netmask) : là địa chỉ IP mà giá trị của các bits ở phần nhận
dạng mạng đều = 1, các bits ở phần nhận dạng máy tính đều = 0.
 Có 3 loại mặt nạ mạng mặc định (Default Netmask) tương ứng cho 3 lớp mạng A,
B và C:
Mặt nạ mạng lớp A : 255.0.0.0
Mặt nạ mạng lớp B : 255.255.0.0
Mặt nạ mạng lớp C : 255.255.255.0
 Địa chỉ mạng và địa chỉ broadcast: là địa chỉ đầu và địa chỉ cuối trong một mạng
và không dùng để gán cho các host
 Địa chỉ mạng, địa chỉ quảng bá, mặt nạ mạng không được dùng để gán địa chỉ cho
các host.

45
Ý nghĩa của Netmask

 Với một địa chỉ IP và một Netmask cho trước, ta có thể dùng phép toán AND bit để tính
ra được địa chỉ mạng mà địa chỉ IP này thuộc về.
 Công thức như sau :
Network Address = IP Address AND Netmask Address

46
Special IP addresses

47
IPv4 Unicast, Broadcast, and Multicast - Truyền thông unicast

 Trong một mạng IPv4, các host có thể truyền thông với các host khác bằng ba
cách khác nhau: Unicast, Broadcast và Multicast
 Unicast: Gửi gói tin từ một host tới một host cụ thể nào đó

48
IPv4 Unicast, Broadcast, and Multicast - Truyền thông broadcast

• Broadcast: gửi một gói tin từ một host tới tất cả các host còn lại trong mạng.
• Router không chuyển tiếp các gói tin limited Broadcast
• Directed broadcast

Đích: 172.16.4.255

Các host trong mạng172.16.4.0/24

Directed broadcast
• Destination
172.16.4.255
• Hosts within the
172.16.4.0/24
network

49
IPv4 Unicast, Broadcast, and Multicast - Truyền thông multicast

Multicast: gửi gói tin từ một host tới một nhóm các host nào đó, các host này có thể
ở các mạng khác nhau

Giảm lưu lượng trên mạng

Địa chỉ nhóm multicast : 224.0.0.0  239.255.255.255 

Liên kết nội bộ:  224.0.0.0  224.0.0.255. Ví dụ: thông tin định tuyến trao đổi bởi các giao thức
định tuyến.

Các địa chỉ phạm vi toàn cầu: 224.0.1.0  238.255.255.255. Ví dụ: 224.0.1.1 được dùng cho giao
thức NTP (Network Time Protocol)

50
PHÂN MẢNH GÓI TIN IPv4
(IP Fragmentation)

51
Phân mảnh và hợp nhất các gói IP

 Tầng network thiết lập các IP datagram


 Tầng Datalink qui định kích thước lớn nhất của một Frame có thể gửi đi trên đường
truyền: MTU (Maximum Transfer Unit )
 Trước khi gửi, tầng network so sánh với kích thước gói tin với giá trị MTU của tầng
Datalink
 Nếu kích thước IP datagram lớn hơn MTU thì tầng network phải phân mảnh thành các
gói nhỏ hơn.
 Quá trình ngược lại sẽ được thực hiện tại phía nhận.

52 52
Maximum Transmission Unit

• Maximum size of IP datagram is 65535, but the data link layer protocol generally imposes
a limit that is much smaller
• Example: Ethernet frames have a maximum payload of 1500 bytes. IP datagrams
encapsulated in Ethernet frame cannot be longer than 1500 bytes
• The limit on the maximum IP datagram size, imposed by the data link protocol is called
maximum transmission unit (MTU)

• MTUs for various data link protocols:


Ethernet: 1500 bytes FDDI: 4352 bytes
802.3: 1492 bytes ATM AAL5: 9180 bytes
802.5: 4464 bytes PPP: negotiated

53
IP Fragmentation

 What if the size of an IP datagram exceeds the MTU? IP datagram is fragmented into
smaller units.
 What if the route contains networks with different MTUs?
MTUs: FDDI: 4352 bytes Ethernet: 1500 bytes
 Fragmentation:

IP router splits the datagram into several datagram

Fragments are reassembled at receiver
 Fragmentation can be done at the sender or at intermediate routers
 The same datagram can be fragmented several times.
 Reassembly of original datagram is only done at destination hosts !!

54
What’s involved in Fragmentation?

 The following fields in the IP header are involved:


 Identification When a datagram is fragmented, the identification is the same in all
fragments
 Fragment offset : Offset of the payload of the current fragment in the original datagram
 Total length: Total length of the current fragment
 Flags
DF bit is set(=1): Datagram cannot be fragmented and must be discarded if MTU is too small
MF bit set (=1): This datagram is part of a fragment and an additional fragment follows this
one

55
Determining the length of fragments

Ví dụ 1: A datagram with size 2400 bytes must be fragmented according to an MTU limit of 1000 bytes

 Trường fragment offset của gói tin IP có chiều dài 13 bits, lưu giá trị là bội của 8.
 Mỗi gói tin có chiều dài header = 20 bytes
 Do đó phần dữ liệu gói tin có chiều dài  1000 – 20 = 980.
 Chọn một giá trị và bội của 8 và  980. Chọn kích thước đoạn dữ liệu của gói tin = 976
 Đoạn dữ liệu (payload) của gói tin 1: từ bytes 0 đến byte 975
 Đoạn dữ liệu (payload) của gói tin 2: từ bytes 976 đến byte 9762 – 1 = 1951
 Đoạn dữ liệu (payload) của gói tin 3: từ bytes 1952 đến byte 2380 – 1 = 2379

56
Example of Fragmentation

 Giá trị fragment offset của gói tin 1: 0 DF = 0, MF = 1


 Giá trị fragment offset của gói tin 2: 976/8 = 122 DF = 0, MF = 1
 Giá trị fragment offset của gói tin 3: 1952/8 = 224 DF = 0, MF = 0

57
Example of Fragmentation

58
Example of Fragmentation

Ví dụ 2:
 The first fragment has an offset of 0, the length of this fragment is 1500; this
includes 20 bytes for the slightly modified original IP header.
 The second fragment has an offset of 185 (185 x 8 = 1480), which means that the
data portion of this fragment starts 1480 bytes into the original IP datagram. The
length of this fragment is 1500; this includes the additional IP header created for
this fragment.

59
Example of Fragmentation

 The third fragment has an offset of 370 (370 x 8 = 2960), which means that the
data portion of this fragment starts 2960 bytes into the original IP datagram. The
length of this fragment is 1500; this includes the additional IP header created for
this fragment.
 The fourth fragment has an offset of 555 (555 x 8 = 4440), which means that the
data portion of this fragment starts 4440 bytes into the original IP datagram. The
length of this fragment is 700 bytes; this includes the additional IP header created
for this fragment.

60
Example of Fragmentation

 It is only when the last fragment is received that the size of the original IP
datagram can be determined.
 The fragment offset in the last fragment (555) gives a data offset of 4440 bytes into
the original IP datagram. If you then add the data bytes from the last fragment
(680 = 700 - 20), that gives you 5120 bytes, which is the data portion of the original
IP datagram. Then, adding 20 bytes for an IP header equals the size of the original
IP datagram (4440 + 680 + 20 = 5140).

61
PHÂN CHIA MẠNG CON IPv4
(IPv4 subnetting)

62
Subnetting

 Subneting là quá trình chia một mạng lớn thành các mạng con nhỏ.
 Ưu điểm
• Tiết kiệm số lượng địa chỉ IP v4 hiện nay, do số lượng người truy cập Internet ngày càng nhiều.
• Chia nhỏ miền quảng bá (Broadcast Domain), tối ưu hóa lưu lượng mạng và nâng cao hiệu
năng của hệ thống mạng, dễ dàng quản lý mạng
• Giới hạn trong phạm vi từng mạng con các sự cố có thể xảy ra (không ảnh hưởng tới toàn
mạng) Giảm nghẽn mạng bằng cách tái định hướng các giao vận và giới hạn các thông điệp
quảng bá.
• Tối ưu việc thực hiện routing cho hệ thống thông qua các supernet (các mạng cha).
• Giảm % thời gian sử dụng CPU do giảm lưu lượng của các giao vận quảng bá
• Tăng tính an toàn và tiết kiệm hơn cho người sử dụng internet
• 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

63
Subnetting

 Ý tưởng: Mượn một số bit ở phần host ID làm network ID, các bit mượn được gọi là subnet bit
 Có 2 cách chia địa chỉ IP cho mạng con cơ bản là Classfull và VLSM

64
Kỹ thuật phân mạng con

 Phần định danh mạng (netID) của địa chỉ


mạng ban đầu được giữ nguyên
 Phần định danh host (hostID) địa chỉ mạng
ban đầu được chia thành 2 phần :
Phần định danh mạng con (subnetID)
Phần định danh host trong mạng con (hostID)

 Mặt nạ mạng con là một địa chỉ IP có:


Các bit netID = 1và các bit subnetID = 1
Các bit hostID = 0

65
Phương pháp phân lớp hoàn toàn (Classfull Standard)

 Từ subnetmask, ta có thể xác định địa chỉ mạng con (Subnetwork Address) :
SubNetwork Address = IP Address AND SubnetMask
 Có hai chuẩn phân chia mạng con:
Chuẩn phân lớp hoàn toàn (Classfull standard)
Chuẩn CIDR (Classless Inter-Domain Routing ).

66
Các bước phân chia mạng con

Cho một mạng có địa chỉ mạng: x.y.z.t/netid. Cần chia mạng này thành n mạng con.
Bước 1: Xác định m bits SubnetID cần mượn từ hostID
• Gọi n là số mạng con cần chia
• Chọn m là số bit SubnetID cần mượn : 2m – 2  n (chọn m bé nhất)
• Số mạng con được chia : 2m
• Bước nhảy của địa chỉ mạng con: 28-m
• Số bit của Subnet mask của mạng con = Subnet mask ban đầu + m
• Hoán vị m bit vay mượn để tạo các mạng con
Bước 2: Xác định các địa chỉ của các mạng con
• Địa chỉ mạng con.
• Địa chỉ host đầu tiên của mạng con: Địa chỉ subnetwork + 1
• Địa chỉ host cuối của mạng con.
• Địa chỉ Broadcast của mạng con
• Địa chỉ mạng kế tiếp: Địa chỉ mạng trước + bước nhảy (28-m )
Lưu ý: Có 02 cách chọn số mạng con: 2n-2 và 2n.
67
Subnetting

Ví dụ 3: Cho mạng có địa chỉ 192.168.1.0/24. Chia mạng này thành 6 mạng con.
Bước 1: Xác định m bits SubnetID cần mượn từ hostID
• Số mạng con cần chia: n = 6
• Chọn m là số bit SubnetID cần mượn : 2m – 2  6 => Chọn m = 3
• Số mạng con được chia : 2m = 23 = 8
• Bước nhảy giữa các mạng con: 28-m = 28-3 = 32
• Số bit của Subnet mask mới = Subnet mask ban đầu + m = 24 + 3 = 27
• Hoán vị m = 3 bit vay mượn để tạo các mạng con: 000, 001, 010, 011, 100, 101, 110, 111
Bước 2: Xác định các địa chỉ của các mạng con
• Địa chỉ mạng con.
• Địa chỉ host đầu tiên của mạng con: Địa chỉ subnetwork + 1
• Địa chỉ host cuối của mạng con.
• Địa chỉ Broadcast của mạng con
• Địa chỉ mạng kế tiếp: Địa chỉ mạng trước + bước nhảy (28-m )

68
Subnetting

Bước 2: Xác định các địa chỉ của các mạng con
• Địa chỉ mạng con.
• Địa chỉ host đầu tiên của mạng con: Địa chỉ subnetwork + 1
• Địa chỉ host cuối của mạng con.
• Địa chỉ Broadcast của mạng con
• Địa chỉ mạng kế tiếp: Địa chỉ mạng trước + bước nhảy (28-m)

Mạng con thứ 1:


1) Địa chỉ mạng con: 192.168.1.00000000
2) Subnet mask: 255.255.255.0
3) Địa chỉ IP khả dụng: 192.168.1.00000001  192.168.1.00011110
4) Địa chỉ broadcast: 192.168.1.00011111
Mạng con thứ 2: …

69
Subnetting

Bước 2: Xác định các địa chỉ của các mạng con
STT Network Address Host Address Broadcast Address

1Hoán vị 3192.168.1.00000000
bit: 000, 001, 010, 011, 100, 101, 110, 111
192.168.1.00000001  192.168.1.00011110 192.168.1.00011111
• Địa chỉ mạng con.
192.168.1.0/27 192.168.1.1  192.168.1.30 192.168.1.31
• Địa chỉ host đầu tiên của mạng con: Địa chỉ subnetwork + 1
• 2Địa chỉ host
192.168.1.00100000
cuối của mạng con.
192.168.1.00100001  192.168.1.00111110 192.168.1.00111111
• Địa chỉ Broadcast của
192.168.1.32/27mạng con 192.168.1.63
192.168.1.33  192.168.1.62
• Địa chỉ mạng kế tiếp: Địa chỉ mạng trước + bước nhảy (28-n )
3 192.168.1.01000000 192.168.1.01000001  192.168.1.01011110 192.168.1.01011111
192.168.1.64/27 192.168.1.65  192.168.1.94 192.168.1.95

4 192.168.1.01100000 192.168.1.01100001  192.168.1.01111110 192.168.1.01111111


192.168.1.96/27 192.168.1.97  192.168.1.126 192.168.1.127

5 192.168.1.10000000 192.168.1.10000001  192.168.1.10011110 192.168.1.10011111


192.168.1.128/27 192.168.1.129  192.168.1.158 192.168.159

6 192.168.1.10100000 192.168.1.10100001  192.168.1.10111110 192.168.1.10111111


192.168.1.160/27 192.168.1.161  192.168.1.190 192.168.1.191

7 192.168.1.11000000 192.168.1.11000001  192.168.1.11011110 192.168.1.11011111


192.168.1.192/27 192.168.1.193  192.168.1.222 192.168.1.223

8 192.168.1.11100000 192.168.1.11100001  192.168.1.11111110 192.168.1.11111111


192.168.1.224/27 192.168.1.225  192.168.1.254 192.168.1.255

70
Subnetting

Bước 3: Phân tích:


• Mạng ban đầu: 192.168.1.0/24: Có 28 – 2 = 254 host/mạng
• Sau khi chia thành 8 mạng con: 192.168.1.0/27
• Mỗi mạng con có 25 – 2 = 30 hosts/mạng
• Tổng địa chỉ host của các mạng con: 30  8 = 240 hosts
>> Mất 14 địa chỉ so với mạng ban đầu ?

71
Subnetting

Ví dụ 4:
a. Cho mạng có địa chỉ 203.192.1.0/24. Chia mạng này thành 10 mạng con?
b. Cho mạng có địa chỉ 10.10.1.0/8. Chia mạng này thành 14 mạng con?
c. Cho mạng có địa chỉ 131.72.0.0/16. Chia mạng này thành 5 mạng con?

72
Subnetting

Ví dụ 1: Chia Net ID: 203.162.4.0/24 tăng 2 bit (n = 2)


1. Số Subnet: 2^n = 2^2 = 4
2. Số Host trên Subnet : 2^6 – 2 = 62
3. Bước nhảy: 2^6 = 64
4. Subnet mask mới: 256 – Bước nhảy = 256 – 64 = 192
Subnet mới: 255.255.255.255.192 = 11111111.11111111.11111111.11000000 => /26
5. Các Subnet ID:
+ Subnet ID đầu tiên = 0 => 203.162.4.0/26. Subnet ID kế tiếp = Subnet hiện tại + Bước nhảy
203.162.4.64/26 Host cuối:
Host đầu: Broadcast:
Subnet ID Subnet ID + Bước
203.162.4.128/26 Subnet ID + 1
nhảy – 2
Host cuối + 1

203.162.4.192/26 203.162.4.0/26 203.162.4.1 203.162.4.62 203.162.4.63


203.162.4.64/26 203.162.4.65 203.162.4.126 203.162.4.127
203.162.4.128/26 203.162.4.129 203.162.4.190 203.162.4.191
203.162.4.192/26 203.162.4.193 203.162.4.254 203.162.4.255

73
Subnetting

Ví dụ 2: Từ địa chỉ của 1 host, xác định host đó thuộc vùng mạng (Net ID) nào?
Cho IP: 203.162.4.165 Subnet Mask: 255.255.255.224
Ta thấy giá trị SM: 255.255.255.224 = 11111111 . 11111111 . 11111111 . 11100000
=> Số bit 0 còn lại của SM là: m = 5
=> Bước nhảy = 2m = 25 = 32
=> Ta lấy 165 : 32 = 5,15625
=> Ta lấy phần nguyên của kết quả trên tức là 5 x 32 = 160
=> Host trên thuộc Net ID: 203.162.4.160

Nhận xét: Đối với cách chia trên ta thấy số IP (hay còn gọi là host) trong mỗi 1 subnet là như nhau

74
75
KỸ THUẬT CHIA MẠNG CON VLSM
(Variable Length Subnet Mask)

76
Kỹ thuật chia mạng con VLSM

 Ví dụ một công ty có địa chỉ


mạng 192.168.10.0/24 yêu 192.168.10.0/24
192.168.10.64/27
cầu chia IP đủ cho các chi
nhánh và các IP giữa các KL 28 Hosts

Router :
 Mạng con cần ít IP như giữa
192.168.10.128/30
2 đầu nối router: netmask là 192.168.10.132/30 192.168.10.136/30
/30
 Mạng con cần nhiều IP: Perth Sydney Singapore
netmask là /26.
192.168.10.0/26 192.168.10.96/28 192.168.10.112/28

60 Hosts 12 Hosts 12 Hosts

77
Kỹ thuật chia mạng con VLSM

 Kỹ thuật chia mạng con VLSM giúp quản lý dãy địa chỉ IP chặt chẽ hơn, kiểm
soát được số mạng mới sinh ra, số mạng đã dùng.
 Số subnet được tạo ra = 2m (với m là số bit mượn từ HostID)
 Số host cần tạo = 2n – 2 (với n là số bit của HostID còn lại sau khi mượn)
 Số bit subnet mới = số bit subnet cũ + m

78
Kỹ thuật chia mạng con VLSM

Ví dụ 5: Chia mạng 172.16.0.0/16 thành các mạng con có số host như sau:
Mạng con A: Có 300 hosts
Mạng con B: Có 100 hosts
Mạng con C: Có 50 hosts
Mạng con D: Có 5 hosts
Mạng con E: Có 5 hosts
Mạng con F: Có 5 hosts

Bước 0: Sắp xếp các mạng con theo thứ tự giảm dần số hosts.

79
Kỹ thuật chia mạng con VLSM

Bước 1: Phân chia mạng con A có 300 hosts


 Mạng ban đầu: 10101100.00010000.00000000.00000000
172.16.0.0/16
 Tính số bit hostID cần cho mạng con A: 2h – 2 >= 300 Chọn h = 9 bits hostID
 Số bit mượn làm subnetID: m = 32 (số bit dãy IPv4) – 16 (số bit của NetID đã
cho) – 9 (số bit còn lại) = 7
 Số bit của Subnet mask mới: 16 (số bit SM ban đầu) + 7 = 23
 Số mạng con (subnet) được tạo ra là: 2m = 27 = 128 mạng con
 Với subnet mask thay đổi từ /16 sang /23, ta tính địa chỉ dãy mạng bằng cách thay
đổi 7 bit vào octect thứ 3 để làm NetID (lưu ý chỉ thay đổi 0 và 1 tối đa 7 bit từ trái
sang phải tại octect thứ 3)

80
Kỹ thuật chia mạng con VLSM

 Xác định các mạng con được tạo thành với số bit subnetID = 7 (Lần lượt hoán vị 7 bit)
• Mạng A1: 10101100.00010000.00000000.00000000 172.16.0.0/23
• Mạng A2: 10101100.00010000.00000010.00000000 172.16.2.0/23
• Mạng A3: 10101100.00010000.00000100.00000000 172.16.4.0/23
• ….
• Mạng A127: 10101100.00010000.11111100.00000000 172.16.252.0/23
• Mạng A128: 10101100.00010000.11111110.00000000 172.16.254.0/23
 Chú ý: các dãy mạng có bước nhảy là 2, ta sẽ lấy dãy mạng đầu tiên để cấp cho các host từ lớn đến
nhỏ. Khi hết một mạng con, ta sẽ lấy dãy mạng liền kề để cấp host cho các mạng con tiếp theo.
>> Chọn mạng A1 cho mạng con A có 300 hosts :
1) Địa chỉ mạng con A: 172.16.0.0/23
2) Subnet mask: 255.255.254.0
3) Địa chỉ IP khả dụng: 10101100.00010000.00000000.00000001  10101100.00010000.00000001.1111110
172.16.0.1  172.16.1.254
4) Địa chỉ broadcast: 10101100.00010000.00000001.11111111 172.16.1.255

81
Kỹ thuật chia mạng con VLSM

Bước 2: Phân chia mạng con B có 100 hosts


 Mạng A2: 10101100.00010000.00000010.00000000/23  172.16.2.0/23
 Dùng mạng A2 để chia cho mạng B có 100 hosts
 Tính số bit hostID cần cho mạng A2: 2h -2  100, chọn h = 7 bits cho hostID
 Số bit subnetID vay mượn: m = 32 – 23 – 7 = 2, có 2m = 22 mạng con.
 Xác định các mạng con khả dụng từ mạng A2 :
• Mạng A21: 10101100.00010000.00000010.00000000 172.16.2.0/25
• Mạng A22: 10101100.00010000.00000010.10000000 172.16.2.128/25
• Mạng A23: 10101100.00010000.00000011.00000000 172.16.3.0/25
• Mạng A24: 10101100.00010000.00000011.10000000 172.16.3.128/25
>> Chọn mạng A21 cho mạng B 100 hosts :
1) Địa chỉ mạng: 172.16.2.0/25
2) Subnet mask:  11111111.11111111.11111111.10000000 255.255.255.128
3) Dãy địa chỉ IP khả dụng: 172.16.2.1  172.16.2.126
4) Broadcast IP:  10101100.00010000.00000010.01111111 172.16.2.127

82
Kỹ thuật chia mạng con VLSM

Bước 3: Phân chia mạng con C có 50 hosts


 Mạng A22: 10101100.00010000.00000010.10000000 172.16.2.128/25
 Chọn mạng A22 để chia cho mạng C 50 hosts
 Tính số bit hostID cần cho mạng C: 2h -2  50, chọn h = 6 cho hostID
 Số bit vay mượn: m = 32 – 25 – 6 = 1, có 2m = 21 mạng con.
 Liệt kê các mạng con của A22:
 Mạng A221: 10101100.00010000.00000010.10000000/26 172.16.2.128/26
 Mạng A222: 10101100.00010000.00000010.11000000/26 172.16.2.192/26

>> Chọn mạng A221 cho mạng con C


1) Địa chỉ mạng: 172.16.2.128/26
2) Subnet mask: 255.255.255.192
3) Dãy địa chỉ IP khả dụng: 172.16.2.129  172.16.2.190
4) Địa chỉ Broadcast : 172.16.2.191

83
Kỹ thuật chia mạng con VLSM

Bước 4: Phân chia mạng con D có 5 hosts


 Chọn mạng A222: 10101100.00010000.00000010.11000000/26 172.16.2.192/26
 Dùng tiếp mạng A222 để chia cho mạng D có 5 hosts
 Tính số bit hostID cần cho mạng D: 2h -2  5, chọn h = 3 cho hostID
 Số bit vay mượn: m = 32 – 26 – 3 = 3, có 2m = 23 mạng con.
 Liệt kê các mạng con của mạng A222:
Mạng A2221: 10101100.00010000.00000010.10000000/29 172.16.2.192/29
Mạng A2222: 10101100.00010000.00000010.11001000/29 172.16.2.200/29
Mạng A2223: 10101100.00010000.00000010.11010000/29 172.16.2.208/29

Mạng A2228: 10101100.00010000.00000010.11111000/29

>> Chọn mạng A2221 cho mạng con D


1) Địa chỉ mạng con D: 172.16.2.192/29
2) Subnet mask: 255.255.255.248
3) Dãy địa chỉ IP khả dụng: 172.16.2.193  172.16.2.198
4) Địa chỉ Broadcast : 10101100.00010000.00000010.10000111 172.16.2.199

84
Kỹ thuật chia mạng con VLSM

Bước 5: Phân chia mạng con E có 5 hosts


 Chọn mạng A2222: 10101100.00010000.00000010.11001000/29
 Chọn mạng con A2222 cho mạng E có 5 host
1) Địa chỉ mạng con E: 172.16.2.200/29
2) Subnet mask: 255.255.255.248
3) Dãy địa chỉ IP khả dụng: 172.16.2.201  172.16.2.206
4) Địa chỉ Broadcast: 172.16.2.207
Bước 6: Chia mạng con F có 5 hosts
 Chọn mạng A2223: cho mạng F có 5 host
1) Địa chỉ mạng con E: 172.16.2.208/29
2) Subnet mask: 255.255.255.248
4) Dãy địa chỉ IP khả dụng: 172.16.2.209  172.16.2.214
5) Địa chỉ Broadcast: 172.16.2.215

85
Kỹ thuật chia mạng con VLSM

Ví dụ 5: Chia mạng 172.16.0.0/16 thành các mạng con


http://vlsmcalc.net/

http://vlsmcalc.net/
http://www.ip-calc.com/
https://subnettingpractice.com/vlsm.html

Subnet Needed Allocated


Address Mask Dec Mask Assignable Range Broadcast
Name Size Size
A 300 510 172.16.0.0 /23 255.255.254.0 172.16.0.1 - 172.16.1.254 172.16.1.255
B 100 126 172.16.2.0 /25 255.255.255.128 172.16.2.1 - 172.16.2.126 172.16.2.127
C 50 62 172.16.2.128 /26 255.255.255.192 172.16.2.129 - 172.16.2.190 172.16.2.191
D 50 62 172.16.2.192 /26 255.255.255.192 172.16.2.193 - 172.16.2.254 172.16.2.255
E 5 6 172.16.3.0 /29 255.255.255.248 172.16.3.1 - 172.16.3.6 172.16.3.7
F 5 6 172.16.3.8 /29 255.255.255.248 172.16.3.9 - 172.16.3.14 172.16.3.15

86
Kỹ thuật chia mạng con VLSM

Ví dụ: Một mạng có địa chỉ 205.16.32.0 và mặt nạ 255.255.248.0. Một router nhận
được 3 gói tin tới các địa chỉ dưới đây. Gói tin nào sau thuộc mạng 205.16.32.0 ?
1. 205.16.37.44
2. 205.16.42.56
3. 205.17.33.76

Trả lời: Thực hiện phép AND với mặt nạ để biết netid
1. 205.16.37.44 AND 255.255.248.0 = 205.16.32.0
2. 205.16.42.56 AND 255.255.248.0 = 205.16.40.0
3. 205.17.33.76 AND 255.255.248.0 = 205.17.32.0

87
Kỹ thuật gộp mạng (supernetting)

 Ngược với chia nhỏ mạng: kết hợp nhiều mạng thành mạng lớn hơn.
 Chú ý: số mạng con để gộp phải là luỹ thừa của 2 và có dải địa chỉ liên tục.
 Dùng để kết hợp nhiều subnet khác nhau thành 1 subnet chung, có thể truyền
thông được với nhau.
– Cách thực hiện : theo qui tắc 2^1, 2^2, 2^3, 2^4 …..
– Nếu có 2 mạng  qui tắc 2^1.
– Nếu có 4 mạng  qui tắc 2^2……

88
Kỹ thuật gộp mạng (supernetting)

 Cách tính supper subnet :


 Ví dụ : có 8 mạng sau đây
194.10.1.0 / 24 (255.255.255.0)
194.10.2.0 / 24
194.10.3.0 / 24
194.10.4.0 / 24
194.10.5.0 / 24
194.10.6.0 / 24
194.10.7.0 / 24
194.10.8.0 / 24

 Áp dụng qui tắc 2^3. Vì 2^3 = 8 mạng có 24 bit – 3 = 21 bit


 >> Tất cả các mạng trên sẽ có subnet là 21 bit.

89
Kỹ thuật gộp mạng (supernetting)

Ví dụ: Một công ty cần 600 địa chỉ IP. Có thể gộp các nhóm mạng nào dưới đây?
1. 198.47.32.0, 198.47.33.0, 198.47.34.0
2. 198.47.32.0, 198.47.42.0, 198.47.52.0, 198.47.62.0
3. 198.47.31.0, 198.47.32.0, 198.47.33.0, 198.47.34.0
4. 198.47.32.0, 198.47.33.0, 198.47.34.0, 198.47.35.0
Trả lời
1. Không, vì chỉ có 3 mạng con
2. Không, vì địa chỉ không liên tục
3. Không, vì địa chỉ mạng đầu tiên không chia hết 4
4. Có

90
Kỹ thuật Classless Inter-Domain Routing

VLSM(Variable Lenght Subnet Maks)


• VLSM ( Variable Lenght Subnet Maks) là một kỹ thuật để chia Subnet một cách
hiệu quả hơn: Nếu mạng con cần ít IP thì sử dụng netmask lớn, với mạng con cần
nhiều IP thì dùng netmask ngắn lại.
CIDR (Classless Interdomain Routing)
• CIDR (Classless Interdomain Routing) là một kỹ thuật để gộp (aggregation) các
địa chỉ mạng lại thành một địa chỉ mới.
• CIDR khắc phục được vấn đề thiếu hụt địa chỉ IP và bảng định tuyến lớn
• Ví dụ : có 8 địa chỉ lớp C : 192.168.48.0/24 -192.168.55.0/24, nếu sử dụng trong
bảng định tuyến sẽ dùng 8 câu lệnh route, nếu sử dụng CIDR thì 8 địa chỉ có thể
được biểu diễn bằng 1 địa chỉ duy nhất 192.168.48.0/21.

91
Kỹ thuật Classless Inter-Domain Routing

 Hai cách biểu diễn:


1. Subnet mask: IP: 141.14.78.47 Subnet mask: 255.255.192.0
2. CIDR: 141.14.78.47/18
 Ký hiệu CIDR: xxx.xxx.xxx.xxx/n với trong đó n là số lượng các bit '1' (ngoài
cùng bên trái) trong mặt nạ.
 Ví dụ: ký hiệu CIDR 192.168.12.0/23

Áp dụng mặt nạ mạng 255.255.254.0 cho mạng 192.168, bắt đầu từ 192.168.12.0.

Đại diện cho dải địa chỉ 192.168.12.0 - 192.168.13.255. So với mạng truyền thống dựa trên lớp,
192.168.12.0/23 đại diện cho một tập hợp của hai lớp con C lớp 192.168.12.0 và 192.168.13.0
mỗi có mặt nạ mạng con của 255.255.255.0.

192.168.12.0/23 = 192.168.12.0/24 + 192.168.13.0/24
 Ví dụ: ký hiệu CIDR 10.4.12.0/22 đại diện cho dải địa chỉ 10.4.12.0 - 10.4.15.255
(mặt nạ mạng 255.255.252.0). Tương đương với 4 mạng lớp C (nằm trong không
gian lớp A)
92

You might also like