Thiết kế mạng_5



Địa chỉ

Phần này mô tả về địa chỉ tầng vật lý, tầng network và cách thức router sử dụng các địa chỉ này.

Địa chỉ vật lý (physical address)

Địa chỉ MAC là địa chỉ tại tầng data link, được gọi là địa chỉ vật lý. Khi sản xuất cạc mạng, nhà sản xuất đã gắn lên cạc mạng một địa chỉ gọi là BIA (burned-in address), địa chỉ này được gắn vĩnh viễn trên cạc mạng. Khi hoạt động, địa chỉ BIA này được chép vào bộ nhớ của cạc mạng và được sử dụng như một địa chỉ MAC.
BIA là một số hệ hexa có chiều dài 48 bit. Chia làm hai phần, mỗi phần 24 bit. 24 bit đầu là định danh của nhà sản xuất (OUI – organization unique identifier). 24 bit sau là định danh của thiết bị do nhà sản xuất tạo ra.
Chú ý: thực tế trong 24 bit đầu có hai bit không thực sự thuộc về OUI, đó là: bit thứ bảy được sử dụng để đánh dấu, giúp phân biệt địa chỉ này có phạm vi sử dụng cục bộ hay toàn cầu (U/L: universal/locally administered), bit thứ tám được sử dụng để xác định đây là địa chỉ của một thiết bị hay của một nhóm các thiết bị (I/G individual/group).
Việc gán địa chỉ MAC cho cạc mạng máy tính hoặc router không thể nhận diện được thiết bị đó ở đâu, thuộc mạng nào? Vì vậy, nó không giúp router xác định đường đi tốt nhất để gửi dữ liệu. Địa chỉ có thể làm được điều này chính là địa chỉ tầng network (địa chỉ logic), địa chỉ này được gán cho thiết bị khi người quản trị thiết lập hệ thống mạng, là địa chỉ tạm thời, sẽ bị thay đổi bởi người sử dụng hoặc khi gỡ bỏ thiết bị.

Địa chỉ logic (logical address)

Khi muốn gửi thư tới ai đó, chúng ta cần biết địa chỉ của người nhận. Vì địa chỉ nhận thư là duy nhất trên thế giới, nên chúng ta có thể gửi thư tới cho bất kì ai. Địa chỉ nhận thư là ví dụ của loại địa chỉ logic và có phân cấp, nó bao gồm tên quốc gia, tỉnh/thành phố, đường và số nhà.
Địa chỉ tầng network cũng là địa chỉ logic và có phân cấp, nó được gán bởi người quản trị mạng hoặc lấy tự động từ máy server. Địa chỉ này có hai phần: địa chỉ mạng (tương tự như tên đường, thành phố/tỉnh, quốc gia) và địa chỉ của thiết bị trên mạng đó (tương tự như số nhà).
Hình sau minh họa mối liên hệ giữa địa chỉ gửi thư và địa chỉ logic của máy tính.


Định tuyến và địa chỉ tầng network

Router thường chỉ quan tâm tới phần địa chỉ mạng của địa chỉ IP đích (destination address). Nó so sánh phần địa chỉ mạng với bảng định tuyến, nếu có thông tin về đường đi nó sẽ gửi packet tới cạc mạng thích hợp để truyền tới đích.
Trong trường hợp địa chỉ của thiết bị đích cùng mạng và có kết nối trực tiếp với router thì nó phải xem xét toàn bộ địa chỉ IP (phần mạng và phần thiết bị), để gửi trực tiếp packet tới thiết bị nhận.
Router trong mạng LAN sử dụng ARP để xác định địa chỉ MAC của thiết bị dựa trên địa chỉ IP đã biết, tạo ra một frame với địa chỉ đích chính là địa chỉ MAC vừa xác định được.

Địa chỉ IP

