21
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG --------&-------- TIỂU LUẬN MÔN: MẠNG MÁY TÍNH CHỦ ĐỀ: GIAO THỨC LÊN MẠNG IPv4 VÀ BÀI TOÁN CHIA MẠNG CON DẠNG VLSM Giảng viên hướng dẫn: Thầy Trần Duy Minh Nhóm sinh viên: 1. Lục Văn Ngọc 2. Hoàng Thu Hà 3. Trần Công Thành 4. Trần Tuấn Vũ

IPv4 & Chia Mang Con VLSM

Embed Size (px)

DESCRIPTION

IPv4 & Chia Mang Con VLSM

Citation preview

Page 1: IPv4 & Chia Mang Con VLSM

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

--------&--------

TIỂU LUẬN MÔN: MẠNG MÁY TÍNH

CHỦ ĐỀ:

GIAO THỨC LÊN MẠNG IPv4 VÀ BÀI TOÁN

CHIA MẠNG CON DẠNG VLSM

Giảng viên hướng dẫn: Thầy Trần Duy Minh

Nhóm sinh viên:

1. Lục Văn Ngọc2. Hoàng Thu Hà3. Trần Công Thành4. Trần Tuấn Vũ

Thái Nguyên, Ngày 05/03/2015.

Page 2: IPv4 & Chia Mang Con VLSM

MỤC LỤC

Page 3: IPv4 & Chia Mang Con VLSM

PHẦN 1: KHÁI QUÁT VỀ IP

1.1. Khái quát về IP

Các thiết bị khi kết nối vào mạng cần sử dụng chung một giao thức. Giao thức được dùng nhiều nhất hiện nay là TCP/IP (Transmission Control Protocol/Internet Protocol), đây được coi là một giao thức làm nền tảng cho Internet.

Các thiết bị khi kết nối vào mạng

TCP/IP là một giao thức đáng tin cậy, dữ liệu được truyền thông qua các segment con và một session phải được thiết lập trước khi có thể truyền tải dữ liệu. TCP/IP quản lý lưu trữ bằng việc gán một số tăng tuần tự (sequence number) tới mỗi sement được truyền đi. Với mỗi một segment được gửi đi, host nhận được phải gửi trả lại một acknowledgment (ACK) trong một thời gian xác định. Nếu nơi gửi không nhận được một ACK đồng nghĩa với việc phiên làm việc đó không thành công, dữ liệu sẽ được truyền lại.

IP là một giao thức thuộc tầng mạng trong mô hình TCP/IP. Giao thức này quy định mỗi nút mạng (tức mỗi máy tính hay thiết bị mạng) đều phải được đánh dấu bằng một địa chỉ duy nhất, không trùng lắp, gọi là địa chỉ IP. Đơn giản hơn, có thể nói khi một máy tính A trong mạng TCP/IP gửi thông tin cho một máy tính B, có nghĩa là một nút mạng có địa chỉ IP_A đang làm việc với nút mạng có địa chỉ IP_B.

Địa chỉ IP được phát triển qua nhiều phiên bản, tuy nhiên có những phiên bản chỉ dùng để thử nghiệm. Hai phiên bản được ứng dụng trong thực tế là IPv4 (IP phiên bản 4) sử dụng 32 bit dữ liệu và IPv6 (IP phiên bản 6) sử dụng 128 bit dữ liệu.

Page 4: IPv4 & Chia Mang Con VLSM

1.2 Cấu trúc gói tin IP

bit

offset0–3 4–7 8–15 16–18 19–31

0

Version

(phiên

bản)

Header

length

(Độ dài

Header)

Differentiated

Services

(Phân loại dịch vụ)

Total Length (Tổng độ dài)

32 Identification (định dạng)Flags

(lá cờ)

Fragment Offset

(Vị trí phân rã offset)

64

Time to Live (Thời

gian giữ lại gói dữ

liệu)

Protocol (Giao

thức)Header Checksum (Mã kiểm soát lỗi)

96 Source Address (Địa chỉ máy trạm)

128 Destination Address (Địa chỉ máy đích)

160Options (if Header Length > 5)

(Tùy chọn (Nếu độ dài Header > 5))Padding (Vùng đệm)

160

or

192+

Data (Dữ liệu)

Bảng 1.2: Cấu trúc của gói tin IPv4

Một gói tin IP bao gồm một đoạn header và đoạn data. Header của gói tin IPv4 bao gồm 13 trường, trong đó 12 trường là bắt buộc:

Version (4 bit): Chỉ ra phiên bản IP đang được dùng là IPv4 (0100). Nếu trường này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ từ chối và loại bỏ các gói tin này. Bằng cách nhìn vào số phiên bản, Router có thể xác định phần còn lại của IP Datagram.

IP Header Length (IHL) (4 bit): Chỉ ra chiều dài của header, mỗi đơn vị là 1 word, mỗi word = 32 bit = 4 byte. Ở đây trường IP Header Length có 4 bit nên có 2^4 = 16 word = 16 x 4byte = 64 byte nên chiều dài header tối đa là 64 byte. Bình thường Hearder dài 20 byte. Đây là chiều dài của tất cả các thông tin Header.

Page 5: IPv4 & Chia Mang Con VLSM

Type Of Services (TOS) (8 bit): Chỉ ra cách thức xử lý gói dữ liệu, có độ ưu tiên hay không, độ trễ cho phép của gói dữ liệu. Trường này thường được dùng để thực hiện quản lý chất lượng dịch vụ mạng.

Total Length (16 bit): Chỉ ra chiều dài của toàn bộ IP Datagram tính theo byte, bao gồm data và phần header. Do có 16 bit nên tối đa là 2^16 = 65536 byte = 64 Kb nên chiều dài tối đa của 1 IP Datagram là 64 Kb.

Identification (16 bit): Chỉ mã số của 1 IP Datagram , giúp bên nhận có thể ghép các mảnh của 1 IP Datagram lại với nhau vì IP Datagram phân thành các mảnh và các mảnh thuộc cùng 1 IP Datagram sẽ có cùng Identification.

Flag (3 bit): Bit 0: không dùng, Bit 1: cho biết gói có phân mảnh hay không, Bit 2: nếu gói IP Datagram bị phân mảnh thì mảnh này cho biết mảnh này có phải là mảnh cuối không. Bao gồm 6 cờ: URG – cờ cho trường Urgent pointer, ACK – cờ cho trường Acknowledgement, PSH – hàm Push, RST – thiết lập lại đường truyền, SYN – đồng bộ lại số thứ tự, FIN – không gửi thêm dữ liệu.

Fragment Offset (13 bit): Báo bên nhận vị trí offset của các mảnh so với gói IP datagram gốc để có thể ghép lại thành IP datagram gốc.

Time To Live (TTL) (8 bit): Chỉ ra số bước nhảy (hop) mà một gói có thể đi qua. Con số này sẽ giảm đi 1, khi gói tin đi qua 1 router. Khi router nào nhận gói tin thấy TTL đạt tới 0 gói này sẽ bị loại. Đây là giải pháp nhằm ngăn chặn tình trạng lặp vòng vô hạn của gói tin trên mạng.

Protocol (8 bit): Chỉ ra giao thức nào của tầng trên (tầng Transport) sẽ nhận phần data sau khi công đoạn xử lí IP diagram ở tầng Network hoàn tất hoặc chỉ ra giao thức nào của tầng trên gởi segment xuống cho tầng Network đóng gói thành IP Diagram, mỗi giao thức có 1 mã (06: TCP, 17: UDP, 01: ICMP…).

Header CheckSum (16 bit): Hỗ trợ cho Router phát hiện lỗi bit trong khi nhận IP datagram. Giúp bảo đảm sự toàn vẹn của IP Header.

Source IP Address (32 bit): Chỉ ra địa chỉ của thiết bị truyền IP diagram (Xem cấu trúc của địa chỉ IPv4).

Destination IP Address (32 bit): Chỉ ra địa chỉ IP của thiết bị sẽ nhận IP diagram (Xem cấu trúc của địa chỉ IPv4).

IP Option: kích thước không cố định, chứa các thông tin tùy chọn như: Time stamp – thời điểm đã đi qua Router, Security – cho phép Router nhận gói dữ liệu không, nếu không thì gói sẽ bị hủy, Record Router – lưu danh sách địa chỉ IP của Router mà gói phải đi qua, Source Route – bắt buộc đi qua Router nào đó. Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa.

Page 6: IPv4 & Chia Mang Con VLSM

Padding: Các số 0 được bổ sung vào trường này để đảm bảo IP Header luôn là bội số của 32 bit.

Page 7: IPv4 & Chia Mang Con VLSM

PHẦN 2: ĐỊA CHỈ IPv4

Giao thức Internet phiên bản 4 (viết tắt IPv4, từ tiếng Anh Internet Protocol version 4) là phiên bản thứ tư trong quá trình phát triển của các giao thức Internet (IP). Đây là phiên bản đầu tiên của IP được sử dụng rộng rãi. IPv4 cùng với IPv6 (giao thức Internet phiên bản 6) là nòng cốt của giao tiếp internet. Hiện tại, IPv4 vẫn là giao thức được triển khai rộng rãi nhất trong bộ giao thức của lớp internet.

