Thứ Năm, 10 tháng 5, 2012

Mô hình mạng TCP/IP -Tìm hiểu chi tiết


BỘ GIAO THỨC TCP/IP

I Giới Thiệu:
-Để các máy máy tính có thể liên lạc với nhau qua mạng, chúng phải sử dụng cùng 1 ngôn ngữ hay còn gọi là 1 giao thức (Protocol). Giao thức là 1 hệ luật và chuẩn cho phép các máy tính trong mạng liên lạc với nhau.
-TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều Khiển Truyền Thông) / Internet Protocol (Giao thức Internet).
-TCP/IP không chỉ gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giao thức. Chúng ta gọi đó là 1 Hệ Giao Thức hay Bộ Giao Thức (Suite Of Protocols). Bài viết chúng ta sẽ tập trung vào Bộ Giao Thức này.


II Tổng quát:
-Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền thông 4 tầng hay còn gọi là Mô Hình DoD (Mô hình của Bộ Quốc Phòng Mỹ). Các tầng trong mô hình này là (Theo thứ tự từ trên xuống):
+ Tầng Ứng Dụng (Application Layer)
+ Tầng Giao Vận (Transport Layer)
+ Tầng Liên Mạng (Internet Layer)
+ Tầng Giao Diện Mạng (Network Interface Layer)
- Mỗi giao thức của Họ TCP/IP đều thuộc 1 trong các tầng này. Ta sẽ cùng tìm hiểu từng tầng .

1.Tầng Giao Diện Mạng (Network Interface Layer):


-Tầng Giao Diện Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương tiện truyền dẫn. Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng và Cáp Mạng.
- 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0-F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện . MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu.
- 1 số giao thức tiêu biểu thuộc tầng này gồm :
+ ATM (Asynchronous Transfer Mode)
+ Ethernet
+ Token Ring
+ FDDI (Fiber Distributed Data Interface)
+ Frame Relay

2.Tầng Liên Mạng (Internet Layer):
- Nằm bên trên tầng giao diện mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm:
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích.
+ ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC.
+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng.
+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast)

3.Tầng Giao Vận (Transport Layer):
- Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu. 2 giao thức chính trong tầng này gồm:
+ UDP (User Datagram Protocol): Còn gọi là Giao Thức Gói Người Dùng. UDP cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1 cách tin cậy. Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng
+ TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy. TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận.

4.Tầng Ứng Dụng (Application Layer):


- Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để định dạng và trao đổi thông tin người dùng. 1 số giao thức thông dụng trong tầng này là:
+ DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động
+ DNS (Domain Name System): Hệ Thống Tên Miền
+ SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng Đơn Giản
+ FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin
+ TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường
+ SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản
+ TELNET

***Bảng sau mô tả khái quát về Bộ Giao Thức TCP/IP:





PHẦN 2 : ĐỊA CHỈ IP