Địa chỉ IP là địa chỉ tầng network. Địa chỉ IP có kích thước 32 bit, được viết dưới dạng bốn số thập phân, ngăn cách nhau bởi dấu chấm (dotted-decimal notation), mỗi số thập phân gọi là một octet (8 bit). Mỗi bit trong octet mang trọng số khác nhau (cao nhất là 128, kế tiếp là 64, 32, 16, 8, 4, 2 và 1). Giá trị của octet là một số nguyên, có giá trị nhỏ nhất là 0 (8 bit đều mang giá trị 0 – 00000000), lớn nhất là 255 (8 bit đều mang giá trị 1 – 11111111).
Ví dụ:


Các lớp của địa chỉ IP

Địa chỉ IPv4 chia thành năm lớp: A, B, C, D, E. Trong đó chỉ có lớp A, B, C được sử dụng để gán cho các thiết bị, lớp D sử dụng cho các nhóm multicast, lớp E dành riêng cho mục đích thử nghiệm.
Lớp của địa chỉ IPv4 được quy định trong octet đầu tiên.
Trong hình dưới đây:

-         Class: tên các lớp.
-         Format: các octet phần Net kí hiệu là N, octet phần Host kí hiệu là H.
-         Higher Order Bits: giá trị các bit để xác định lớp (tính từ phía trái).
-         Address Range: dải địa chỉ của mỗi lớp.
-         Number of Networks: biết số mạng của mỗi lớp.
-         Number of Host per Network: số địa chỉ của mỗi lớp.
Chú ý, địa chỉ lớp A là tất cả các địa chỉ mà có bit đầu tiên mang giá trị 0, tức là octet đầu tiên sẽ có giá trị từ 0 -> 127. Tuy nhiên, mạng 0.0.0.0 được sử dụng cho mục đích đặc biệt, mạng 127.0.0.0 được sử dụng làm địa chỉ loopback. Do vậy, các địa chỉ lớp A chỉ còn là các mạng có octet đầu tiên mang giá trị từ 1 -> 126.
Địa chỉ lớp D có bốn bit đầu tiên mang giá trị 1110 và có dải địa chỉ là 224.0.0.0 -> 239.255.255.255. Địa chỉ lớp E có bốn bit đầu tiên mang giá trị 1111 và dải địa chỉ là 240.0.0.0 -> 255.255.255.255.
Ví dụ, cho một địa chỉ lớp C là 192.168.5.1, vì định dạng địa chỉ của lớp C là N.N.N.H nên ta có địa chỉ mạng (phần Net) là 192.168.1 và phần Host là 1.

Địa chỉ IP public và IP private

Địa chỉ IPv4 chia làm hai loại: public và private.
Địa chỉ IP private được sử dụng để gán cho các thiết bị bên trong công ty, sử dụng nội bộ, không sử dụng được trong môi trường Internet. Khi muốn gửi dữ liệu ra ngoài Internet, địa chỉ private này phải được ánh xạ sang địa chỉ IP có thể sử dụng trên Internet mà công ty đã đăng kí.
Địa chỉ IP pụblic cho phép giao tiếp trên Internet.
Các địa chỉ private gồm:
-         10.0.0.0 -> 10.255.255.255
-         172.16.0.0 -> 172.31.255.255
-         192.168.0.0 -> 192.168.255.255
Các địa chỉ IP còn lại là IP public.

Mạng con (subnet)