Giao thức này được công bố bởi IETF trong phiên bản RFC 791 (tháng 9 năm 1981), thay thế cho phiên bản RFC 760 (công bố vào tháng giêng năm 1980). Giao thức này cũng được chuẩn hóa bởi bộ quốc phòng Mỹ trong phiên bản MIL-STD-1777.

2.1 Cách biểu diễn địa chỉ IPv4

IPv4 sử dụng 32 bits để đánh địa chỉ, theo đó, số địa chỉ tối đa có thể sử dụng là 4.294.967.296 (2^32 địa chỉ). 32 bits địa chỉ của IP được chia thành 4 nhóm (dạng phân nhóm - dotted format), mỗi nhóm gồm 8 bits (gọi là một octet), các nhóm này phân cách nhau bởi dấu chấm.

Mỗi địa chỉ IP được chia làm 3 phần chính:

CLASS BIT NET ID HOST IDBit: 1 32

CLASS BIT: Bit nhận dạng lớp. NET ID: Địa chỉ của mạng. HOST ID: Địa chỉ của máy chủ.

Địa chỉ IP có thể được biểu diễn ở dạng nhị phân, thập phân, hệ cơ số 8... Các dạng biểu diễn đều được hệ thống chấp nhận.

Ví dụ: 192.168.0.1, 00010001.10000001.01011010.0001111.00001001

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

Địa chỉ IP phân lớp là một kiến trúc đánh địa chỉ mạng trên internet, phương pháp chia không gian địa chỉ IPv4 thành 5 lớp địa chỉ A, B, C, D và E. Mỗi lớp được phân biệt bằng 5 bit đầu tiên của octet đầu tiên trong địa chỉ IPv4. Mỗi lớp khác nhau có quy định khác nhau về kích thước mạng như số lượng host cho mạng unicast (lớp A, B, C) hay một mạng multicast (lớp D), lớp cuối cùng trong các lớp là lớp E được quy định dành để dự phòng hoặc dùng trong phòng thí nghiệm.

Đặc điểm của các lớp:

Page 8: IPv4 & Chia Mang Con VLSM

Lớp A: Có 8 bit trong phần định danh mạng và 24 bit trong phần định danh máy được dùng cho những mạng có số lượng địa chỉ IP rất lớn.

Lớp B: có 16 bit trong phần định danh mạng và 16 bit trong phần định danh máy được sử dụng cho các mạng có số lượng IP trung bình.

Lớp C có 24 bit trong phần định danh mạng và 8 bit trong phần định danh máy được sử dụng cho các mạng có số lượng địa chỉ IP nhỏ.

Hình 1.1: Các phân lớp địa chỉ IP

Số lượng địa chỉ IP hợp lệ có thể được gán cho host sẽ là 2^(số bit NET ID)-2. Ở đây bỏ đi 2 địa chỉ là địa chỉ khi các bit định danh mạng toàn 0 gọi là địa chỉ mạng và địa chỉ khi các định danh máy toàn là 1 được gọi Directed broadcast, 2 địa chỉ này không được dùng để gán cho các PC trên mạng.

Page 9: IPv4 & Chia Mang Con VLSM

2.3 Một vài khái niệm liên quan

Ta cần lưu ý các khai niệm này để vận dụng làm bài tập:

Địa chỉ mạng: Đây là địa chỉ đại diện cho một mạng nào đó. Tất cả các host trong 1 mạng sẽ có phần định danh mạng giống nhau.

Subnet Mask: Subnet mask dùng để xác định phần nào địa của địa chỉ IP thuộc về phần định danh mạng và phần nào thuộc về phần định danh máy. Đặc trưng để xác định số mạng con, quy mô của mạng. Các bit ở phần Net ID đều bằng 1.

Địa chỉ Broadcast: Đây là một địa chỉ đặc biệt được sử dụng để gửi dữ liệu tới tất cả các host trong mạng mà có phần định danh mạng giống nhau. Địa chỉ này có các bit ở phần Host ID đều bằng 1

Địa chỉ Host khả dụng đầu tiên: Sau địa chỉ mạng 1 đơn vị Địa chỉ Host khả dụng cuối: Trước địa chỉ Broadcast 1 đơn vị.

Hai công thức quan trọng:

Số địa chỉ khả dụng: 2^n – 2 với n là số bit phần Host ID Số mạng con khả dụng: 2^m với m là số bit mượn Subnet Mask

