4.3.1. Quá trình chuyển tiếp gói tin của Router
Quá trình chuyển tiếp gói tin của router hay còn gọi là quá trình định tuyến là quá trình xử lý gói tin ở dạng packet và được thực hiện trên từng hop. Mỗi gói tin được xử lý độc lập trên mỗi router dọc theo con đường từ nguồn tới đích. Router sẽ thực hiện một trong 3 hành động đối với gói tin. Đó là:
- Chuyển tiếp gói tin tới next-hop - Chuyển tiếp gói tin đến đích - Hoặc huy bỏ gói tin.
Ví dụ: Trên hình mô tả quá trình router nhận gói tin trên 1 interface và forward ra một interface khác. Đầu tiên router sẽ loại bỏ đóng gói lớp 2. Sau đó router tiến hành kiểm tra địa chỉ IP đích. Kế tiếp router sẽ kiểm tra IP đích có trùng với Entry nào trong bảng định tuyến hay không. Mạng 172.16.2.0 được tìm thấy trong bảng định tuyến, do vậy router sẽ tiến hành đóng gói lại dữ liệu để chuyển xuống lớp 2. Cuối cùng gói tin được chuyển tới mạng 192.168.1.2
Nếu bảng định tuyến không chứa thông tin nào phù hợp cho mạng đích, gói tin sẽ được chuyển tiếp tới một địa chỉ Interface nào đó được xác định bởi default route.
4.3.2 Tiến trình học đường đi của Router
– Các giao thức định tuyến được sử dụng giữa các router nhằm xác định đường đi cho các gói tin, cũng như duy trì các bảng định tuyến được tạo ra. Giao thức định tuyến cung cấp cơ chế chia sẻ thông tin định tuyến giữa các router, các router thông tin với nhau để cập nhật và duy trì bảng định tuyến. Sau khi bảng định tuyến được xây dựng router có thể forward gói tin.
– Một số giao thức định tuyến được sử dụng phổ biến trên mạng như: RIP, IGRP, EIGRP, OSPF, BGP . . .
– Đối với giao thức định tuyến có thể chia ra làm 2 loại: static route xây dựng bảng định tuyến bằng tay; Dynamic route xây dựng bảng định tuyến động, các router sẽ trao đổi thông tin định tuyến với nhau để xây dựng lên bảng định tuyến.
– Với cơ chế static route, các nút tới mạng đích với next-hop phù hợp sẽ được thiết lập bằng tay trên router.
– Giao thức định tuyến động là 1 tập các luật cho phép các router có thể dựa vào đó để chia sẻ thông tin định tuyến. Có nhiều giao thức định tuyến động đang tồn tại trên mạng như: RIP, EIGRP, OSPF…
Chương 5
TẦNG LIÊN KẾT DỮ LIỆU 5.1. Tổng quan về tầng liên kết dữ liệu
5.1.1. Các nhiệm vụ của tầng liên kết dữ liệu
Tầng liên kết dữ liệu cung cấp phương tiện cho quá trình trao đổi dữ liệu thông qua phương tiện truyền dẫn. Tầng liên kết dữ liệu thực hiện hai dịch vụ cơ bản đó là:
- Cho phép các lớp trên truy cập đường truyền sử dụng kỹ thuật framming;
- Điều khiển cách dữ liệu được đặt vào đường truyền và cách nhận dữ liệu từ đường truyền sử dụng một số kỹ thuật như điều khiển truy cập đường truyền và cơ chế phát hiện lỗi.
Tầng liên kết dữ liệu chia thông tin cần gửi thành các frame, gửi các frame đi một cách tuần tự, và xử lý các frame bên nhận do bên nhận gửi về.
Tầng liên kết dữ liệu có nhiệm vụ cách ly quá trình thông tin ở các lớp trên khỏi đường truyền vật lý.
Ví dụ: Một gói dữ liệu ở lớp 3 có thể là gói tin IPv4 hoặc IPv6, không cần biết phương tiện truyền dẫn giữa 2 host đó.
Giao thức tầng liên kết dữ liệu quy định cấu trúc khung dữ liệu khác nhau trên các phương tiện truyền dẫn khác nhau. Các giao thức khác nhau có thể sử dụng phương tiện truyền dẫn khác nhau.
Trên mỗi hop dọc theo đường truyền từ nguồn tới đích, một thiết bị trung gian nhận gói tin từ đường truyền, giải đóng gói frame, sau đó forward các gói trong một khung mới. Header của mỗi frame được định dạng tùy thuộc vào phương tiện truyền dẫn được sử dụng.
Tầng liên kết dữ liệu tồn tại như một tầng kết nối giữa quá trình xử lý phần mềm của các lớp nằm trên và lớp vật lý nằm ở dưới nó. Tầng liên kết dữ liệu chuẩn bị cho các gói tin lớp mạng để truyền trên phương tiện truyền dẫn có thể là cáp đồng, cáp quang hoặc không khí.
5.1.2. Các chiến lược điều khiển truy cập môi trường truyền
– Cách thức đặt các frame dữ liệu vào đường truyền được gọi là điều khiển truy cập đường truyền. Phương thức điều khiển truy cập đường truyền được sử dụng tùy thuộc vào cách chia sẻ đường truyền, cũng như topology mạng.
o Với cách chia sẻ đường truyền, các Node chia sẻ đường truyền trong quá trình truyền dữ liệu.
o Với topology mạng mô tả cách kết nối giữa các Node xuất hiện trong tầng liên kết dữ liệu.
– Sự cần thiết của cơ chế điều khiển truy cập đường truyền: Nếu trong mạng không có cơ chế điều khiển truy cập thì các host sử dung trung đường truyền sẽ dễ xảy ra xung đột. Khi đó các frame xung đột sẽ phải được truyền lại. Nếu có cơ chế điều khiển quá trình truy cập vào đường truyền thì khẳ năng xảy ra xung đột sẽ được giảm thiểu.
– Có 2 chiến lược được dùng để kiểm soát truy cập đường truyền:
o “Bị kiểm soát”
o Dựa trên tranh chấp
Phương pháp kiểm soát truy cập đường truyền kiểu “bị kiểm soát”: Với phương pháp này, các thiết bị mạng trước khi truyền tín hiệu lên đường truyền sẽ lần lượt chờ tới phiên của mình được sử dụng đường truyền. Truy cập bị kiểm soát được sắp xếp tốt hơn nhưng không hoàn toàn hiệu quả do thiết bị phải chờ đến lượt mình để sử dụng đường truyền. Với phương thức này chỉ có 1 host được truyền trên phương tiện truyền dẫn tại một thời điểm, các thiết bị khác có nhu cầu truyền dữ liệu phải chờ đến phiên, phương thức này không có xung đột. Để thực hiện được việc này trên mạng sẽ sử dụng một thẻ bài điện tử, thẻ bài đựoc truyền ngược chiều kim đồng hồ, mỗi khi host có nhu cầu truyền dữ liệu sẽ bắt giữ thẻ bài, sau đó truyền dữ liệu vào đường truyền, để tránh 1 host chiếm dụng thẻ bài quá lâu, trong mạng quy định thời gian chiếm dụng thẻ bài tối đa. Các topo mạng kiểu Token-Ring thường sử dụng phương pháp này.
Hình 5.1. Điều khiển truy cập đường truyền kiểu bị kiểm soát
- Phương pháp kiểm soát truy cập đường truyền kiểu “dựa trên tranh chấp”: Phương pháp dựa vào cơ chế cạnh tranh, giành giật đường truyền gọi là non- deterministic, cho phép bất kỳ thiết bị nào cũng có thể truy cập đường truyền khi nó có
nhu cầu truyền dữ liệu, để ngăn hiện tượng cạnh tranh gây nên mạng hỗn loạn các phương thức đa truy cập cảm nhận sóng mang có phát hiện xung đột được sử dụng để phát hiện liệu đường truyền có đang được sử dụng để mang dữ liệu hay không?
Hình 5.2 Điều khiển truy cập đường truyền kiểu tranh chấp
5.1.3. Địa chỉ MAC và cơ chế Frame a, Khái niệm
MAC (địa chỉ vật lý) là một địa chỉ duy nhất, không trùng lặp được gán cho mỗi thiết bị mạng trong quá trình sản xuất và là đặc trưng riêng của thiết bị mạng đó. Địa chỉ MAC có độ dài 48 bit, được chia làm 12 phần, mỗi phần được biểu diễn bằng một số ở hệ 16. Theo quy định của IEEE, 6 giá trị đầu trong số 12 giá trị này là đặc trưng cho nhà sản xuất và thường được gọi là OUI (định danh riêng của tổ chức), 6 giá trị còn lại là số sery của thiết bị, do nhà sản xuất gán cho thiết bị của mình. Địa chỉ MAC được ghi vào ROM và không thể thay đổi. Tất cả các thiết bị kết nối vào Ethernet LAN (computer, workstation, printer, switch, router...) đều phải có địa chỉ MAC.
Ví dụ: OUI của Broadcom (nhà sản xuất card mạng không dây) là 00-1A-73, của NVIDIA là 00-1B-24, của Cisco là 00-60-2F v.v..
b. Cơ chế Frame
Mặc dù có nhiều giao thức lớp data link khác nhau, mô tả cấu trúc khung lớp data link, tuy nhiên mỗi frame đều có 3 thành phần cơ bản đó là: header, data, và trailer.
Mọi giao thức tầng liên kết dữ liệu đều đóng gói PDU tầng 3 vào trường dữ liệu của frame. Tuy nhiên, cấu trúc của frame và các trường trong frame thay đổi tùy theo giao thức. Không có một cấu trúc frame riêng nào có thể đáp ứng được mọi truyền thông qua tất cả các kiểu đường truyền. Phụ thuộc vào môi trường truyền, các thông tin điều khiển cũng thay đổi để phù hợp với các yêu cầu kiểm soát truy cập của đường truyền và topo logic.
Đóng gói frame là quá trình đóng gói dữ liệu diễn ra ở tầng 2 (tầng liên kết dữ liệu), trong đó gói tin (packet) chuyển tới từ tầng Vận chuyển (tầng 3) được bổ sung các thông tin để tạo thành frame – đơn vị dữ liệu của tầng 2.
Các thông tin bổ sung này bao gồm:
– Các máy nào đang ở trong quá trình truyền thông; – Thời điểm bắt đầu và kết thúc của việc truyền thông; – Những lỗi có thể xảy ra trong quá trình truyền thông – Máy nào tiếp theo sẽ được truyền dữ liệu.
Hình 5.3. Cấu trúc frame
Trường Bắt đầu (Start Frame field) là một dãy các byte dùng để báo hiệu bắt đầu
quá trình truyền dữ liệu.
Trường Địa chỉ (Address field) chứa địa chỉ vật lý của máy đích (Destination MAC) và địa chỉ vật lý của máy nguồn (Source MAC).
Trường Kích thước/Kiểu (Length/Type field) là các trường đặc biệt được sử dụng
trong hầu hết các loại frame. Trường kích thước chứa độ dài chính xác của frame (tính theo byte). Trường Kiểu chứa thông tin về giao thức tầng 3 được sử dụng trong truyền dữ liệu. Trường Kích thước và trường Bắt đầu cho phép xác định vị trí kết thúc của một
frame. Trong một số trường hợp, một dãy byte được bổ sung vào sau trường FCS để báo hiệu kết thúc frame.
Trường Dữ liệu (Data field) thực chất chính là gói tin (packet) được chuyển xuống
từ tầng Vận chuyển. Kích thước của trường Dữ liệu phải nằm trong một khoảng cho phép. Nếu kích thước trường Dữ liệu quá nhỏ, các byte phụ sẽ được bổ sung để frame đạt được độ dài tối thiểu (nhằm phục vụ cho việc tính thời gian trong truyền thông).
Trường kiểm tra (FCS field) chứa một giá trị số do máy nguồn tính toán dựa trên
dữ liệu của frame. Khi frame được chuyển tới máy đích, máy đích sẽ tính toán lại một giá trị trị số dựa trên dữ liệu của frame nó nhận được và so sánh với giá trị của trường FCS này. Việc so sánh hai giá trị sẽ cho phép phát hiện lỗi xảy ra trong quá trình truyền dữ liệu và máy đích sẽ quyết định nhận hay hủy bỏ frame. Nếu frame bị hủy do xảy ra lỗi trong quá trình truyền thông, máy đích sẽ yêu cầu máy nguồn gửi lại frame bị lỗi đó. Phản hồi từ phía máy đích tới máy nguồn thường được thực hiện bằng cách gửi frame báo nhận (Acknowledgment frame hay ACK).
Việc tính toán giá trị của trường Kiểm tra thường được thực hiện theo một trong ba cách sau:
– Kiểm tra dư vòng (Cyclic redundancy check – CRC); – Kiểm tra chẵn lẻ hai chiều (Two-dimensional parity); – Internet checksum.
5.1.4. Miền xung đột và miền quảng bá a. Khái niệm xung đột tại tầng 2
Trong mạng ethernet, xung đột được coi như là một kết quả của việc cạnh tranh sử dụng đường truyền trong mạng. Khi không có tín hiệu sóng mang trên đường truyền, các máy trong mạng đều có quyền gửi dữ liệu lên đường truyền. Nếu hai máy đều có gắng gửi dữ liệu lên đường truyền trong cùng một thời điểm, tín hiệu trên đường truyền của máy này sẽ đè lên tín hiệu trên đương truyền của máy kia tạo ra một xung đột.
Xung đột không phải là một lỗi trong ethernet. Xung đột là một phần bình thường trong công nghệ ethernet.
Hình 5.4. Miền xung đột trong Ethernet
b. Khái niệm miền xung đột và miền quảng bá * Miền xung đột
Miền xung đột (collision domain) là những đoạn mạng vật lý kết nối với nhau trong đó có thể xảy ra xung đột. Miền xung đột được xác định bởi các thiết bị dùng để liên kết các đoạn mạng. Các thiết bị này được xếp vào các nhóm, được gọi là các thiết bị tầng 1, tầng 2 hoặc tầng 3 (OSI).
Các thiết bị tầng 1 (hub, repeater, cáp nối, card mạng...) chỉ có tác dụng mở rộng đoạn mạng, cho phép bổ xung thêm nhiều máy tính và kéo dài khoảng cách truyền dữ liệu. Các thiết bị tầng 1 chuyển tiếp tín hiệu trên đường truyền tới tất cả các thiết bị còn lại trong đoạn mạng. Khi số lượng máy trong mạng trở nên quá lớn, hoặc khi độ dài quá mức cho phép, xung đột sẽ xảy ra thường xuyên hơn và làm sụt giảm nghiêm trọng hiệu năng mạng. Các thiết bị tầng 2 (bridge, switch) và tầng 3 (router) chia một miền xung đột ra làm nhiều miền xung đột nhỏ. Quá trình chia nhỏ miền xung đột này thường được gọi là phân đoạn (segmentation).
Sự phân đoạn (segmentation) là quá trình phân chia một miền xung đột lớn thành
nhiều miền xung đột nhỏ hơn bằng các thiết bị tầng 2 (bridge, switch) và tầng 3 (router). Các thiết bị tầng 2 sử dụng địa chỉ MAC của mỗi thiết bị mạng để kiểm soát quá trình lan truyền của frame bằng cách theo dõi các địa chỉ MAC này và các đoạn mạng chứa chúng. Việc kiểm soát lưu lượng ở tầng 2 như vậy làm tăng hiệu năng mạng do xung đột trên từng đoạn mạng con ít xảy ra và không ảnh hưởng đến các đoạn mạng khác. Khi phân chia mạng thành nhiều vùng khác nhau xuất hiện khái niệm đoạn mạng.
Đoạn mạng (segment) có thể được định nghĩa theo một trong các cách sau:
– Là một vùng mạng có ranh giới là các bridge, router hoặc switch.
– Trong mạng LAN dùng topo bus, đó là một mạch điện liên tục được kết nối tới các mạch khác thông qua bộ lặp (repeater).
* Miền quảng bá
Miền quảng bá là một nhóm các miền xung đột kết nối với nhau bởi các thiết bị tầng 2. Như chúng ta đã biết, các gói tin quảng bá được các thiết bị tầng 2 chuyển tiếp ra toàn mạng, tuy nhiên các gói tin quảng bá được gửi đi quá nhiều sẽ làm giảm mạnh hiệu năng mạng, do đó cần có cơ chế để kiểm soát chúng, tương tự như việc kiểm soát xung đột. Để thực hiện việc kiểm soát vùng quảng bá cần sử dụng thiết bị tầng 3 (router). Trên thực tế, thiết bị router hoạt động ở cả ba tầng đầu của mô hình OSI và bao gồm tất cả các chức năng của các thiết bị thuộc các tầng này. Ngoài ra router còn có chức năng phân chia và kiểm soát vùng quảng bá. Chức năng chuyển tiếp ở tầng 3 hoạt động dựa trên địa chỉ IP chứ không dựa trên địa chỉ MAC. Để một gói tin được chuyển tiếp ở tầng 3, nó cần
phải chứa địa chỉ IP không nằm trong vùng địa chỉ gán cho đoạn mạng LAN đó, và router cần phải chứa địa chỉ tương ứng trong bảng định tuyến.
c. Sư phân chia miền xung đột và miền quảng bá đối với Switch
* Switch và miền xung đột
Miền xung đột là khu vực mà frame được phát hiện ra có thể bị đụng độ. Khi kết nối một máy vào một cổng của Switch, Switch sẽ tạo một kết nối riêng biệt cho máy đó. Kết nối này và một miền đụng độ riêng (ví dụ: nếu ta nối máy vào một cổng của một switch 12 cổng thì ta sẽ tạo ra 12 miền đụng độ riêng biệt.
Switch xây dựng bảng chuyển mạch bằng cách lấy địa chỉ MAC của các host kết nối trên mỗi port của switch. Khi hai host kết nối vào switch muốn liên lạc với nhau, switch sẽ tìm trong bảng chuyển mạch của nó và thiết lập kết nối ảo giữa hai cổng của hai host đó. Kết nối ảo này được duy trì cho đến khi phiên giao dịch kết thúc.
* Switch và miền quảng bá
Miền quảng bá Lớp 2 còn được xem là miền quảng bá MAC. Miền quảng bá MAC bao gồm tất cả các thiết bị trong LAN có thể nhận được frame quảng quảng bá từ một máy trong trong LAN đó.
Switch là thiết bị Lớp 2. Khi switch nhận được gói quảng bá thi nó sẽ gửi ra tất cả