I Địa chỉ IP:
- Mỗi máy trên mạng TCP/IP hay còn gọi là trạm TCP/IP được nhận dạng bằng 1 địa chỉ IP logic. Mỗi trạm hay mỗi thiết bị mạng sử dụng TCP/IP để truyền thông cần có 1 địa chỉ IP duy nhất.
- Địa chỉ IP cho biết vị trí của 1 hệ thống trong 1 mạng giống như địa chỉ xác định ngôi nhà trên 1 con đường nào đó. Tương tự như 1 khu dân cư. Địa chỉ IP phải là duy nhất trên toàn cầu và phải được viết dưới 1 định dạng chuẩn.
- Mỗi địa chỉ IP được chia thành 2 phần : Phần địa chỉ mạng (Net ID) và Phần địa chỉ trạm (Host ID).
+ Net ID: Dùng để nhận dạng những hệ thống trong cùng 1 khu vực vật lý còn được gọi là Phân Đoạn (Segment). Mọi hệ thống trong cùng 1 Phân Đoạn phải có cùng Địa Chỉ Mạng và Phần địa chỉ này phải là duy nhất trong số các mạng hiện có.
+ Host ID: Dùng để nhận dạng 1 trạm làm việc, 1 máy chủ, 1 Router hoặc 1 trạm TCP/IP trong 1 phân đoạn. Phần địa chỉ trạm cũng phải là duy nhất trong 1 mạng
- Giống địa chỉ bưu điện gồm 2 phần: MÃ BƯU ĐIỆN – SỐ NHÀ,TÊN ĐƯỜNG. Địa chỉ IP cũng gồm 2 phần: NET ID – HOST ID.
+ Phần đầu tiên, NET ID nhận dạng mạng mà máy tính nối tới, tất cả máy tính trong cùng mạng phải có cùng NET ID giống như mọi nhà trong cùng quận phải có cùng MÃ BƯU ĐIỆN.
+ Phần thứ hai, HOST ID xác định máy tính, router hoặc thiết bị mạng khác trong mạng. HOST ID phải là duy nhất trong 1 mạng giống như SỐ NHÀ,TÊN ĐƯỜNG phải là duy nhất trong 1 quận. Hai máy tính có thể có cùng HOST ID nếu NET ID của chúng khác nhau, giống như hai ĐƯỜNG có thể cùng tên nếu như chúng thuộc 2 quận khác nhau.
- Sự kết hợp giữa NET ID và HOST ID phải cho phép nhận dạng duy nhất mỗi máy tính riêng biệt.
- Các địa chỉ IP có chiều dài 32bit được chia thành 4 dãy. Mỗi dãy gồm 8bit (1Byte), mỗi Byte được phân cách = 1 dấu “.”, 1 Byte là 1 giá trị nằm trong khoảng từ 0-255. Cách biểu diễn như vậy gọi là “Kí hiệu thập phân dấu chấm” (Dotted-Decimal Notation) để cho mọi người sử dụng nhớ địa chỉ 1 cách dễ dàng.




- Tuy nhiên khi xử lý thông tin máy tính lại sử dụng Hệ Nhị Phân (Binary) vì tín hiệu chúng sử dụng để truyền thông chỉ có 2 trạng thái là Bật (1) và Tắt (0)

***Bảng bên dưới đây sẽ mô tả sự kết hợp giữa Kí Hiệu Thập Phân (Decimal Notation) và Kí Hiệu Khoa Học (Scientific Notation) với mỗi Bit bên trong 1 Bộ Tám Nhị Phân (Binary Octet).



Trong 1 Byte , mỗi bit được gán một giá trị. Nếu Bit được đặt là 0 thì nó được gán giá trị 0, nếu Bit được đặt là 1 thì có thể chuyển đổi thành 1 giá trị thập phân. Bit thấp nhất trong Byte tương ứng với 1, Bit cao nhất tương ứng với 128. Vậy giá trị lớn nhất của 1 Byte là 255 tương ứng với trường hợp cả 8 Bit đều được đặt là 1.



Ví dụ: Ta sẽ đổi địa chỉ sau: 10101100 00010000 00000101 01111101 sang dạng Kí Hiệu Thập Phân Dấu Chấm.



II Địa chỉ IP Public và Địa chỉ IP Private:
1.IP Public:
- Mỗi 1 địa chỉ IP ngoài Internet là duy nhất. Để các Network có những địa chỉ duy nhất ngoài Internet, thì Internet Assigned Numbers Authority (IANA) sẽ chia những khoảng địa chỉ không dự trữ thành những phần nhỏ và ủy thác trách nhiệm phân phối địa chỉ cho các tổ chức Đăng Kí Miền khắp thế giới. Những tổ chức đó là Asia-Pacific Network Information Center (APNIC), American Registry for Internet Numbers (ARIN), and Réseaux IP Européens (RIPE NCC). Những tổ chức này sẽ phân phối những khối địa chỉ đến 1 số nhà các Internet Service Provider (ISP) lớn và các ISP lớn này sau đó sẽ gán những khối nhỏ hơn cho các đại lý và các ISP nhỏ hơn.
- ISP sẽ cấp 1 IP Public cho mỗi máy tính của bạn để các máy tính này có thể kết nối trực tiếp đến ISP. Các địa chỉ này được cấp 1 cách tự động dến mỗi máy tính khi máy tính kết nối và có thể là địa chỉ tĩnh nếu đường line của bạn thuê riêng hay các tài khoàn Dial-up