Địa chỉ mạng lớp A rất ít được sử dụng, hầu hết các công ty không thể sử dụng hết  hơn 16 triệu địa chỉ của lớp A. Do hạn chế của kiểu địa chỉ mạng có phân lớp (classful address), nên khái niệm mạng con (từ đây gọi là subnet) đã được đưa ra trong RFC 950.
Các địa chỉ mạng lớp A, B, C có thể được chia thành các mạng nhỏ hơn gọi là các subnet (hay các subnetwork). Từ một mạng ban đầu với số lượng địa chỉ lớn sẽ được chia thành các subnet với số lượng địa chỉ nhỏ hơn.
Để chia subnet, tiến hành mượn các bit thuộc phần host để làm phần subnet, sau đó tính lại subnet mask (mặt nạ lọc mạng) dựa trên số bit host đã mượn.
Subnet mask là một số 32 bit, kết hợp subnet mask với địa chỉ IP để xác định những bit nào là bit net, bit nào là bit subnet và những bit nào là bit host.
Subnet mask giúp phân chia một địa chỉ IP thành ba phần: net – subnet – host.
Ở dạng nhị phân, các bit 1 trong subnet mask cho biết các bit tương ứng trong địa chỉ IP là thuộc phần net hoặc subnet. Các bit 0 trong subnet mask cho biết các bit tương ứng trong địa chỉ IP là thuộc phần host. Các bit 1 trong subnet mask là liên tục tính từ trái qua phải.
Các subnet mask chuẩn của lớp A, B, C được minh họa trong bảng sau:
 

Địa chỉ IP có tất cả các bit phần host bằng 0 là địa chỉ đại diện cho subnet hay còn gọi là địa chỉ mạng con. Địa chỉ IP có tất cả các bit phần host bằng 1, là địa chỉ broadcast trực tiếp (directed broadcast address) của subnet.
Địa chỉ broadcast trực tiếp là địa chỉ IP được sử dụng để gửi packet tới tất cả các thiết bị trong subnet. Router sẽ không chuyển tiếp các packet có địa chỉ đích là địa chỉ broadcast trực tiếp.
Router của Cisco sử dụng lệnh ip directed-broadcast để cấu hình cho các interface tại các router biên, khi nhận được packet là directed broadcast, router sẽ thực hiện chuyển packet từ directed-broadcast thành broadcast, thực hiện đóng gói thành một frame broadcast (tầng 2) và chuyển tiếp packet. Nếu lệnh no  ip directed-broadcast được cấu hình trên interface thì packet đó sẽ bị hủy.
Số lượng các subnet được tạo ra bằng 2^s, trong đó s là số bit mượn từ phần host.
Số  lượng địa chỉ của subnet được tính bằng công thứ 2^h – 2, trong đó h là số bit phần host.
Ví dụ, 10.0.0.0 là một địa chỉ lớp A với subnet mask chuẩn là 255.0.0.0, từ subnet mask cho biết địa chỉ IP này gồm 8 bit phần net và 24 bit phần host. Nếu muốn mượn 8 bit của phần host làm bit subnet thì subnet mask có dạng 11111111.11111111.00000000.00000000, hay 255.255.0.0. Với 8 bit subnet sẽ tạo ra 256 subnet, mỗi subnet có 65,534 địa chỉ. Ví dụ: 10.1.0.0 là một subnet, địa chỉ broadcast cho subnet này là 10.1.255.255.
Subnet mask còn được viết dưới dạng dấu slash (/), theo sau bởi số bit của phần net và subnet hay nói cách khác chính là số bit 1 liên tiếp nhau của subnet mask. Ví dụ, subnet mask 255.255.240.0, đổi sang dạng nhị phân là 11111111.11111111.11110000.00000000, viết dưới dạng slash sẽ là /20.
------------------------------------------------------------------
LGC  - Lược dịch “Designing for Cisco Internetwork Solutions”

Thiết kế mạng_4



Các giao thức tầng Internet của bộ giao thức TCP/IP

Tầng Internet của bộ giao thức TCP/IP tương ứng với tầng network của mô hình OSI, gồm hai giao thức IP và ICMP.
-         Giao thức IP: thực hiện truyền không có kiểm soát (best effort) và phi kết nối (connectionless) các datagram trên hệ thống mạng. Một địa chỉ IP duy nhất được gán cho mỗi cổng kết nối (interface) của thiết bị mạng.
-         Giao thức ICMP (internet control message protocol): thực hiện gửi thông điệp và thông báo lỗi liên quan tới TCP/IP. Ví dụ, ứng dụng ping có trong hầu hết các bộ giao thức TCP/IP, nó sẽ gửi thông điệp ICMP tới thiết bị đích, sau đó sẽ nhận lại thông điệp trả lời. Ping giúp ta biết được máy nguồn có đi đến được máy đích hay không và nếu đến được thì mất bao nhiêu thời gian.

