Chương 4, 5: Tầng liên kết dữ liệu
Câu 16 (2 điểm): Nêu đặc điểm các giao thức hướng ký tự và hương bit?
Các giao thức tầng liên kết dữ liệu chia làm 2 loại chính là các giao thức hướng ký tư và các giao thức hướng bit. Các giao thức hướng ký tự được xây dựng dựa trên các ký tự đặc biệt của một bộ mã chuẩn (như ASCII hay EBCDIC), trong khi đó các giao thức hướng bit lại dùng các cấu trúc nhị phân (xâu bit) để xây dựng các phần tử của giao thức (đơn vị dữ liệu, các thủ tục.) và khi nhận, dữ liệu sẽ được tiếp nhận lần lượt từng bit một.Giao thức hướng bit là hoàn toàn tự nhiên khi truyền dữ liệu đi ( vì đường truyền vật lý truyền các bit streams.
Các giao thức hướng ký tự(0.5 điểm)
Chúng được dùng cho cả hai phương thức truyền dựa trên cách kết nối các máy tính, đó là phương thức "một điểm - một điểm" và phương thức "một điểm - nhiều điểm". Với phương thức "một điểm - một điểm" các đường truyền riêng biệt được thiết lâp để nối các cặp máy tính lại với nhau. Phương thức "một điểm - nhiều điểm " tất cả các máy phân chia chung một đường truyền vật lý.
Giao thức BSC/Basic mode(1 điểm)
Họ giao thức này áp dụng cho trường hợp điểm-điểm, hoặc điểm-nhiều điểm và hai chiều luân phiên; sử dụng các ký tự đặc biệt của bộ mã EBCDIC (đối với BSC) và ASCII (đối với Basic Mode).
Các ký tự đặc biệt đó gồm:
SOH (Start Of Header): chỉ bắt đầu của phần header
STX (Start Of Text): chỉ phẩn bắt đầu của phần dữ liệu (văn bản)
ETX (End Of Text): chỉ phẩn kết thúc của phần dữ liệu
EOT (End Of Transmission): chỉ sự kết thúc của một hoặc nhiều đơn vị dữ liệu và giải phóng liên kết).
ETB (End Of Transmission Block): chỉ sự kết thúc của một khối dữ liệu trong trường hợp dữ liệu được chia thành nhiều khối.
ENQ (Enquiry): để yêu cầu phúc đáp từ một trạm ở xa.
DLE (Data Link Escape): để thay đổi ý nghĩa của các ký tự điều khiển khác ACK (Acknowledge): để báo cho người gửi biết đã nhận tốt dữ liệu NAK (Negative Acknowledge): để báo cho người gửi biết đã nhận không tốt dữ liệu
SYN (Synchronous Idle): ký tự đồng bộ, dùng để duy trì sự đồng bộ giữa người gửi và người nhận.
Các giao thức hướng bit(0.5 điểm)
HDLC hỗ trợ 3 chế độ trao đổi số liệu
− NRM (Normal Response Mode) = chế độ trả lời bình thường: được sử dụng ở cấu hình không cân đối, S chỉ phát khi có yêu cầu của P.
− ARM (Asynchronous Response Mode) = chế độ trả lời không đồng bộ: được sử dụng ở cấu hình không cân đối, cho phép S phát không cần nhận được yêu cầu của P.
− ABM (Asynchronous Balanced Mode) = chế độ trả lời không đồng bộ ở cấu hình cân đối; hầu như chỉ được sử dụng trong mạng kết nối point-to-point + full-duplex. Hai thiết bị trao đổi với nhau là bình đẳng về chức năng (P và S)
Câu 17 (2 điểm): Trình bày chức năng của 2 tầng con MAC và LLC
Lớp con LLC(1 điểm).
Lớp con LCC tạo ra tính năng linh hoạt trong việc phục vụ cho các giao thức lớp mạng trên nó, trong khi vẫn liên lạc hiệu quả với các kỹ thuật khác nhau bên dưới nó. LLC với vai trò là lớp phụ tham gia vào quá trình đóng gói. LLC nhận đơn vị dữ liệu giao thức lớp mạng, như là các gói IP, và thêm nhiều
thông tin điều khiển vào để giúp phân phối gói IP đến đích của nó. Nó thêm hai thành phần địa chỉ của đặc tả 802.2 điểm truy xuất dịch vụ đích DSAP (Destination Service Access Point) và điểm truy xuất dịch vụ nguồn SSAP (Source Service Access Point). Nó đóng gói trở lại dạng IP, sau đó chuyển
xuống lớp phụ MAC để tiến hành các kỹ thuật đặc biệt được yêu cầu cho đóng gói tiếp theo. Lớp phụ LLC quản lý hoạt động thông tin giữa các thiết bị qua một liên kết đơn trên một mạng. LLC được định nghĩa trong đặc tả IEEE 802.2 và hỗ trợ các dịch vụ kết nối có cả tạo cầu nối và không tạo cầu nối, được dùng bởi các giao thức lớp cao hơn. IEEE 802.2 định nghĩa ra một số field trong các frame của lớp liên kết dữ liệu cho phép nhiều giao thức lớp cao hơn chia sẻ một liên kết vật lý đơn.
Lớp con MAC(1 điểm).
Lớp con MAC đề cập đến các giao thức chủ yếu phải theo để truy xuất vào môi trường vật lý. Tóm lại, lớp 2 có 4 khái niệm chính mà cần phải biết:
- Lớp 2 thông tin với các lớp trên thông qua LLC.
- Lớp 2 dùng chuẩn địa chỉ hóa ngang bằng (đó là gán các định danh duy nhất-các địa chỉ).
- Lớp 2 dùng kỹ thuật đóng frame để tổ chức hay nhóm dữ liệu.
- Lớp 2 dùng MAC để chọn máy tính nào sẽ truyền các dữ liệu nhị phân, từ một nhóm trong đó tất cả các máy tính đều muốn truyền cùng một lúc
Câu 18( 2 điểm): Trình bày các giao thức IS-IS?
IS-IS (1 điểm)
Là một giao thức định tuyến nộI (IGP) được phát triển năm 1980 bởi Digital Equipment. Sau đó ISIS được công nhận bởi tổ chức ISO như là một giao thức định tuyến chuẩn. ISIS được tạo ra nhằm các mục đích sau:
o Xây dựng một giao thức định tuyến chuẩn.
o Có cơ chế định vị địa chỉ rộng lớn.
o Có cơ chế định vị có cấu trúc.
o Hiệu quả, cho phép hội tụ nhanh và có phí tổn thấp.
Mục tiêu ban đầu của ISIS là tạo ra một giao thức mà tất cả các hệ thống có thể dùng. Tuy nhiên, để có thể đảm bảo một yếu tố thực sự mang tính mở (open), ISO đã cố gắng tích hợp mọi đặc điểm mang tính thuyết phục của các giao thức định tuyến khác vào ISIS. Kết quả là ISIS là một giao thức khá phức tạp. Phần lớn các nhà cung cấp dịch vụ Internet (ISP) dùng ISIS từ những năm ISIS được tạo ra. Điều này là do ISIS là một giao thức độc lập, có khả năng mở rộng và đặc biệt nhất là có khả năng định nghĩa “kiểu dịch vụ” trong quá trình routing (ToS routing).
Sự tương tự giữa ISIS và OSPF (1 điểm)
ISIS và OSPF có nhiều điểm chung. Cả hai đều là giao thức nhóm linkstate và dựa trên giải thuật Dijsktra của SPF. Thêm vào đó, cả hai đều hỗ trợ kiểu thiết kế cấu trúc. OSPF được triển khai trong hầu hết các mạng cấp công ty, trong khi ISIS được dùng trong các mạng ISP.
Trong ISIS, địa chỉ vùng và địa chỉ host được gán trong toàn bộ router, trong khi đối với OSPF, địa chỉ được gán ở cấp interface. Một ISIS router nằm trong một area, trong khi một OSPF router có thể thuộc về nhiều area. Điều này có nghĩa là tất cả các level-1 routers phải thuộc về cùng một vùng và thông qua level1-2 để kết nối đến các areas khác. Tuy nhiên, level-1-2 router cần phải nằm trong cùng một vùng với level-1 router mà nó tương tác. Router level-1-2 có thể thấy toàn bộ các AS và sẽ làm nhiệm vụ như là default-route đến level 1 area. Khái niệm này rất giống với OSPF stub area. Level 2 router sẽ gửi level 2 thông tin cập nhật đến các vùng khác giống như ABR trong OSPF.
Vai trò của DR thì hơi khác. DIS trong ISIS sẽ tồn tại ở cả level1 và level 2 trên những hệ thống mạng đa truy cập (multiaccess), nhưng sẽ không có BDR. Thêm nữa, trong OSPF DR sẽ luôn tồn tại; ngược lại trong ISIS nếu có một router khác có độ ưu tiên cao hơn, DIS hiện thời sẽ bị loại bỏ vai trò. Rất ít các quan hệ adjacencies được hình thành trong OSPF bởi vì OSPF router chỉ lập các quan hệ đối với DR và BDR; trong khi trong ISIS, tất cả các router sẽ thiết lập quan hệ với tất cả các router khác trên cùng segment mạng. Tuy nhiên, các LSP chỉ được gởi bởi DIS .
Một sự khác nhau lớn khác là quá trình đóng gói của hai giao thứcs. ISIS là độc lập vì nó chạy trực tiếp từ lớp datalink. Sự phân mảng (fragmentation) thuộc về trách nhiệm của ISIS. Ngược lại OSPF được đóng gói trong IP và vì vậy bị giới hạn bởi giao thức đó.
Các LSP cũng được quản lý hơi khác. Trong ISIS, các LSP không được công nhận sẽ bị bỏ qua và bị flood. Trong khi đối với OSPF, các LSA sẽ bỏ qua và drop.
Câu 19* (5 điểm): Trình bày thuật toán CRC.
CRC (2 điểm)
(cyclic redundancy check) là một loại hàm băm, được dùng để sinh ra giá trị kiểm thử, của một chuỗi bit có chiều dài ngắn và cố định, của các gói tin vận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị kiểm thử được dùng để dò lỗi khi dữ liệu được truyền hay lưu vào thiết bị lưu trữ. Giá trị của CRC sẽ được tính toán và đính kèm vào dữ liệu trước khi dữ liệu được truyền đi hay lưu trữ. Khi dữ liệu được sử dụng, nó sẽ được kiểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu.
CRC rất phổ biến, vì nó rất đơn giản để lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, dễ dàng phân tích tính đúng, và rất phù hợp để dò các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu.
CRC là một loại mã phát hiện lỗi. Cách tính toán của nó giống như phép toán chia số dài trong đó thương số được loại bỏ và số dư là kết quả, điểm khác biệt ở đây là sử dụng cách tính không nhớ (carry-less arithmetic) của một trường hữu hạn. Độ dài của số dư luôn nhỏ hơn hoặc bằng độ dài của số chia, do đó số chia sẽ quyết định độ dài có thể của kết quả trả về. Định nghĩa đối với từng loại CRC đặc thù quyết định số chia nào được sử dụng, cũng như nhiều ràng buộc khác.
Mặc dù các mã CRC có thể xây dựng được bằng cách sử dụng bất kỳ trường hữu hạn nào, nhưng tất cả các mã CRC thường dùng đều sử dụng trường hữu hạn GF(2). Đây là trường hai phần tử, thường được ký hiệu là 0 và 1, phù hợp với kiến trúc máy tính. Phần còn lại của bài viết sẽ chỉ đề cập đến những mã CRC thuộc dạng này, nhưng nguyên tắc thì khái quát hơn.
Tính toán CRC (2 điểm)
Để tính toán một mã nhị phân n bit CRC, xếp các bít biểu diễn đầu vào thành một hàng, và đặt mẫu (n+1) bit biểu diễn số chia của CRC (gọi là một "đa thức") vào bên dưới bên trái ở cuối hàng. Sau đây là phép tính đầu tiên để tính một hàm CRC 3 bít:
11010011101100 <--- Đầu vào
1011 <--- Số chia (4 bit = 3 + 1 bit)
--------------
01100011101100 <--- Kết quả (--> Lại đưa vào đầu vào của phép tính tiếp theo)
Nếu dãy nhị phân đầu vào bên trên có bít cực tả (đầu tiên bên trái) là 0, không làm gì hết và dịch số chia sang phải một bít. Nếu dãy nhị phân đầu vào bên trên có bít cực tả là 1, lấy dãy số đầu vào trừ đi số chia (hay nói cách khác, lấy từng bít ở dãy số đầu vào trên trừ đi từng bít ở số chia). Số chia sau đó dịch vị trí 1 bít sang phải, quá trình cứ tiếp diễn như vậy đến khi số chia chạm tới tận cùng bên phải của dãy số đầu vào. Đây là phép tính cuối cùng:
00000000001110 <--- Kết quả của phép nhân
1011 <--- Số chia
--------------
00000000000101 <--- Số dư (3 bits)
Do cực tả của số chia sẽ làm các bít tương ứng của dãy số đầu vào trở về 0 qua mỗi lần dịch, khi quá trình này kết thúc, chỉ còn những bít ở dãy đầu vào có thể không là 0 trở thành n bit cuối bên phải của dãy số. n bit này là số dư của bước chia, và cũng sẽ là giá trị hàm CRC (trừ khi hàm CRC được chọn đặc biệt được gọi cho một số công đoạn tiền xử lý).
Những hàm CRC thường dùng và được tiêu chuẩn hóa (1 điểm)
Các dạng mã kiểm soát lỗi CRC (cyclic redundancy check) được chia thành nhiều tiêu chuẩn, chúng không được tiêu chuẩn hóa thống nhất cho 1 thuật toán nào ở mỗi mức độ trên toàn cầu: có 3 đa thức CRC-12[1], ít nhất 8 biến thể có trong tài liệu của CRC-16, và 3 biến thể của CRC-32[2] được biết đến. Các đa thức thường được xem như không phải là tối ưu nhất có thể. Trong những năm từ 1993 đến 2004, Koopman, Castagnoli và một số nhà khoa học đã tiến hành tìm kiếm trong không gian các đa thức lên đến 16[3], và không gian 24 và 32 bit,[4][5] tìm các ví dụ có hiệu suất tốt hơn nữa (trong các điều kiện quãng cách Hamming cho một bức tin có kích thước cho trước) so với các đã thức trong các giao thức trước đó, và xuất bản những kết quả tốt nhất trong số chúng với mục đích cải thiện năng tực tìm lỗi cho cac tiêu chuẩn trong tương lai[5].
Far from being arbitrarily chosen, đa thức phổ biển CRC-32 , được IEEE giới thiệu và được dùng trong V.42, Ethernet, FDDI và ZIP và các file PNG cũng như nhiều ứng dụng khác, là một đa thức sinh ra từ mã Hamming và được chọn để tìm lỗi[6] trong các kênh truyền thông. Dù vậy, nó còn có hiệu suất tốt hơn với đa thức Castagnoli CRC-32C sử dụng ở iSCSI[5] trong các môi trường Internet SCSI.
.
Câu 20** (3 điểm): Trình bày thuật toán giải quyết bài toán đa truy cập?
Khía cạnh thú vị nhất của Ethernet là kỹ thuật đường dùng trong việc phối hợp truyền thông. Mạng Ethernet không điều khiển tập trung đến việc các máy luân phiên chia sẻ đường cáp. Lúc đó các máy nối với Ethernet sẽ tham gia vào một lược đồ phối hợp phân bổ gọi là Cảm sóng đa truy (CSMA –
Carrier Sence with Multiple Access). Để xác định cáp có đang dùng không, máy tính có thể kiểm tra sóng mang (carrier - dạng tín hiệu mà máy tính truyền trên cáp). Nếu có sóng mang, máy phải chờ cho đến khi bên gởi kết thúc. Về mặt kỹ thuật, kiểm tra một sóng mang được gọi là cảm sóng (carrier
sence), và ý tưởng sử dụng sự hiện hữu của tín hiệu để quyết định khi nào thì truyền gọi là Cảm song đa truy (CSMA).Vì CSMA cho phép mỗi máy tính xác định đường cáp chia sẻ có đang được máy khác sử dụng hay không nên nó ngăn cấm một máy cắt ngang việc truyền đang diễn ra. Tuy nhiên, CSMA không thể ngăn ngừa tất cả các xung đột có thể xảy ra. Để hiểu lý do tại sao, hãy tưởng tượng chuyện gì xảy ra nếu hai máy tính ở hai đầu cáp đang nghỉ nhận được yêu cầu gởi khung. Cả hai cùng kiểm tín hiệu mang, cùng thấy cáp đang trống và cả hai bắt đầu gởi khung. Các tín hiệu phát từ hai máy sẽ gây nhiễu lẫn nhau. Hai tín hiệu gây nhiễu lẫn nhau gọi là xung đột hay đụng độ (collision). Vùng có khả năng xảy ra đụng độ khi truyền gói tin được gọi là Collision Domain. Máy đầu tiên trên đường truyền phát hiện được xung đột sẽ phát sinh tín hiệu xung đột cho các máy khác. Tuy xung đột không làm hỏng phần cứng nhưng nó tạo ra một sự truyền thông méo mó và hai khung nhận được sẽ không chính xác. Để xử lý các biến cố như vậy, Ethernet yêu cầu mỗi bên gởi tín hiệu giám sát (monitor) trên cáp để bảo đảm không có máy nào khác truyền đồng thời. Khi máy gởi phát hiện đụng độ, nó ngưng truyền ngay lập tức, và tiếp tục bắt đầu lại quá trình chuẩn bị việc truyền tin sau một khoảng thời gian ngẫu nhiên. Việc giám sát cáp như vậy gọi là phát hiện đụng (CD – collision detect), và kỹ thuật Ethernet đó được gọi là Cảm sóng đa truy với phát hiện đụng (CSMA/CD).
Câu 16 (2 điểm): Nêu đặc điểm các giao thức hướng ký tự và hương bit?
Các giao thức tầng liên kết dữ liệu chia làm 2 loại chính là các giao thức hướng ký tư và các giao thức hướng bit. Các giao thức hướng ký tự được xây dựng dựa trên các ký tự đặc biệt của một bộ mã chuẩn (như ASCII hay EBCDIC), trong khi đó các giao thức hướng bit lại dùng các cấu trúc nhị phân (xâu bit) để xây dựng các phần tử của giao thức (đơn vị dữ liệu, các thủ tục.) và khi nhận, dữ liệu sẽ được tiếp nhận lần lượt từng bit một.Giao thức hướng bit là hoàn toàn tự nhiên khi truyền dữ liệu đi ( vì đường truyền vật lý truyền các bit streams.
Các giao thức hướng ký tự(0.5 điểm)
Chúng được dùng cho cả hai phương thức truyền dựa trên cách kết nối các máy tính, đó là phương thức "một điểm - một điểm" và phương thức "một điểm - nhiều điểm". Với phương thức "một điểm - một điểm" các đường truyền riêng biệt được thiết lâp để nối các cặp máy tính lại với nhau. Phương thức "một điểm - nhiều điểm " tất cả các máy phân chia chung một đường truyền vật lý.
Giao thức BSC/Basic mode(1 điểm)
Họ giao thức này áp dụng cho trường hợp điểm-điểm, hoặc điểm-nhiều điểm và hai chiều luân phiên; sử dụng các ký tự đặc biệt của bộ mã EBCDIC (đối với BSC) và ASCII (đối với Basic Mode).
Các ký tự đặc biệt đó gồm:
SOH (Start Of Header): chỉ bắt đầu của phần header
STX (Start Of Text): chỉ phẩn bắt đầu của phần dữ liệu (văn bản)
ETX (End Of Text): chỉ phẩn kết thúc của phần dữ liệu
EOT (End Of Transmission): chỉ sự kết thúc của một hoặc nhiều đơn vị dữ liệu và giải phóng liên kết).
ETB (End Of Transmission Block): chỉ sự kết thúc của một khối dữ liệu trong trường hợp dữ liệu được chia thành nhiều khối.
ENQ (Enquiry): để yêu cầu phúc đáp từ một trạm ở xa.
DLE (Data Link Escape): để thay đổi ý nghĩa của các ký tự điều khiển khác ACK (Acknowledge): để báo cho người gửi biết đã nhận tốt dữ liệu NAK (Negative Acknowledge): để báo cho người gửi biết đã nhận không tốt dữ liệu
SYN (Synchronous Idle): ký tự đồng bộ, dùng để duy trì sự đồng bộ giữa người gửi và người nhận.
Các giao thức hướng bit(0.5 điểm)
HDLC hỗ trợ 3 chế độ trao đổi số liệu
− NRM (Normal Response Mode) = chế độ trả lời bình thường: được sử dụng ở cấu hình không cân đối, S chỉ phát khi có yêu cầu của P.
− ARM (Asynchronous Response Mode) = chế độ trả lời không đồng bộ: được sử dụng ở cấu hình không cân đối, cho phép S phát không cần nhận được yêu cầu của P.
− ABM (Asynchronous Balanced Mode) = chế độ trả lời không đồng bộ ở cấu hình cân đối; hầu như chỉ được sử dụng trong mạng kết nối point-to-point + full-duplex. Hai thiết bị trao đổi với nhau là bình đẳng về chức năng (P và S)
Câu 17 (2 điểm): Trình bày chức năng của 2 tầng con MAC và LLC
Lớp con LLC(1 điểm).
Lớp con LCC tạo ra tính năng linh hoạt trong việc phục vụ cho các giao thức lớp mạng trên nó, trong khi vẫn liên lạc hiệu quả với các kỹ thuật khác nhau bên dưới nó. LLC với vai trò là lớp phụ tham gia vào quá trình đóng gói. LLC nhận đơn vị dữ liệu giao thức lớp mạng, như là các gói IP, và thêm nhiều
thông tin điều khiển vào để giúp phân phối gói IP đến đích của nó. Nó thêm hai thành phần địa chỉ của đặc tả 802.2 điểm truy xuất dịch vụ đích DSAP (Destination Service Access Point) và điểm truy xuất dịch vụ nguồn SSAP (Source Service Access Point). Nó đóng gói trở lại dạng IP, sau đó chuyển
xuống lớp phụ MAC để tiến hành các kỹ thuật đặc biệt được yêu cầu cho đóng gói tiếp theo. Lớp phụ LLC quản lý hoạt động thông tin giữa các thiết bị qua một liên kết đơn trên một mạng. LLC được định nghĩa trong đặc tả IEEE 802.2 và hỗ trợ các dịch vụ kết nối có cả tạo cầu nối và không tạo cầu nối, được dùng bởi các giao thức lớp cao hơn. IEEE 802.2 định nghĩa ra một số field trong các frame của lớp liên kết dữ liệu cho phép nhiều giao thức lớp cao hơn chia sẻ một liên kết vật lý đơn.
Lớp con MAC(1 điểm).
Lớp con MAC đề cập đến các giao thức chủ yếu phải theo để truy xuất vào môi trường vật lý. Tóm lại, lớp 2 có 4 khái niệm chính mà cần phải biết:
- Lớp 2 thông tin với các lớp trên thông qua LLC.
- Lớp 2 dùng chuẩn địa chỉ hóa ngang bằng (đó là gán các định danh duy nhất-các địa chỉ).
- Lớp 2 dùng kỹ thuật đóng frame để tổ chức hay nhóm dữ liệu.
- Lớp 2 dùng MAC để chọn máy tính nào sẽ truyền các dữ liệu nhị phân, từ một nhóm trong đó tất cả các máy tính đều muốn truyền cùng một lúc
Câu 18( 2 điểm): Trình bày các giao thức IS-IS?
IS-IS (1 điểm)
Là một giao thức định tuyến nộI (IGP) được phát triển năm 1980 bởi Digital Equipment. Sau đó ISIS được công nhận bởi tổ chức ISO như là một giao thức định tuyến chuẩn. ISIS được tạo ra nhằm các mục đích sau:
o Xây dựng một giao thức định tuyến chuẩn.
o Có cơ chế định vị địa chỉ rộng lớn.
o Có cơ chế định vị có cấu trúc.
o Hiệu quả, cho phép hội tụ nhanh và có phí tổn thấp.
Mục tiêu ban đầu của ISIS là tạo ra một giao thức mà tất cả các hệ thống có thể dùng. Tuy nhiên, để có thể đảm bảo một yếu tố thực sự mang tính mở (open), ISO đã cố gắng tích hợp mọi đặc điểm mang tính thuyết phục của các giao thức định tuyến khác vào ISIS. Kết quả là ISIS là một giao thức khá phức tạp. Phần lớn các nhà cung cấp dịch vụ Internet (ISP) dùng ISIS từ những năm ISIS được tạo ra. Điều này là do ISIS là một giao thức độc lập, có khả năng mở rộng và đặc biệt nhất là có khả năng định nghĩa “kiểu dịch vụ” trong quá trình routing (ToS routing).
Sự tương tự giữa ISIS và OSPF (1 điểm)
ISIS và OSPF có nhiều điểm chung. Cả hai đều là giao thức nhóm linkstate và dựa trên giải thuật Dijsktra của SPF. Thêm vào đó, cả hai đều hỗ trợ kiểu thiết kế cấu trúc. OSPF được triển khai trong hầu hết các mạng cấp công ty, trong khi ISIS được dùng trong các mạng ISP.
Trong ISIS, địa chỉ vùng và địa chỉ host được gán trong toàn bộ router, trong khi đối với OSPF, địa chỉ được gán ở cấp interface. Một ISIS router nằm trong một area, trong khi một OSPF router có thể thuộc về nhiều area. Điều này có nghĩa là tất cả các level-1 routers phải thuộc về cùng một vùng và thông qua level1-2 để kết nối đến các areas khác. Tuy nhiên, level-1-2 router cần phải nằm trong cùng một vùng với level-1 router mà nó tương tác. Router level-1-2 có thể thấy toàn bộ các AS và sẽ làm nhiệm vụ như là default-route đến level 1 area. Khái niệm này rất giống với OSPF stub area. Level 2 router sẽ gửi level 2 thông tin cập nhật đến các vùng khác giống như ABR trong OSPF.
Vai trò của DR thì hơi khác. DIS trong ISIS sẽ tồn tại ở cả level1 và level 2 trên những hệ thống mạng đa truy cập (multiaccess), nhưng sẽ không có BDR. Thêm nữa, trong OSPF DR sẽ luôn tồn tại; ngược lại trong ISIS nếu có một router khác có độ ưu tiên cao hơn, DIS hiện thời sẽ bị loại bỏ vai trò. Rất ít các quan hệ adjacencies được hình thành trong OSPF bởi vì OSPF router chỉ lập các quan hệ đối với DR và BDR; trong khi trong ISIS, tất cả các router sẽ thiết lập quan hệ với tất cả các router khác trên cùng segment mạng. Tuy nhiên, các LSP chỉ được gởi bởi DIS .
Một sự khác nhau lớn khác là quá trình đóng gói của hai giao thứcs. ISIS là độc lập vì nó chạy trực tiếp từ lớp datalink. Sự phân mảng (fragmentation) thuộc về trách nhiệm của ISIS. Ngược lại OSPF được đóng gói trong IP và vì vậy bị giới hạn bởi giao thức đó.
Các LSP cũng được quản lý hơi khác. Trong ISIS, các LSP không được công nhận sẽ bị bỏ qua và bị flood. Trong khi đối với OSPF, các LSA sẽ bỏ qua và drop.
Câu 19* (5 điểm): Trình bày thuật toán CRC.
CRC (2 điểm)
(cyclic redundancy check) là một loại hàm băm, được dùng để sinh ra giá trị kiểm thử, của một chuỗi bit có chiều dài ngắn và cố định, của các gói tin vận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị kiểm thử được dùng để dò lỗi khi dữ liệu được truyền hay lưu vào thiết bị lưu trữ. Giá trị của CRC sẽ được tính toán và đính kèm vào dữ liệu trước khi dữ liệu được truyền đi hay lưu trữ. Khi dữ liệu được sử dụng, nó sẽ được kiểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu.
CRC rất phổ biến, vì nó rất đơn giản để lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, dễ dàng phân tích tính đúng, và rất phù hợp để dò các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu.
CRC là một loại mã phát hiện lỗi. Cách tính toán của nó giống như phép toán chia số dài trong đó thương số được loại bỏ và số dư là kết quả, điểm khác biệt ở đây là sử dụng cách tính không nhớ (carry-less arithmetic) của một trường hữu hạn. Độ dài của số dư luôn nhỏ hơn hoặc bằng độ dài của số chia, do đó số chia sẽ quyết định độ dài có thể của kết quả trả về. Định nghĩa đối với từng loại CRC đặc thù quyết định số chia nào được sử dụng, cũng như nhiều ràng buộc khác.
Mặc dù các mã CRC có thể xây dựng được bằng cách sử dụng bất kỳ trường hữu hạn nào, nhưng tất cả các mã CRC thường dùng đều sử dụng trường hữu hạn GF(2). Đây là trường hai phần tử, thường được ký hiệu là 0 và 1, phù hợp với kiến trúc máy tính. Phần còn lại của bài viết sẽ chỉ đề cập đến những mã CRC thuộc dạng này, nhưng nguyên tắc thì khái quát hơn.
Tính toán CRC (2 điểm)
Để tính toán một mã nhị phân n bit CRC, xếp các bít biểu diễn đầu vào thành một hàng, và đặt mẫu (n+1) bit biểu diễn số chia của CRC (gọi là một "đa thức") vào bên dưới bên trái ở cuối hàng. Sau đây là phép tính đầu tiên để tính một hàm CRC 3 bít:
11010011101100 <--- Đầu vào
1011 <--- Số chia (4 bit = 3 + 1 bit)
--------------
01100011101100 <--- Kết quả (--> Lại đưa vào đầu vào của phép tính tiếp theo)
Nếu dãy nhị phân đầu vào bên trên có bít cực tả (đầu tiên bên trái) là 0, không làm gì hết và dịch số chia sang phải một bít. Nếu dãy nhị phân đầu vào bên trên có bít cực tả là 1, lấy dãy số đầu vào trừ đi số chia (hay nói cách khác, lấy từng bít ở dãy số đầu vào trên trừ đi từng bít ở số chia). Số chia sau đó dịch vị trí 1 bít sang phải, quá trình cứ tiếp diễn như vậy đến khi số chia chạm tới tận cùng bên phải của dãy số đầu vào. Đây là phép tính cuối cùng:
00000000001110 <--- Kết quả của phép nhân
1011 <--- Số chia
--------------
00000000000101 <--- Số dư (3 bits)
Do cực tả của số chia sẽ làm các bít tương ứng của dãy số đầu vào trở về 0 qua mỗi lần dịch, khi quá trình này kết thúc, chỉ còn những bít ở dãy đầu vào có thể không là 0 trở thành n bit cuối bên phải của dãy số. n bit này là số dư của bước chia, và cũng sẽ là giá trị hàm CRC (trừ khi hàm CRC được chọn đặc biệt được gọi cho một số công đoạn tiền xử lý).
Những hàm CRC thường dùng và được tiêu chuẩn hóa (1 điểm)
Các dạng mã kiểm soát lỗi CRC (cyclic redundancy check) được chia thành nhiều tiêu chuẩn, chúng không được tiêu chuẩn hóa thống nhất cho 1 thuật toán nào ở mỗi mức độ trên toàn cầu: có 3 đa thức CRC-12[1], ít nhất 8 biến thể có trong tài liệu của CRC-16, và 3 biến thể của CRC-32[2] được biết đến. Các đa thức thường được xem như không phải là tối ưu nhất có thể. Trong những năm từ 1993 đến 2004, Koopman, Castagnoli và một số nhà khoa học đã tiến hành tìm kiếm trong không gian các đa thức lên đến 16[3], và không gian 24 và 32 bit,[4][5] tìm các ví dụ có hiệu suất tốt hơn nữa (trong các điều kiện quãng cách Hamming cho một bức tin có kích thước cho trước) so với các đã thức trong các giao thức trước đó, và xuất bản những kết quả tốt nhất trong số chúng với mục đích cải thiện năng tực tìm lỗi cho cac tiêu chuẩn trong tương lai[5].
Far from being arbitrarily chosen, đa thức phổ biển CRC-32 , được IEEE giới thiệu và được dùng trong V.42, Ethernet, FDDI và ZIP và các file PNG cũng như nhiều ứng dụng khác, là một đa thức sinh ra từ mã Hamming và được chọn để tìm lỗi[6] trong các kênh truyền thông. Dù vậy, nó còn có hiệu suất tốt hơn với đa thức Castagnoli CRC-32C sử dụng ở iSCSI[5] trong các môi trường Internet SCSI.
.
Câu 20** (3 điểm): Trình bày thuật toán giải quyết bài toán đa truy cập?
Khía cạnh thú vị nhất của Ethernet là kỹ thuật đường dùng trong việc phối hợp truyền thông. Mạng Ethernet không điều khiển tập trung đến việc các máy luân phiên chia sẻ đường cáp. Lúc đó các máy nối với Ethernet sẽ tham gia vào một lược đồ phối hợp phân bổ gọi là Cảm sóng đa truy (CSMA –
Carrier Sence with Multiple Access). Để xác định cáp có đang dùng không, máy tính có thể kiểm tra sóng mang (carrier - dạng tín hiệu mà máy tính truyền trên cáp). Nếu có sóng mang, máy phải chờ cho đến khi bên gởi kết thúc. Về mặt kỹ thuật, kiểm tra một sóng mang được gọi là cảm sóng (carrier
sence), và ý tưởng sử dụng sự hiện hữu của tín hiệu để quyết định khi nào thì truyền gọi là Cảm song đa truy (CSMA).Vì CSMA cho phép mỗi máy tính xác định đường cáp chia sẻ có đang được máy khác sử dụng hay không nên nó ngăn cấm một máy cắt ngang việc truyền đang diễn ra. Tuy nhiên, CSMA không thể ngăn ngừa tất cả các xung đột có thể xảy ra. Để hiểu lý do tại sao, hãy tưởng tượng chuyện gì xảy ra nếu hai máy tính ở hai đầu cáp đang nghỉ nhận được yêu cầu gởi khung. Cả hai cùng kiểm tín hiệu mang, cùng thấy cáp đang trống và cả hai bắt đầu gởi khung. Các tín hiệu phát từ hai máy sẽ gây nhiễu lẫn nhau. Hai tín hiệu gây nhiễu lẫn nhau gọi là xung đột hay đụng độ (collision). Vùng có khả năng xảy ra đụng độ khi truyền gói tin được gọi là Collision Domain. Máy đầu tiên trên đường truyền phát hiện được xung đột sẽ phát sinh tín hiệu xung đột cho các máy khác. Tuy xung đột không làm hỏng phần cứng nhưng nó tạo ra một sự truyền thông méo mó và hai khung nhận được sẽ không chính xác. Để xử lý các biến cố như vậy, Ethernet yêu cầu mỗi bên gởi tín hiệu giám sát (monitor) trên cáp để bảo đảm không có máy nào khác truyền đồng thời. Khi máy gởi phát hiện đụng độ, nó ngưng truyền ngay lập tức, và tiếp tục bắt đầu lại quá trình chuẩn bị việc truyền tin sau một khoảng thời gian ngẫu nhiên. Việc giám sát cáp như vậy gọi là phát hiện đụng (CD – collision detect), và kỹ thuật Ethernet đó được gọi là Cảm sóng đa truy với phát hiện đụng (CSMA/CD).