2.IP Private:
- IANA đã dự trữ một ít địa chỉ IP mà các địa chỉ này không bao giờ được sử dụng trên Internet. Những địa chỉ IP Private này được sử dụng cho những Host yêu cầu có IP để kết nối nhưng không cần được thấy trên các mạng Public. Ví dụ, 1 user kết nối những máy tính trong mạng TCP/IP ở nhà thì ko cần cấp 1 địa chỉ IP Public cho mỗi Host. User có thể lấy những khoảng IP ở bảng dưới đây để cung cấp địa chỉ cho các Host trong mạng.



- Những host có địa chỉ IP Private có thể kết nối đến Internet bằng cách sử dụng 1 Proxy Server hay 1 máy tính chạy Windows Server 2003 đã cấu hình như là 1 Network Address Translation (NAT) Server. Windows Server 2003 cũng tích hợp chức năng Internet Connection Sharing (ICS) để cung cấp dịch vụ NAT đơn giản cho các Client trong mạng Private.

III Lớp địa chỉ:
- Có 5 lớp địa chỉ IP để tạo các mạng có kích thước khác nhau gồm: Lớp A, Lớp B, Lớp C, Lớp D, Lớp E.
- TCP/IP hỗ trợ gán địa chỉ lớp A, lớp B, lớp C cho các trạm.
- Các lớp này có chiều dài phần NET ID và HOST ID khác nhau nên số lượng Mạng và số lượng Trạm trên mỗi mạng cũng khác nhau:
+ Lớp A: Được gán cho các Mạng có kích thước cực lớn. Trong lớp địa chỉ này Byte đầu tiên xác định NET ID, Bit cao nhất của Byte này luôn được đặt là 0. 3 Byte còn lại xác định Host ID. Do đó lớp A có thể cấp cho 126 Mạng với 16.777.214 Trạm trên mỗi Mạng.
+ Lớp B: Được gán cho các Mạng có kích thước vừa và lớn. Trong lớp địa chỉ này 2 Byte đầu tiên xác định NET ID, 2 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 0. 2 Byte còn lại xác định Host ID. Do đó lớp B có thể cấp cho 16.384 Mạng với 65.534 Trạm trên mỗi Mạng.
+ Lớp C: Được gán cho các Mạng có kích thước nhỏ. Trong lớp địa chỉ này 3 Byte đầu tiên xác định NET ID, 3 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 0. Byte cuối cùng xác định Host ID. Do đó lớp C có thể cấp cho 2.097.152 Mạng với 254 Trạm trên mỗi Mạng.
+ Lớp D: Các địa chỉ lớp này sử dụng cho Truyền Đa Hướng (Multicast). 1 nhóm Multicast có thể chứa 1 hoặc nhiều Trạm. Trong lớp này 4 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 1 0, các Bit còn lại định nghĩa nhóm Multicast. Địa chỉ lớp D không được chia thành Net ID và Host ID. Các gói(Packets) Multicast được truyền tới 1 nhóm Trạm cụ thể và chỉ có các Trạm đăng kí vào nhóm này mới nhận được gói.
+ Lớp E: Là lớp địa chỉ thực nghiệm, nó không được thiết kế cho mục đích sử dụng chung. Lớp E được dự phòng cho các ứng dụng tương lai. Các Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 1 1.
- Tổng số IP có thể sử dụng là : 3.720.314.628

*** Bảng sau đây sẽ mô tả khái quát về các lớp địa chỉ IP:





*** Bảng mô tả sự khác nhau giữa 3 Lớp địa chỉ A, B và C:







IV Subnet Mask:
- Để biết Trạm đích thuộc Mạng cục bộ hay ở xa. Trạm nguồn cần 1 thông tin khác. Thông tin này chính là Subnet Mask
- Subnet Mask là 1 địa chỉ 32 bit được sử dụng để che 1 phần của địa chỉ IP. Bằng cách này các máy tính có thể xác định đâu là Net ID và đâu là Host ID trong 1 địa chỉ IP.
- Mỗi Trạm trong mạng TCP/IP yêu cầu có 1 Subnet Mask.Nó được gọi là Subnet Mask mặc định, nếu nó chưa được chia Subnet (và vì vậy nó chỉ có 1 Subnet Đơn), và được gọi là Subnet Mask tùy ý nếu nó được chia thành nhiều Subnet
Vd: 1 số 32bit tiêu biểu cho 1 Subnet Mask mặc định được dùng bởi những Trạm đã cấu hình với 1 địa chỉ lớp C (vd 192.168.20.50) là :
11111111 11111111 11111111 00000000 (255.255.255.0). Khi 1 trạm có địa chỉ 192.168.20.50 gởi gói tin đến địa chỉ 192.168.50.20. Đầu tiên, Trạm sẽ thực hiện phép tính AND giữa Địa Chỉ cục bộ với Subnet Mask mặc định cục bộ. Bởi vì khi thực hiện phép tính AND 2 số, bất kì số nào AND với 0 sẽ là 0, và AND với 1 sẽ là chính nó => khi AND 192.168.20.50 với 255.255.255.0 kết quả là 192.168.20.0. Máy trạm sau đó sẽ thực hiện phép tính AND giữa Địa chỉ Đích với Subnet Mask giống trên. TCP/IP sau đó sẽ so sánh kết quả những giá trị từ 2 phép tính AND. Nếu 2 giá trị đồng nhất thì Trạm TCP/IP kết luận đích kia là trên Subnet cục bộ. Nếu 2 giá trị khác nhau thì Trạm xác định đích kia là ở xa.
- Ta cũng có 1 cách viết khác để xác định Subnet Mask là:
Địa chỉ IP / Tiền tố Mạng
Tiền tố Mạng được xác định bằng cách cộng tất cả các bit 1 trong dãy 32bit của Subnet Mask.
Vd: 192.168.5.10 có Subnet Mask mặc định là 255.255.255.0.
Đổi qua số nhị phân sẽ là 11111111 11111111 11111111 00000000.
=> Tổng cộng có 24 bit 1. Vậy ta có thể viết dưới dạng:
192.168.5.10 / 24

*** Bảng dưới đây sẽ đưa ra những Subnet Mask mặc định cho các Lớp Mạng:


V Default Gateway:
- Khi 1 trạm trong TCP/IP cần truyền thông tin với 1 Trạm trên Mạng khác thì nó phải thông qua 1 Router. Router được gắn nhiều Interface (vd Card Mạng) kết nối đến các Mạng riêng biệt, Routing là quá trình nhận những gói IP tại 1 Interface và gởi những gói này ra 1 Interface khác hướng về 1 đích cuối cùng. Với 1 host được cấp trên Mạng TCP/IP thì Default Gateway là địa chỉ của Router, nằm trong 1 phạm vi Broadcast, nó được cấu hình để đưa những luồng IP đến Mạng khác.
- Khi 1 máy tính cố gắng truyền đạt thông tin đến 1 trạm khác trên Mạng IP, máy tính sẽ dùng SUBNET MASK để xác định Trạm đích là Cục Bộ (Local) hay ở Xa (Remote). Nếu đích là 1 trạm trên 1 phân đoạn Mạng Cục Bộ, máy tính sẽ đơn giản gởi 1 gói tin đến Mạng Cục Bộ bằng cách truyền cho tất cả (Broadcast). Nếu đích là 1 Trạm ở Xa, máy tính sẽ đưa gói tin đến Default Gateway đã được xác định trong TCP/IP Properties. Router được ghi rõ tại địa chỉ Default Gateway sau đó sẽ chịu trách nhiệm đưa gói tin đến Mạng 1 cách chính xác.