Datagram của giao thức IP (gọi tắt IP datagram)

Hình sau minh họa các trường của IP datagram:


-         Version (4 bit): cho biết phiên bản của giao thức IP.
-         Header length (4 bit): kích thước của header, tính bằng từ nhớ 32 bit (bao gồm cả phần options).
-         Type of service (ToS) (8 bit): xác định cách thức xử lý datagram trong mạng. Xác định lưu lượng truyền cho một QoS (quality of service) cụ thể.
-         Total length (16 bit): số octet của phần header và data.
-         Identification (16 bit), flag (3 bit), và fragment offset (13 bit): được sử dụng trong trường hợp datagram cần phải chia nhỏ - chia thành nhiều packet – để truyền trên hệ thống mạng mà nó không hỗ trợ datagram có kích thước lớn.
-         Time to live (TTL) (8 bit): là một số nguyên, xác định thời gian sống của một datagram, giúp đảm bảo datagram không bị truyền lặp vô hạn trên hệ thống mạng; trường này sẽ bị giảm đi một khi đi qua một router.
-         Protocol (8 bit): cho biết giao thức đã được sử dụng để đóng gói dữ liệu ở tầng cao hơn (tầng transport). Cụ thể, nó cho biết kiểu của segment mà datagram sẽ đóng gói và truyền đi, giá trị 6 tương ứng với giao thức TCP, giá trị 17 là UDP, các giao thức định tuyến có thể có các giá trị khác.
-         Header checksum (16 bit): giá trị giúp kiểm tra tính đúng của header khi máy đích nhận được datagram.
-         Source và destination IP address (32 bit cho mỗi trường): địa chi IP nguồn và IP đích của datagram.
-         IP option và padding (có kích thước thay đổi): được sử dụng để dò tìm và kiểm tra lỗi.
-         Data (có kích thước thay đổi): dữ liệu của tầng cao hơn (transport).

Giao thức tầng data link của TCP/IP

Tầng data link của mô hình TCP/IP tương đương với tầng data link của mô hình OSI. Tại tầng này hệ thống sử dụng giao thức ARP (address resolution protocol), để chuyển đổi địa chỉ IP thành địa chỉ MAC.

Định tuyến (Routing)

Phần này sẽ đề cập đến hoạt động của router, giới thiệu về bảng định tuyến (routing table) và giao thức định tuyến (routing protocol). Router làm việc tại tầng network của mô hình OSI. Chức năng chính của router là xác định đường đi tốt nhất và gửi gói tin tới đích. Tại router, packet sẽ được đóng gói trong một frame mới trước khi truyền đi.
Công việc của router tương tự như một nhân viên bưu điện, nhân viên sẽ đọc địa chỉ trên lá thư (giống như địa chỉ IP của packet), xác định đường đi cho lá thư (packet), cuối cùng là gửi lá thư đi. Ví dụ minh họa trong hình dưới đây:


Chú ý: chức năng của router vừa trình bày ở trên chỉ là chức năng cơ bản. Hiện nay, router còn có thêm nhiều chức năng khác như QoS, bảo mật.

Router làm việc tại ba tầng dưới cùng của mô hình OSI