Ví dụ: Địa chỉ IP 192.168.1.0/24.

Đổi địa chỉ này sang hệ nhị phân được:

11000000.10101000.00000001.00000000

Subnet Mask: 11111111.11111111.11111111.00000000 255.255.255.9

Địa chỉ mạng: 11000000.10101000.00000001.00000000 192.168.1.0

Địa chỉ Broadcast: 11000000.10101000.00000001.11111111 192.168.1.255

Dải địa chỉ khả dụng: 192.168.1.1 đến 192.168.1.254

Số địa chỉ khả dụng: 2^8 – 2 = 254

Page 10: IPv4 & Chia Mang Con VLSM

PHẦN 3: BÀI TOÁN CHIA MẠNG CON DẠNG VLSM

3.1 Chia mạng con VLSM.

VLSM là viết tắt của Variable length subnet mask, variable là biến số, hiểu nôm na là phương pháp thay đổi độ dài của subnet mask từ đó sinh ra các mạng con. Đây là một cách chia mạng con (subnet) tối ưu hơn FLSM, nó dựa trên nhu cầu số Host IP của mỗi đường mạng (subnet) mà ta chia. Do đó sẽ tiết kiệm tối đa được IP thừa trên mỗi subnet. Lưu ý subnet mask (phần /xx) của mỗi đường. Phương pháp này sẽ giúp chúng ta kiểm soát được số mạng mới sinh ra, số mạng đã dùng, số mạng dư thừa còn lại.

Kiến thức cần nhớ:

Bit, byte. Chuyển đổi giữ số nhị phân và thập phân thành thạo (sử dụng phương pháp

bù trừ hoặc chia cho 2). Phép toán logic AND. Cấu trúc địa chỉ IP, giới hạn của các lớp IP. Các khái niệm default mask, mask, subnet, subneting:

o Địa chỉ mạng (subnet): Tất cả các bit dành cho phần host bằng 0o Địa chỉ broadcast: Tất cả các bit dành cho phần host bằng 1.o Địa chỉ đầu tiên hợp lệ: Là địa chỉ liền sau địa chỉ mạng (subnet).o Địa chỉ cuối cùng hợp lệ: Là địa chỉ liền trước địa chỉ broadcast

Công thức áp dụng:

Địa chỉ mạng = IP AND Subnet mask (chuỗi nhị phân). Số host cần tạo = 2^n – 2 với n là số bit của HostID còn lại sau khi mượn. Số subnet được tạo ra = 2^m với m là số bit mượn từ HostID. Số bit subnet mới = số bit subnet cũ + m.

Net ID Host ID

Net IDSubnet ID

(m bit)Host ID (n bit)

32 bit

2.4 Ví dụ minh họa

Dãy địa chỉ ví dụ trong bài này là 172.16.0.0/16 với các mạng con có số host như sau:A: 300B: 100C: 50

Page 11: IPv4 & Chia Mang Con VLSM

D: 5E: 5F: 5

Bước 1:

Hệ nhị phân của dãy mạng 172.16.0.0/16 là10101100.00010000.00000000.00000000

Hệ nhị phân Subnet mask 255.255.0.0 của lớp mạng này là11111111.11111111.00000000.00000000

Thực hiện phép toán AND ta được địa chỉ mạng:10101100.00010000.00000000.00000000

Bước 2:

Theo phương pháp VLSM, ta phải chia mạng con theo thứ tự giảm dần: A B C D E F.

Chia cho mạng A

Bây giờ ta chia mạng con đầu tiên với 300 host áp dụng công thức 2^n – 2 >= 300 vậy n = 9 (Số bit còn lại của HostID)Số bit mượn từ HostID m là: 32 (số bit dãy IPv4) – 16 (số bit của NetID đã cho) – 9 (số bit còn lại) = 7Giờ ta sẽ tính số bit của Subnet mask mới: 16 (số bit subnet mask ban đầu) + 7 = 23Vậy số subnet được tạo ra là: 2^m = 2^7 = 128

Net ID (16 bit) Host ID (16 bit)

Net ID (16 bit)Subnet ID

(7 bit)Host ID (9 bit)

32 bit

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)

Mạng A1: 10101100.00010000.00000000.00000000 172.16.0.0/23Mạng A2: 10101100.00010000.00000010.00000000 172.16.2.0/23Mạng A3: 10101100.00010000.00000100.00000000 172.16.4.0/23….

Page 12: IPv4 & Chia Mang Con VLSM

Mạng A127: 10101100.00010000.11111100.00000000 172.16.252.0/23Mạng A128: 10101100.00010000.11111110.00000000 172.16.254.0/23