VI Chia Subnet:
- Những Subnet Mask được sử dụng bởi nhiều host để xác định đâu là phần chia của 1 địa chỉ IP được xem như là Net ID của địa chỉ đó.Lớp A, B và C sử dụng Subnet Mask mặc định được che lần lượt là 8, 16, 24bit tương đương với những địa chỉ 32bit. 1 Mạng cục bộ được định rõ bởi 1 Subnet Mask hay còn gọi là 1 Subnet
- Chia subnet là phương pháp logic chia 1 địa chỉ mạng bằng cách tăng bit 1 sử dụng trong Subnet Mask của 1 Mạng. Phần mở rộng này cho phép bạn chia nhiều Subnet bên trong Mạng ban đầu
+ 255.255.0.0 là Subnet Mask mặc định được sử dụng cho những host bên trong lớp B , ví dụ như 131.107.0.0, thì 2 địa chỉ 131.107.1.11 và 131.107.2.11 là giống Subnet. Và những host trong Net này liên lạc với nhau bằng cách gởi gói tin Broadcast. Nhưng khi Subnet Mask được tăng thêm thành 255.255.255.0 thì rõ ràng 2 địa chỉ 131.107.1.11 và 131.107.2.11 là khác Net. Thì những host này muốn liên lạc với nhau thì phải gởi 1 gói tin IP đến Default Gateway, cái mà nó chịu trách nhiệm routing những gói dữ liệu đến Subnet Đích
+ Trong khi ban đầu địa chỉ lớp B khi chưa chia Subnet có 65.534 host thì Subnet Mask mới được cấu hình như hình bên dưới cho phép bạn chia thành 256 Subnet với 254 host trên 1 subnet.




+ Ưu điểm của việc chia Subnet là khi chia xong những phân đoạn con có thể trải rộng trên nhiều phân đoạn vật lý (vd mạng có thể gồm 2 phân đoạn là Ethernet và Token Ring). Tuy nhiên ưu điểm chính là giảm lưu lượng mạng vì khi chia Subnet thì lưu lượng các gói tin Broadcast không làm ảnh hưởng đến toàn mạng do Router giữa các mạng sẽ chặn các gói tin Broadcast.

- Xác định Tổng số Host trên 1 Mạng bằng cách ta lấy 2 lũy thừa số bit làm Host ID sau đó trừ cho 2.
Vd: 192.168.1.0 thuộc lớp C nên mặc định sẽ có 24bit làm Net ID (192.168.1.0/24) và 8bit làm Host ID. Vậy Tổng số Host : 2 lũy thừa 8 –2 = 254 Host

- Xác định Tổng số Subnet bằng cách ta lấy 2 lũy thừa số bit mở rộng thêm vào Net ID
Vd : 172.16.0.0 . Thuộc lớp B nên có 16bit làm Net ID(172.16.0.0/16) và 16bit làm Host ID. Do Net ID chưa mở rộng bit nào nên số bit mở rộng = 0 , vậy Tổng số Subnet = 2 lũy thừa 0 = 1 Subnet
Vậy nếu 172.16.0.0 viết dưới dạng 172.16.0.0/20. Vậy có nghĩa số bit làm Host ID là 12 và số bit mở rộng thêm vào Net ID là 4.
=> Tổng Số Host : 2 lũy thừa 12 –2 = 4094 Hosts
=> Tổng Số Subnet : 2 lũy thừa 4 = 16 Subnets

- Xác định số Host trên mỗi Subnet: Tính tổng số Host trên 1 Subnet giống như tính tổng số Host trên 1 Mạng. Khi 1 địa chỉ Mạng đã được chia Subnet. Thì tổng số Host trên mỗi Subnet sẽ là 2 lũy thừa x -2 với x là số bit làm Host ID.

- Ước lượng phạm vi địa chỉ Subnet: Bằng cách sử dụng Kí Hiệu Thập Phân Dấu Chấm , ta có thể ước lượng được phạm vi của những địa chỉ IP trên mỗi Subnet đơn giản bằng cách ta lấy 256 trừ cho giá trị bộ 8 thích hợp trong Subnet Mask.

Vd1: 1 Net thuộc lớp C có địa chỉ 192.168.5.0 với Subnet Mask là 255.255.255.192. Ta lấy 256-192 = 64, Vậy kết quả mỗi phạm vị địa chỉ Subnet của Mạng được nhóm trong khoảng 64: 192.168.5.0 – 192.168.5.63, 192.168.5.64 – 192.167.5.127 , .v.v…
Vd2: 1 Net thuộc lớp B có địa chỉ 172.16.0.0 với Subnet Mask là 255.255.255.240. Ta lấy 256-240 = 16. Bởi vậy, mỗi phạm vi địa chỉ Subnet được nhóm 16 ở vị trí thứ 3 và thích hợp bộ 8. Nhưng trái lại vị trí thứ 4 của bộ 8 có phạm vi từ 0-255: 172.16.0.0 – 172.16.15.255, 172.16.16.0 – 172.16.31.255, …
- Lưu ý rằng có 2 địa chỉ không được dùng để cấp cho Host là địa chỉ mạng (tất cả các bit trong phần Host ID đều là 0) và địa chỉ Broadcast (tất cả các bit trong phần Host ID đều là 1)