Router không quan tâm tới dữ liệu trong trường data của một packet, nó chỉ quan tâm tới việc chọn đường đi tốt nhất và gửi packet đi. Tuy nhiên, do router phải truyền dữ liệu trên nhiều môi trường truyền (media) khác nhau, nên nó phải quan tâm tới hai tầng bên dưới là data link và physical.
Ví dụ, router có thể nhận dữ liệu từ mạng Ethernet LAN, sau đó truyền dữ liệu này trên mạng WAN theo công nghệ Frame relay, điều này đòi hỏi router phải làm việc được với cả  hai môi trường Ethernet LAN và Frame relay.
Router thực hiện tách gói dữ liệu nhận được từ tầng network, sau đó, đóng gói dữ liệu theo dạng frame và bit thích hợp. Hình sau minh họa rõ hơn điều này, trong ví dụ, máy PC bên trái sẽ gửi dữ liệu cho PC bên phải. Router đã xác định được đường đi theo chiều mũi tên, đây là đường đi tốt nhất để truyền dữ liệu.


Chú ý: ở hình trên cho thấy, chỉ có PC là làm việc với đủ bảy tầng của mô hình OSI, còn router chỉ quan tâm tới ba tầng bên dưới.

Bảng định tuyến (routing table)

Để xác định đường đi tốt nhất cho một packet, router phải biết được địa chỉ mạng đích (destination network) của packet.
Router học (nhận biết) địa chỉ các mạng bằng ba cách: một là có kết nối trực tiếp với mạng, hai là học thông qua các router khác, ba là được cấu hình bởi người quản trị mạng.
Thông tin về đường đi, được cấu hình bởi người quản trị mạng gọi là đường đi cố định (static route), các thông tin này chỉ mất đi khi người quản trị mạng thay đổi hoặc gỡ bỏ. Đường đi tới các router có kết nối trực tiếp gọi là đường kết nối trực tiếp (directly connected route). Router học về đường đi từ các router khác bằng các giao thức định tuyến.
Trong các đường đi mà router đã học được, nó sẽ giữ lại một hoặc một số đường đi tốt nhất cho mỗi đích đến trong bảng định tuyến.
Bảng định tuyến chứa danh sách tất cả các mạng mà router biết đường đi tới. Với mỗi mạng, bảng định tuyến cung cấp các thông tin sau:
-         Cách thức router có được thông tin về đường đi (được cấu hình bởi người quản trị mạng hay học thông qua giao thức định tuyến).
-         Địa chỉ mạng đích mà router có thể gửi dữ liệu tới.
-         Cổng ra (interface hay port) để đi tới mạng đích.
-         Đánh giá về đường đi (metric).
Tiêu chuẩn để đánh giá đường đi là tốt nhất (best) hay không, tùy thuộc vào giao thức định tuyến. Ví dụ, một vài giao thức định tuyến đánh giá đường đi tốt nhất dựa vào số chặng (hop) phải đi qua trước khi tới đích, càng ít chặng càng tốt; trong khi đó, một vài giao thức lại định nghĩa đường đi tốt nhất là đường đi có băng thông cao nhất.
Ví dụ, trong hình dưới đây, metric được đo bằng số chặng giữa router và mạng đích. Cả hai router đều biết đường đi tới ba mạng A, B, C.
Router X  biết mạng A, B vì nó kết nối trực tiếp tới hai mạng này (metric = 0), router X biết được mạng C nhờ học từ router Y (metric = 1).
Router Y biết mạng B và C vì nó kết nối trực tiếp tới 2 mạng này (metric = 0) và router Y biết mạng A nhờ học từ router X (metric = 1).

Các giao thức định tuyến

Router sử dụng các giao thức định tuyến để trao đổi thông tin về đường đi. Giao thức định tuyến giúp các router học được thông tin đường đi của nhau. Lưu ý, hai router muốn giao tiếp được với nhau phải sử dụng chung một giao thức.
Bộ giao thức TCP/IP gồm các giao thức định tuyến sau:
-         RIP (routing information protocol) phiên bản 1 và 2 (RIPv1 và RIPv2).
-         EIGRP (enhanced interior gateway routing protocol).
-         OSPF (open shortest path first).
-         IS – IS (integrated intermediate system – to – intermediate system).
-         BGP (border gateway protocol) phiên bản 4 (BGP-4).

------------------------------------------------------------------
LGC  - Lược dịch “Designing for Cisco Internetwork Solutions”