Subnet mask: 11111111.11111111.11111110.00000000 255.255.254.0/23

Để ý thấy rằng 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.

Trong ví dụ này ta sẽ lấy dãy địa chỉ đầu tiên chia cho mạng A 300 host bắt đầu là 172.16.0.0 với subnet mask là 255.255.254.0, dãy địa chỉ IP khả dụng cho mạng con này là 172.16.0.1 – 172.16.1.254, broadcast IP là 172.16.1.255

Chia cho mạng B:

Với dãy mạng tiếp theo (mạng B 100 host) ta sử dụng dãy mạng liền kề A2 172.16.2.0/23 để chia tiếp mạng con.Sử dụng công thức trên ta có n = 7 (2^n – 2 >= 100) và m = 2 (32 – 23 – 7)=> số subnet có thể chia là 4 và subnet mask mới là 25 (23 + 2).

Ta thay 2 bit tiếp theo để có các dãy mạng khả dụng sau:Mạng A21: 10101100.00010000.00000010.00000000 172.16.2.0/25Mạng A22: 10101100.00010000.00000010.10000000 172.16.2.128/25Mạng A23: 10101100.00010000.00000011.00000000 172.16.3.0/25Mạng A24: 10101100.00010000.00000011.10000000 172.16.3.128/25

Tiếp tục ta lấy dãy 172.16.2.0/25 để làm địa chỉ mạng cho mạng B 100 host nàySubnet mask: 255.255.255.128Dãy địa chỉ IP khả dụng: 172.16.2.1 – 172.16.2.126Broadcast IP: 172.16.2.127

Chia cho mạng C

Ta dùng tiếp dãy A22 172.16.2.128/25 để chia tiếp mạng C 50 host.Sử dụng công thức trên ta có n = 6 (2^n – 2 >= 50) và m = 1 (32 – 24 – 7)=> số subnet có thể chia là 2 và subnet mask mới là 26 (25 + 1).

Mạng A221: 10101100.00010000.00000010.10000000 172.16.2.128/26Mạng A222: 10101100.00010000.00000010.11000000 172.16.2.192/26Subnet mask: 255.255.255.192Dãy địa chỉ IP khả dụng: 172.16.2.129 – 172.16.2.190Broadcast IP: 172.16.2.191

Tương tự với việc chia mạng con D E F ta được:

Page 13: IPv4 & Chia Mang Con VLSM

Lần lượt ta có172.16.2.192/29 dành cho mạng D 5 hostSubnet mask: 255.255.255.248Dãy địa chỉ IP khả dụng: 172.16.2.193 – 172.16.2.198Broadcast IP: 172.16.2.199

172.16.2.200/29 dành cho mạng E 5 hostSubnet mask: 255.255.255.248Dãy địa chỉ IP khả dụng: 172.16.2.201 – 172.16.2.206Broadcast IP: 172.16.2.207

172.16.2.208/29 dành cho mạng F 5 hostSubnet mask: 255.255.255.248Dãy địa chỉ IP khả dụng: 172.16.2.209 – 172.16.2.214Broadcast IP: 172.16.2.215

Page 14: IPv4 & Chia Mang Con VLSM

Bảng kết quả:

Subnet Name

Needed Size

Allocated Size

Address Mask Dec MaskAssignable

RangeBroadcast

A 300 510172.16.0.

0/23

255.255.254.0

172.16.0.1 - 172.16.1.25

4

172.16.1.255

B 100 126172.16.2.

0/25

255.255.255.128

172.16.2.1 - 172.16.2.12

6

172.16.2.127

C 50 62172.16.2.

128/26

255.255.255.192

172.16.2.129 -

172.16.2.190

172.16.2.191

D 5 6172.16.2.

192/29

255.255.255.248

172.16.2.193 -

172.16.2.198

172.16.2.199

E 5 6172.16.2.

200/29

255.255.255.248

172.16.2.201 -

172.16.2.206

172.16.2.207

F 5 6172.16.2.

208/29

255.255.255.248

172.16.2.209 -

172.16.2.214

172.16.2.215

Page 15: IPv4 & Chia Mang Con VLSM

Ta có thể mô tả cách chia này như sau:

Page 16: IPv4 & Chia Mang Con VLSM

TÀI LIỆU THAM KHẢO

1. Wikipedia: http://vi.wikipedia.org/wiki/IPv4

2. Phương pháp chia mạng con VSLM: http://goo.gl/Iy091r

3. Giáo trình Mạng máy tính, bộ môn Mạng & TT, ĐH CNTT & TT TN