VII Supernetting:
- Để ngăn sự cạn dần các Net ID của lớp A,B. Các nhà điều hành Internet đã sắp đặt 1 sơ đồ gọi là Supernetting. Supernetting sẽ cho phép nhiều Net gom thành 1 Net. Supernetting đưa ra nhiều thuận lợi hiệu quả cho việc đặt địa chỉ cho các Net.
- Ví dụ , giả sử 1 tổ chức cần cung cấp khoảng 2000 Trạm. Con số này là quá lớn đối với 1 lớp C (chỉ có thể cấp cho 254 trạm). Tuy nhiên 1 Net thuộc lớp B có thể cấp tới 16384 Net với 65534 Trạm trên mỗi Net và con số này cũng sẽ nhanh chóng giảm bớt. Bởi vậy nó ko thiết thực để 1 ISP (Internet Service Provider) cấp 1 Net lớp B vì nhu cầu tổ chức kia chỉ chiếm 3% trong tổng số IP của 1 Net trong lớp B , có nghĩa là lãng phí mất 63534 địa chỉ. Bằng cách sử dụng Supernetting, 1 ISP có thể cấp 1 khối những địa chỉ lớp C (1 Net có 254 Hosts) mà nó được xem như 1 Mạng độc lập ở đâu đó giữa lớp B và lớp C. Trong ví dụ này, 1 khối gồm 8 Net thuộc lớp C có thể đáp ứng nhu cầu tổ chức kia bằng cách cấp 2032 host.
- Supernetting khác với Chia Subnet ở chỗ là Supernetting mượn những Bit ở Net ID đem qua làm Host ID. Ví dụ, giả sử 1 ISP đã cấp cho bạn 1 khối gồm 8 Net lớp C từ 207.46.168.0 dến 207.46.175.0. Gán 1 Subnet Mask là /21 (mặc định là /24) đến các Router tại ISP và đến tất cả các host nằm trong tổ chức của bạn, kết quả là tất cả các máy đều thấy nhau như là 1 Net bởi vì nhờ vào Net ID bị rút ngắn phát sinh từ subnet mask là /24, phần Net ID của toàn bộ 8 địa chỉ này bây giờ được nhìn thấy như là duy nhất.

***Hình bên dưới sẽ minh họa cho phần này:



VIII CIDR (Classless Inter-Domain Routing – Định Tuyến Liên Vùng Không Phân Lớp):
- CIDR là 1 phương pháp hiệu quả để tính toán các supernet bên trong những bảng Định Tuyến. Nếu không dùng CIDR, những bảng Định Tuyến sẽ ghi vào 1 mục riêng để xử lý mạng nguyên bản trong supernet. CIDR cho phép toàn bộ supernet được xử lý chỉ bằng 1 mục duy nhất. Hình bên dưới sẽ cho ta thấy rõ điều này:



- Trái với phương pháp phân lớp. CIDR sử dụng Kí Hiệu Nhị Phân nghĩa là tất cả địa chỉ IP và Subnet Mask được chuyển đổi thành 0 và 1 tạo nên 32 giá trị thay vì 4 giá trị như ban đầu (vd 172.16.2.2->10101100 00010000 00000100 00000010). Cấu trúc này cho kích thước mạng linh hoạt hơn và tối ưu việc gán địa chỉ IP
VD: 10.217.123.7 chuyển sang nhị phân ta được 00001010 11011001 01111011 00000111. Làm tương tự với Subnet Mask chẳng hạn là 255.255.240.0 ta được 11111111 11111111 11110000 00000000. Sau đó ta sẽ AND 2 giá trị thập phân vừa chuyển để tính phần Net ID. Vậy ta được 00001010 11011001 01110000 00000000. Sau đó chuyển sang hệ Thập Phân ta được 10.217.112.0. Ta cộng tất cả các bit1 lại , cuối cùng ta được 10.217.112.0/20
- Phương pháp CIDR luôn cần cả địa chỉ IP và Subnet Mask để xác định được 1 địa chỉ bất kì cùng Net hay khác Net.

IX Variable-Length Subnet Masks (Subnet Mask có chiều dài thay đổi):
- Theo cách truyền thống thì 1 Subnet Mask đơn được chia sẻ qua mỗi host và router trong 1 tổ chức. Khi 1 Subnet Mask đơn được sử dụng khắp toàn bộ mạng, mạng có thể bị hỏng bên trong những subnet, vì những subnet này có cùng số host bởi vì nó dùng Subnet Mask giống nhau. Điều này là ko hiệu quả.
- Tuy nhiên, với Variable-Length Subnet Masks (VLSMs) thì các router trong 1 tổ chức có thể quản lý những Subnet Mask khác nhau. Thông thường nhất, VLSMs được dùng để cho phép tự các subnets chia thành subnet nhỏ hơn, hay nói cách khác, VLSMs còn được gọi là “Chia subnet trong 1 subnet lớn hơn” để tận dụng tối đa địa chỉ .

***Để hiểu rõ vấn đề này, ta sẽ làm 1 ví dụ:
Giả sử 1 công ty có 3 văn phòng A(50 host), B(27 host), C(12 host) và D(12 host) như hình bên dưới. Làm thế nào để tận dụng tối đa không gian địa chỉ







Theo đề bài thì 1 địa chỉ mạng lớp C – 192.168.100.0/24 phù hợp được cấp. Ta sẽ tiến hành mở rộng Net ID bằng cách lấy số bit Host ID đưa qua Net ID.
Các bước làm như sau:
B1: Xác định bao nhiêu bit Host ID sẽ cần để đáp ứng Net lớn nhất
B2: Lấy 1 subnet để cấp cho Net lớn nhất
B3: Chọn Net lớn kế tiếp để làm việc
B4: Chọn Net lớn thứ 3 để làm việc

Ta bắt đầu tiến hành làm B1 :
+ Ta nhận thấy văn phòng A là Net lớn nhất với 50 host. Do đó, bạn cần biết bao nhiêu bit Host ID sẽ cần:
Nếu 2 lũy thừa H –2 = Số host hợp lệ trên mỗi subnet
Sau đó, 2 lũy thừa H –2 >= 50
Do đó H = 6 (6 là giá trị nhỏ nhất hợp lệ)
+ Bạn cần 6 bit làm Host để đáp ứng yêu cầu của văn phòng A
+ Nếu bạn cần 6 bit Host và bạn đã bắt đầu với 8 bit Net, thì 8-6 = 2 bit Net để tạo ra các subnet:
Bắt đầu với: NNNNNNNN (đây là 8 bit trong bộ 8 thứ 4)
Và bây giờ : NNHHHHHH
Ta tiến hành B2:
+ Ta có 2 bit Net để làm việc vậy ta được 2 lũy thừa 2 = 4 Subnets :
NN = 00HHHHHH (6 bit H bạn cần cho văn phòng A)
01HHHHHH
10HHHHHH
11HHHHHH
+ Nếu bạn cộng tất cả các số 0 vào bit H bạn sẽ được số Mạng cho 4 subnet:
00000000 = .0
01000000 = .64
10000000 = .128
11000000 = .192
+ Đây là tất cả các subnet mà bạn có giống Subnet Mask
+ 2 bit lấy từ Host ID sang Net ID. Vậy Subnet Mask là:
11111111 11111111 11111111 11000000
hay 255.255.255.192
hay /26
+ Lấy 1 subnet cho văn phòng A . Ta còn lại 3 Subnet:



Ta tiến hành B3: Chọn Net lớn kế tiếp để làm việc
+ Ta thấy văn phòng B phù hợp yêu cầu với 27 host
+ Xác định số bit Host ID cần cho Net này:
2 lũy thừa H –2 >= 27
H = 5
+ Bạn cần 5 bit Host để đáp ứng yêu cầu văn phòng B
+ Bạn đã bắt đầu với mô hình 2 bit Net và 6 bit Host cho Văn Phòng A.
+ Bạn lấy 1 trong các Net /26 còn lại để chia cho Văn Phòng B
+ Với mục đích của đề bài, ta chọn mạng .128/26:
10000000
+ Nhưng bạn cần 5 bit , không phải 6 bit. Do đó bạn cần thêm 1 bit N bên trái:
10N00000
Khi đó
* 10 đại diện để mô ta cho phần nguyên thủy của chia Subnet
* N đại diện cho bit mở rộng
* 00000 đại diện cho 5 bit Host bạn cần cho văn phòng B
+ Bởi vì bạn có bit mở rộng này, bạn phải tạo ra 2 subnet nhỏ hơn từ subnet nguyên thủy:
10000000
10100000

+ Chuyển qua hệ thập phân, những subnet này là:
10000000 = .128
10100000 = .160

Bạn đã có subnet được chia trong subnet. Đây là dạng cơ bản của VLSMs
Mỗi subnet được chia trong subnet sẽ có 1 Subnet Mask mới. Nguyên thủy ban đầu Subnet Mask là /24 đã được thay đổi thành /24 bên trong Net A. Sau đó bạn lấy 1 trong những mạng Subnet /26 và tách nó ra thành 2 mạng subnet /27:
10000000 và 10000000 với 3 bit Net và 5 bit Host
Và Mask bây giờ sẽ bằng:
11111111.11111111.11111111.11100000
Hay 255.255.255.224
Hay /27

Lấy 1 trong những subnet được chia trong subnet cho văn phòng B:
10000000/27 = Network B

Sử dụng 1 subnet được chia trong subnet còn lại sử dụng về sau hay bạn có thể chia nhỏ ra tiếp nếu bạn cần.

Bạn muốn bảo đảm những địa chỉ sẽ không bị trùng lắp. Bạn trở lại với Bảng nguyên thủy ở trên:



Bây giờ bạn có thể chia mạng .128/26 thành 2 mạng /27 nhỏ hơn và cấp cho văn phòng B



Những mạng còn lại thì vẫn có sẵn để cấp cho những mạng hay subnet thêm nữa để kết quả tốt hơn.


Ta tiến hành B4: Chọn Net lớn thứ 3 để làm việc
+ Văn phòng C và D mỗi văn phòng 12 host
+ Xác định bit Host cần cho các mạng này:
2 lũy thừa H –2 >= 12
H = 4
+ Bạn cần 4 bit để đáp ứng yêu cầu của Văn Phòng C và D
+ Bạn đã bắt đầu với mô hình 2 bit Net và 6 bit Host cho Văn Phòng A
+ Bây giờ bạn phải lựa chọn để lấy Mạng nào. Bạn có thể lấy 1 mạng /26 khác hoặc cũng có thể lấy 1 mạng /27 và thử xem nó có vừa với yêu cầu ko.

+ Với mục đích của Đề Bài, ta chọn 1 mạng /27 – .160/27:
10100000 (bit 1 ở vị trí thứ 3 không còn được tô đậm như ở trên vì bây giờ nó là phần của bit Net)
+ Nhưng bạn chỉ cần 4 bit Host, không phải 5. Do đó bạn cần thêm 1 bit N bên trái:
101N0000
Khi đó
* 101 đại diện để mô ta cho phần nguyên thủy của Subnet
* N đại diện cho bit mở rộng
* 0000 đại diện cho 4 bit Host bạn cần cho văn phòng C, D
+ Bởi vì bạn có bit mở rộng này, bạn phải tạo ra 2 subnet nhỏ hơn từ subnet nguyên thủy:
10100000
10110000
+ Chuyển qua hệ thập phân, những subnet này là:
10100000 = .160
10110000 = .176

Mỗi subnet được chia trong subnet sẽ có 1 Subnet Mask mới. Mỗi subnet được chia trong subnet bây giờ đã có 4 bit Net và 4 bit Host và Mask mới của chúng là:
11111111.11111111.11111111.11110000
hay 255.255.255.240
hay /28

Lấy 1 trong những subnet được chia trong subnet mới tạo ra cho văn phòng C và D



Như vậy ta đã hoàn thành xong yêu cầu đề bài. Bạn đã thấy sức mạnh của VLSMs rồi chứ



Theo nhatnghe.com

0 nhận xét:

Đăng nhận xét