TiÓu luËn: øng dông m· CRC trong mạng ATM
Chương I Giới Giới thiêụ tổng tổng quan về ATM I. Giới thiê ̣u về ATM............. ATM.......................... .......................... ......................... ....................................................03 ........................................03 I.1. Nguyên lý cơ bản bản của của ATM............ ATM......................... .......................... ............................................04 ...............................04 I.2. Cấu trúc trúc luồng luồng thông tin trong ATM............. ATM......................... ......................... .......................... ..................06 .....06 I.3. Đăc̣c̣ điểm của của ATM............. ATM.......................... ......................... ......................... ............................................06 ...............................06 I.4. Mô hình giao thức chuẩn của ATM......................... ATM...................................... ................................ ...................07 07 I.5. Lớp tương thích ATM.................................... ATM................................................. .......................... .......................... ................09 ...09 I.5.1. Giao thức lớp AAL...................... AAL................................... ......................... ..................................... ...........................09 ..09 I.5.2. Giao thức lớp AAL 5................................ 5............................................ ..................................... ...........................10 ..10 I.6. Cấu trúc phần đầu đ ầu tế bào........................ bào..................................... .......................... ......................... ........................12 ............12 II. Các loại lỗi tế bào.................................. bào............................................... .......................... .................................... ...............................18 ........18 II.1. Mất tế bào do lỗi phần tiêu đề.............................. đề.................................................... ..................................18 ............18 II.2. Mất tế bào do tràn hàng đợi.............................. đợi........................................... ......................................20 .........................20
Chương II Điều khiển khiển lỗi tiêu đề 1. Môṭṭ số chứ chức năng năng củ củ a trường HEC...................... HEC................................... ..........................................21 .............................21 2. Điều khiển lỗi............ lỗi......................... .......................... .......................... ......................... ......................... ................................ .....................21 ..21 II.1. Điều Điều khiển lỗi lỗi mào đầu............ đầu......................... .......................... .......................... ......................... ........................21 ............21 II.2. Phân tách tách tế bào và tạo tín tín hiêụụ giả ngẫu nhiên...................... nhiên......................................23 ................23 3. Thu huââ ̣t toá toá n điều điều khiển lỗi........... lỗi........................ .......................... ......................... ......................... ...............................24 ..................24
Chương 3 Tính Tính toán toán hai bước bước của của mã đô ̣ dư tuầ tuần n hoàn hoàn CRC-32 cho ATM I. Giới thiệu....................... thiệu.................................... ......................... ......................... .......................... .......................... ......................... ...................29 .......29 II. Tổng quan....................... quan.................................... .......................... ......................... ......................... ......................................... .............................29 .29 III. Hoàn cảnh hiện tại....................... tại................................... ......................... .......................... .........................................30 ............................30 IV. Đơn giản hoá phép tính............................... tính............................................ ..................................................31 .....................................31 Trang 1
TiÓu luËn: øng dông m· CRC trong mạng ATM IV.1. Đơn giản M(x)........................ M(x)..................................... ......................... ......................... .......................... .........................31 ............31 IV.2. Phép chia cuối cùng....................... cùng.................................... .......................................................32 ..........................................32 V. Tổng kết phương pháp....................... pháp.................................... ......................... ......................... ....................................34 .......................34 VI. Chương trình mô phỏng......................... phỏng..................................... ......................... ......................................... ..............................35 ..35
Chương 1 Trang 2
TiÓu luËn: øng dông m· CRC trong mạng ATM
Giới thiêụ tổng quan về ATM I. Giới Giới thiêụ về ATM ATM là chữ viết tắt củ a kiểu truyền truyề n tải tả i không đồng bô ̣ (Asynchronous Transfer Transfer Mode). Mode). Nghiên Nghiên cứu cứu đầu đầu tiên về ATM và các kỹ thuâ ̣t có liên quan đã được được 2 trung tâm của CNET và AT&T công bố năm 1983. Trong năm 1984, trung tâm nghiên cứu cứu của Alcatel Bell đã bắt đầ đầuu phát triển các các khái khái niê ̣m ATM. ATM có các đă c̣c̣ tính cơ bản giống chuyển mạch gói gó i vì ATM là phương thức truyền truyền tin trong đó thông tin được đượ c chia thành các cá c gói có chiều dài dà i nhỏ không thay đổi đổi gọi là các tế bào bà o tin. Tế bào tin được đượ c truyền truyền đô ̣c lâ ̣p và sẽ được đượ c sắ p xếp lại lại thứ tự ở đầu đầu thu. ATM không đồng đồng bô ̣ bởi bởi lý do sự xuất xuất hiê ̣n liên tục các tế bào bà o ở trên các cá c kênh không phụ thuô ̣c chu kỳ. ITU đã chọn chọ n công nghê ̣ ATM như công nghê ̣ chuyển chuyển mạch hoă ̣c kiể kiểuu chuyển chuyển tải tải cho B- ISDN, nền tảng của của mọi thông tin băng rô ̣ng. ATM được đượ c coi là công nghê ̣ của củ a thế kỷ 21 và người người ta đang trông đợi đợi tính phổ dụng dụng của nó như công nghê ̣ PCM đang sử dụ dụng ng hiê ̣n nay. Từ không đồng đồng bô ̣ được được sử dụng bởi bở i vì ATM cho phé p phé p hoạt đông ̣ không ̣ng đồng đồ ng bô ̣ giữa phía phát phát và phía thu. Sự không đồng đồ ng bô ̣ này có thể xử lý dễ dàng bằng bằng viêc̣c̣ chèn hay tách các cá c tế bào bà o không phâm nhiê ̣m (tế nào rỗ rỗng). ng). Đó là các cá c gói không mang thông tin. Môṭṭ trong nhiều đăc̣c̣ tính tính đăc̣c̣ biê ̣t củ củaa ATM là nó có khả năng bảo bảo đảm vâ ̣n chuyển tin câỵ̣y bất bất kỳ mô ̣t loại loại dịch dịch vụ nào mà không cần quan tâm đến đến tốc tốc đô ̣ (tốc đô ̣ không đổi đổi hay tốc đô ̣ thay đổi ), yêu cầu cầu chất lượng lượng hoă ̣c đăc̣c̣ tính tính bùng bùng nổ tự nhiên của lưu lượng. lượng. ATM có thể được đượ c cho môi trường mạng. Ngoài ra, các tế bào bà o ATM có đô ̣ dài đồng đồng nhất do vâ ̣y viê ̣c đị định nh tuyến, tuyến, chèn, n, tách, tách, hay ghép các tế bào bào nhanh hơn mà không cần quan tâm đến đế n thông tin được đượ c mang trong tế bào ATM. Vì vâ ̣y, cuối cùng cùng ITU-T quyết định chọn phương thức thứ c truyền ATM làm mạng mạng phục vụ cho các dịch dịch vụ trong mạng băng rông. nhữ ng ưu điểm điểm ̣ Thâṭṭ vâ ̣y mạng ATM có những ̣ng. sau: hành, khai thác và quản lý. lý. Giảm chi phí vì sử dụ dụng ng ghép Giảm giá thành vâ ̣n hành, thống kê. Điều khiển được được nhiều loại lưu thông khác nhau như: Dữ Liê ̣u, Tiế Tiếng ng Nói, Nói, Điều Hình Hình ảnh, ảnh, Video,... Đáp ứng ứ ng cho mọi mọi nhu cầu cầu của người người dùng dùng khác nhau.
Trang 3
TiÓu luËn: øng dông m· CRC trong mạng ATM Khả năng sử dụng dụ ng đường đường truyền truyền hiê ̣u qủa: Cho phép truyền các ứ ng dụng dụng hình ảnh, dữ liê ̣u, .. có tốc đô ̣ cố định, hoă ̣c biến đổ đổii theo thời gian hoă c̣c̣ ngắt quãng. cứng: Với Với chiều chiều dài tế bào cố định là Dùng kỹ thuâ ̣t chuyển mạch bằng phần cứng: 53 Bytes, ATM cho phé p phé p viê ̣c xử lý chuyển mạch bằng bằng các các phần cứng cứng có tốc đô ̣ rất nhanh, giảm thiểu thờ i gian chuyển chuyển mạch và tăng đáng đá ng kể tốc tố c đô ̣ truyền. các nhóm kênh ảo: ảo: Nhóm kênh ảo được đượ c định định nghĩa nghĩa Cho khả năng thiết lâ p̣ các bằng bằng chỉ số nhâ ̣n dạ dạng ng ảo ảo (VPI/VCI), Do vâỵỵ có thể tạo tạ o mới, mới, thay đổi lưu lượng lượng hoăc̣c̣ lô ̣ trình bằng cách điều điều khiển viê ̣c gán cá cácc nhãn địa địa chỉ tại các các nút nút chuyển chuyển mạch. mạch. Khả năng này này cho phép viê ̣c quản quản lý và điều điề u hành hành mạng năng đông. ̣ ̣ng. tính truyền dẫn mềm dẻo: Cho phép hầu hầ u như không giới hạn hạ n về tốc tố c đô ̣ Đăc̣c̣ tính của của mỗi kênh cũng cũng như số lượng lượng các các kênh vì mỗi kênh thông tin được đượ c thiết thiết lâ ̣p bằ bằng ng chuỗi chuỗi các các tế bào bào ATM, số lượng lượng các tế bào bào được được truyền truyền đi trong mô ̣t đơn vị thời gian là tự do, số lượng lượng kênh trên mô ̣t đườ đường ng truyền truyền phụ thuô ̣c vào số các các nhâ ̣n dạng logic nên tố tốcc đô ̣ mỗi mỗi kênh thông tin luôn đạt đến đế n mức mức tối tối đa có thể được. được. ATM có thể đá p đá p ứng dễ dàng các dịch vụ có tốc đô ̣ khác nhau và các dịch dịch vụ trong tương lai. cầu: ATM là kỹ thuâ ̣t hiê ̣u qủa qủ a Có khả năng cung cấ p băng thông theo yêu cầu: cho viê ̣c xây dựng mạng: mạng: Người Người sử dụng dụng có thể kết nối nố i với mạng bằng cách dùng dù ng những những bô ̣ thích ứng ứng hỗ trợ băng thông tùy tùy theo yêu cầu cầu riêng của người sử dụng đó. đó.
I.1. Nguyên lý cơ bản của của ATM. Trong mục này này chúng chúng ta sẽ tìm tìm hiểu nguyên lí ATM: phân đoạn đoạ n và tái tái hợ p. Mô ̣t cách cách quản trị tốt tố t các các luồng luồng thông tin lớn lớn là cắt cắt các thông tin thành các cá c gói có đô ̣ dài bằng nhau còn gọi gọi là các tế bào bào có gán tiêu để để gói gói có thể được được định định tuyến tới đích đích của của nó. nó. Các tiêu đề trong ATM có rất í t chức chức năng do vâỵỵ chúng chúng có thể được được chuyển qua mạng mà hầu như không phải xử lý. lý. Hình 1.2 chỉ ra lưu lượng lượng với các các tốc đô ̣ khác khác nhau 64 Kbps, 2Mbps, 34Mbps được được cắt thành thành các các gói bằng bằng nhau- tế bào. bào. các các tế bào bào từ các nguồn khác khá c nhau được được đưa vào miê ng ̣ ̣ng ống truyền dẫn số để trô ̣n theo cách sao cho truyền dẫ dẫnn tối ưu nhất. Tối Tối ưu hoá ở đay được đượ c thực hiê ̣n bằ bằng ng kỹ thuâṭṭ ghép kênh thống kê. trong môṭṭ mạng mạng ATM, vài nguồn nguồ n và tổ hợ p hợ p được được ghép lại với nhau trên mô ̣t đường đườ ng Trang 4
TiÓu luËn: øng dông m· CRC trong mạng ATM đơn. trong mạng ghép kênh theo thời gian TDM, băng thông hiê ụ dụng bằng tổng băng thông của các nguồn đô ̣c lâ p. ̣ Nếu hai nguồn có băng thông tương ứng là x bps và y bps thì băng thông hiê ̣u dụng sẽ là (x+y) bps. Còn trong mạng ATM, băng thông hiê ̣u dụ ng z< (x+y) bps vì mọi thông tin trong các bít được phân gói trong các tế bào ATM. Sau đó chuyển mạch ATM ghé p các tế bào thông tin và loại bỏ các tế bào zero hay các tế bào không hợ p lê ̣. Do vâ ̣y băng thông hiê ̣u dụng giảm. băng thông này cũng có thể mang lưu lượng của người sử dụng khác. Hình 1.1 biểu diễn sự so sánh giữa ghé p TDM truyền thống và ghép thống kê. Từ hình vẽ này ta thấy, trong TDM băng thông bị lãng phí vì viê ̣ch gán băng thông cố định, còn trong ATM không có hiê ̣n tượng này vì sử dụng ghé p thống kê. Để thực hiê ̣n được ghép thống kê, mọi lưu lượng ngay cả lưu lượng thoại cũng phải được tạo gói để tạo ra lưu lượng có tốc đô ̣ truyền thay đổi VBR. 64Kbps 2Mbps 34Mbps **
**
**
**
Các tế bào
Các tế bào (Cell) ống dẫn sóng
Các tế bào 155M bpstrống
Hình 1.1 Nguyên lý ATM Trang 5
TiÓu luËn: øng dông m· CRC trong mạng ATM Chuyển mạch ATM không phân biê ̣t kiểu lưu lượng mang trong gói mà nó chỉ cần biết cổng đầu vào nơi các tế bào đi vào và cổng đích nơi các tế bào đi ra. Người ta cũng nghiên cứu để đưa ra mô ̣t quyết định về kích thước các tế bào. Dựa vào các yếu tố chính: Hiê ̣u quả truyền dẫn: tế bào kích thước càng lớn thì đô ̣ trễ càng lớn, tế bào kích thước càng nhỏ thì tỷ lê ̣ đề mục đối với thông tin càng cao. Đô ̣ trễ: tế bào bị trễ bở i nhiều nguyên nhân, nguyên nhân gây trễ khác nhau như: trễ truyền dẫn, trễ do chờ, do Jitter, do viê ̣c tạo gói và hợ p gói... Đô ̣ phức tạ p khi thực hiê ̣n. Ngoài ra còn nhiều yếu tố khác cũng ảnh hưởng đến viê ̣c chọn kích thước tế bào và tháng 6- 1990 tại Geneva, ITU- T đã quyết định chọn kích thước tế bào và thêm 5 bit thông tin tiêu đề (header). Do vâ ̣y tế bào ATM gồm 53 byte.
I.2. Cấu trúc luồng thông tin trong atm:
Hình 1.2 Cấu trúc luồng thông tin ATM Luồng thông tin trong ATM bao gồm mô ̣t dãy liên tiế p các tế bào ATM. Mô ̣t tải tin, nếu quá lớn có thể được chia nhỏ ra thành nhiều phần và được đóng vào thành từng tế bào. Mỗi tế bào gồm hai phần: Phần dữ liê ̣u bao gồm 48 bytes Phần tiêu đề header gồm 5 bytes
I.3. Đăc̣ điểm của ATM
ATM sử dụng các gói có kích thước nhỏ và cố đị nh gọi là các tế bà o ATM với tốc đô ̣ truyền lớn sẽ làm cho trễ truyền giảm đủ nhỏ đối với các Trang 6
TiÓu luËn: øng dông m· CRC trong mạng ATM
dịch vụ thời gian thực, ngoài ra kích thướ c nhỏ cũng tạo điều kiê ̣n cho viê ̣c hợ p kênh ở tốc đô ̣ cao được dễ dàng. ATM còn có mô ̣t đă ̣c điểm rất quan trọng là khả năng nhóm mô ̣t vài kênh ảo thành mô ̣t đường ảo nhằm giúp cho viê ̣c định tuyến được dễ dàng
I.4. Mô hình giao thức chuẩn Mản g quản lý Mản g khách hàng
Mản g điề u khiể n Lớ p bâ ̣c cao
Lớ p bâ ̣c cao
Q u a n̉
m a n̉ g
Q u a n̉ ly ́
ly ́l
ơ ṕ
Lớ p AAL Lớ p ATM Lớ p vâ ̣t lý
Hình 1.3 Mô hình giao thức chuẩn của ATM ATM có mô hình giao thứ ứ c chuẩn dựa theo mô hình tham chiếu OSI 7 lớ p. Mô hình sử dụng khái niê ̣m các mảng để thể hiê ̣n các nhóm yêu cầu cần đề câ ̣p tới bao gồm mảng khách hàng, mảng điều khiển và mảng quản lý. Mảng khách hàng có chức năng truyền tải thông tin khách hàng như điều khiển dòng tin, sửa lỗi... •
•
nối
Mảng điều khiển có chức năng về điều khiển cuô ̣c gọi và điều khiển kết gồm các thủ tục như: báo hiê ̣u, điều khiển lưu lượng, định tuyếnẶ
Mảng quản lý có chức năng về giám sát, quản lý mạng. Trong mô hình giao thức chuẩn, mảng khách hàng và mảng điều khiển được cấu trúc thành các lớ p với các thuô ̣c tính hoàn toàn đô ̣c lâ p̣ như sau: •
Lớ p vâ ̣t lý: là lớ p dưới cùng bao gồm các chức năng chủ yếu liên quan viê ̣c truyền tải thông tin dưới dạng bit được mã hoá. •
Lớ p ATM: gồm các chức năng liên quan đến viê ̣c xử lý tế bào như: cấu trúc tế bào, chuyển mạch/định tuyến, ghé p kênh/phân kênhẶ •
Lớ p tương thích ATM (AAL): gồm các chức năng liên quan đến thông tin dịch vụ cần truyền tải phụ thuô ̣c vào yêu cầu của lớ p bâ ̣c cao, đồng thời thực hiê ̣n viê ̣c liên kết lớ p AAL với lớp bâ ̣c cao. •
Trang 7
TiÓu luËn: øng dông m· CRC trong mạng ATM Lớ p bâ ̣c cao: bao gồm các chức năng không có ở các lớ p phía dưới, về nguyên tắc có thể là bất cứ môṭ chức năng gì khác, chủ yếu liên quan đến các dịch vụ khách hàng. •
Bang ̉ 1.1 Cac giao th ́ chư c n ă ng trong mô hinh ̀ ư c ATM. Lớp/ phân lớp
Q U ả n L ý L
́ ơ p
Chức năng
Lớp bâ ̣c cao Cá ác chứ ức năngớlớ p bâ ̣c cao Lớp tương thích ATM (AAL) Lớ p phụ CS (đồng qui) Lớ p phụ SAR (phân tách và tổ Miêu tả thuô ̣c tính dịch vụ hợ p) Phân tách và tổ hợ p tế bào Điều khiển luồng chung (GFC) Lớp ATM Tạo/ tách mào đầu tế bào Thông dịch giá trị VPI?VCI Ghé p và tách tế bào Lớp vâ ̣t lý Lớ p phụ TC (đồng qui truyền dẫn) Thích ứng tốc đô ̣ tế bào Tạo/ xác nhâ ̣n mào đầu tế bào Mô tả tế bào Tương thích khung truyền dẫn Lớ p phụ PM (môi trường vâ ̣t lý) Tạo / tái tạo khung truyền dẫn Tái tạo xung nhịp Môi trường vâ ̣t lý
Mảng quản lý được phân chia thành hai phần là quản lý mảng và quản lý lớ p. Quản lý mảng thực hiê ̣n các chức năng quản lý toàn hê ̣ thống và phối hợp các mảng với nhau bằng cách can thiê p̣ vào giữa các mảng. •
Quản lý lớ p thực hiê ̣n các chức năng liên quan đến nguồn thông tin và các tham số thực thể giao thức tại mỗi lớ p. Chú ý: Trong phạm vi bài tiểu luận này chỉ đề cập đến ứng dụng mã CRC trong hai phần: Sửa lỗi phần mào đầu tế bào (trường HEC) và CRC 32 trong AAL 5. Do vậy chỉ tập trung mô tả cấu trúc hai phần trên và ứng dụng CRC trong đó. •
Trang 8
TiÓu luËn: øng dông m· CRC trong mạng ATM
I.5. Lớp tương thích ATM (AAL). I.5.1. Giao thức lớ p AAL. Lớ p ALL nhâ ̣n thông tin dịch vụ từ các lớ p bâ ̣c cao phía trên thông qua các đơn vị dữ liê ̣u dịch vụ khách hàng (U-SDU), sau đó chia nhỏ các thông tin này thành các đơn vị dữ liê ụ giao diê ̣n (IDU) để phù hợp vớ i cấu trúc của tế bào ATM và chuyển chung xuống lớp ATM ở phía phát, và thực hiê ̣n quá trình ngược lại ở phía thu. Tại lớ p ATM, luồng thông tin có thể bị lỗi do các lỗi truyền dẫn, do bị ảnh hưởng củ a trễ hoă ̣c do xảy ra tắc nghẽn trong mạng. Những yếu tố này là nguyên nhân gây ra viê ̣c mất hoă ̣c chuyển nhầm tế bào, ảnh hưởng đến chất lượng truyền tải của các ứng dụng. Các giao thức lơp AAL nhằm hạn chế ảnh hưởng của các yếu tố trên. Lớ p AAL có thể rỗng nếu lớp ATM đã đáp ứng được các yêu cầu của mô ̣t dịch vụ viễn thông cụ thể nào đó. Trong trường hợ p lớ p ATM đã đáp ứng được các yêu cầu của mô ̣t dịch vụ viễn thông cụ thể nào đó thì các chứ c năng lớ p AAL là rỗng. Khi đó, trường thông tin 48 byte của tế bào ATM chứa hoàn toàn là thông tin dịch vụ. Các dịch vụ băng rô ̣ng trong hê ̣ thống đa dịch vụ băng rô ̣ng B-ISDN là rất đa dạng về tốc đô ̣, cấu trúc dữ liê ̣u, phương thức kết nối... Do các chức năng lớ p AAL có tính chất phụ thuô ̣c vào dịch vụ, nghĩa là phụ thuô ̣c vào các yêu cầu của lớ p bâ ̣c cao, nên lớ p AAL sử dụng nhiều loại giao thức nhằm thoả mãn nhu cầu về các loại hình dich vụ khá c nhau. Vì vâ ̣y các giao thức lớ p AAL được phân loại dựa trên cở phân loại các dịch vụ viễn thông. Các dịch vụ viễn thông được phân loại dựa trên ba tham số sau: •
Quan hê ̣ về nhị p thời gian giữa nguồn thông tin và dích nhâ ̣n thông tin.
•
Tốc đô ̣ truyền.
Phương thức kết nối. Dựa trên cơ sở ba tham số kể trên,các dịch vụ viễn thông được phân ra làm bốn loại, ký hiê ̣u từ A đến D như sau: •
Loại A: dịch vụ có tốc đô ̣ bit không đổi (CBR) với đồng bô ̣ đầu cuối - đầu cuối, định hướng kết nối. •
Loại B: dịch vụ có tố c đô ̣ bit thay đổi (VBR), đồng bô ̣ đầu cuối - đầu cuối, định hướng kết nối. •
Loại C: dịch vụ có tốc đô ̣ bit thay đổi, không cần đồng bô ̣ đầu cuối - đầu cuối, định hướng kết nối. •
Trang 9
TiÓu luËn: øng dông m· CRC trong mạng ATM Loại D: dịch vụ tốc đô ̣ bit thay đổi, không cần đồng bô ̣ đầ u cuối - đầu cuối, không định hướng kết nối. Bảng 1.2. Phân loại dịch vụ lớp AAL ính Tí chấ ất Loạ ại ịdị ch vụ Loại A Loạ ại B Loạ ại C Loạ ại D Quan hê ̣ thờ ời Yêu cầu Không yêuầcầu gian giữa đíích và nguồn •
Tốc độ Kiểu ết kếnối Loạ ại AAL
Cố ố đị ị
nh
Biế n đổ i Cóếkế
AAL1
t nối
AAL2
AAL3/4
Không kết nối AAL5, AAL3/4
Tương ứng với các dịch vụ viễễn thông ở trên, giao thức lớ p AAL được phân loại như sau: •
AAL1 : cho dịch vụ loại A.
•
AAL2: cho dịch vụ loại B.
•
AAL3/4: cho dịch loại C và D.
AAL5 : cho dịch vụ loại D. (Trong pha ̣m vi bài tiề u luâ ̣n na ̀ y chỉ xé t ứ ng du ̣ng của CRC trong giao thức lớ p AAL 5) •
I.5.2. Giao thức lớ p AAL 5 AAL5 được thiết kế cho các dịch vụ có mô ṭ số tính năng giống AAL3/4 như cung cấp cùng loại dịch vụ và có nhiều chức năng giống nhau, nhưng có cấu trúc đơn giản hơn và đòi hỏi ít số liê ̣u hơn. Sự cần thiết của chức năng AAL5 được nảy sinh do các quá trình tiế p theo các giao thức AAL3/4, do sự phức tạp đáng kể của thông tin giữa các dữ liê ̣u dịch vụ hướng kết nối và không hướng kết nối. AAL5 được dùng cho lưu lượng dịch vụ loại D (dịch vụ không hương kết nối, tốc đô ̣ thay đổi, nhạy cảm với thời gian); tuy nhiên AAL5 chỉ cung cấ p phương thức truyền tải dịch vụ thông báo message mà không có phương thức truyền dòng thông tin streaming; do không có trường MID trong SAR-PDU nên AAL5 không có khả năng ghép các kết nối logic khác nhau của AAL lên mô ̣t kết nối ảo VCC của lớ p ATM. Phân lớ p hô ị tụ CS của AAL5 được chia làm hai Trang 10
TiÓu luËn: øng dông m· CRC trong mạng ATM phần là phần chung CPCS và phần đă ̣c tính dich vụ SSCS. Viê ̣c hỗ trợ cho dich vụ không hương kết nối được đảm bảo ở phần đă ̣c tính dich vụ SSCS, chẳng hạn giao thức SSCF cho báo hiê ̣u lớ p AAL5 trong mảng điều khiển. Chức năng chính của phần chung CPCS bao gồm: •
Đảm bảo thứ tự của các đơn vị dữ liê ̣u giao thức CPCS-PDU.
•
Cung cấ p chỉ thị khách hàng – khách hàng CPCS.
•
Phát hiê ̣n và sửa lỗi dữ liê ̣u CPCS-PDU.
Chức năng loại bỏ. Chức năng đê ̣m. •
0-48 Bytes
0-47
1
1
2
4 Bytes
PDU payload
PAD
UU
CPI
LI
CRC-32
Hình 1.4 Cấu trúc dữ liê ̣u của AAL5 Mục đích sử dụng cho mạng ATM điểm nố i điểm nên AAL5 có cấu trúc khác hẳn AAL3/4. Khối đơn vị dữ liê ̣u giao thứ c CPCS-PDU chỉ bao gồm trường tải tin và phần kết thúc được cấu trúc như sau: Trường tải tin của CPCS-PDU chứa dữ liê ̣u dịch vụ nhâ ̣n từ khối đơn vị dữ liê ̣u dịch vụ AAL-SDU, và được chèn thêm vào trường đê ̣m PAD có đô ̣ dài từ 0 đến 47 byte để sao cho kích thước của CPCS-PDU bằng bô ̣i số kích thước trường thông tin của tế bào ATM (48 byte). •
Phần kết thúc của CPCS-PDU có chiều dài 8 byte bao gồm: Trườ ờng chỉ thịị CPCS giữ ữa kháá ch hàng – khách hàng CPCS-UU (1 byte) dùng để truyền tải thông tin thông suốt giữa các khách hàng đầu cuối qua mạng ATM. Chứ ứ c năng của trường chỉ thị phần chung CPI (1 byte) đang được tiếp tục nghiên cứu, chức năng duy nhất hiê ̣n nay của nó là đồng chỉnh phần kết thúc của CPCS-PDU để đạt được kích thước 64 bit. Trường chỉỉ thị đô ̣ dàài LI (2 byte) chỉ ra độ dàài tính theo byte củ a dữ liê ̣u dịch vụ khách hàng (không bao gồm trường PAD) có trong trường tải tin của CPCS-PDU. LI có đô ̣ dài 16 bit nên đô ̣ dài cực đâ ̣i của dữ liê ̣u dịch vụ khách hàng có thể chứa trong CPCS-PDU là 216 – 1 = 65.535 byte. Mã vòng dư CRC (4 byte) đểể kiểm tra lỗ ỗ i cho toààn bô ̣ CPCS-PDU, có đa thức sinh CRC-32 là: •
Trang 11
TiÓu luËn: øng dông m· CRC trong mạng ATM G(x)= x + x + x + x + x 16 + x 12 + x 11 + x 10 + x + x 5 + x + x + x + 1 Khác với AAL3/4, ở AAL5 toàn bô ̣ 48 byte củ a SAR-PDU đều là dữ liê ụ được phân mảnh từ đơn vị dữ liê ụ CS-PDU, do đó chức năng của SAR trong AAL5 rất hạn chế và thông tin giao thức SAR được cung cấp bằng viê ̣c sử dụng 1 bit nằm trong mào đầu tế bào ATM. Điều này có nghĩa là không có khả năng đấu ghép và điều khiển lỗi ở SAR. Do vâ ̣y AAL5 sắ p xế p 48 byte từ CS-PDU vào trường thông tin củ tế bào ATM mà không cô ̣ng thêm phần đầu đề và phần kết thúc vào SAR-PDU. Phần bổ sung duy nhất đối vớ i SAR-PDU được lớ p ATM thực hiê ̣n bằng cách cung cấ p chức năng chỉ ra điểm cuối của CS-PDU, có nghĩa là chỉ ra SAR-PDU cuối cù ng của mô ̣t CS-PDU nhờ vào viê ̣c sử dụng trường kiểu tải trong PT trong mào đầu của tế bào ATM. Lớp ATM sử dụ ng tham số chỉ thị khách hàng- khách hàng (AUU) trong trường PT có giá trị bằng 0 trong tất cả các tế bào trừ tế bào cuối cùng của mô ̣t CS-PDU. Giá trị khác 0 của chỉ thị AUU trong trường PT của tế bào cuối cùng trong chuỗi tế bào chỉ ra cho AAL5 cần bắt đầu tổ hợ p lại CS-PDU. Điều này cho phép viê ̣c tố hợ p dữ liê ̣u trong AAL5 đơn giản hơn và sử dụng băng tần trong ATM hiê ̣u quả hơn. 32
26
23
22
7
4
2
I.6. Cấu trúc phần đầu tế bào ATM. Ta biết rằng, đă ̣c điểm của ATM là hướng liên kết. Do đó khác với mạng chuyển mạch gói, địa chỉ nguồn và đích, sốố thứ tự gói làà không cần thiết trong ATM. Hơn thế, do chất lượng của đường truyền rất tốt nên các cơ chế chống lỗi trên cơ sở từ liên kết tới liên kết cũng được bỏ qua. Ngoài ra ATM cũng không cung cấp các cơ chế điều khiển luồng giữa các nút mạng do cơ cấu điều khiển cuô ̣c gọi của nó. Vì vâ ̣y chức năng cơ bản còn lại của phần tiêu đề trong tế bào ATM là nhâ ̣n dạng cuô ̣c nối ảo. Như đã xem xét để lựa chọn tế bào ATM thì tế bào ATM là tế bào cố định, có 53 Bytes: 5 Bytes tiêu đề và 48 Bytes dữ liê ̣u. ATM cell có cấu trúc giống nhau cho bất kỳ loại dịch vụ nào.
Hình 1.5. Cấu trúc tế bào ATM Trang 12
TiÓu luËn: øng dông m· CRC trong mạng ATM Header: 5 Octet (5 bytes). Thông tin chứa trong Header giú p cho viê ̣c tìm đường của các ATM cell qua mạng. Do mạng ATM hoạt đô ̣ng theo cách kết nối có hướng nên các cell chỉ có thể luân chuyển qua các vùng mà các kết nối tồn tại. Lưu ý: Các cell Header không dùng để khởi tạo bắt tay trong các kết nối. Payload: 48 Octet(48 bytes). Chứa dữ liê ̣u của người sử dụng, và các tín hiê ̣u điều khiển tương ứng. Sau khi phát xong các cell, bên phần thu sẽ tổ chức lại các luồng dữ liê ̣u, gói dữ liê ̣u cho giống như ban đầu. Phần tiêu đề của tế bào ATM có hai dạng: Mô ̣t dạng là các tế bào được truyền trên giao diê ̣n giữa người sử dụng và mạng UNI, dạng còn lại là các tế bào được truyền giữa các nút chuyển mạch NNI. Hình vẽ cấu trúc tế bào ATM tại hai giao diên: ̣ 8 7 6 GFC VPI VCI VCI HEC Phần dữ liê ̣u (48 octet)
5
4 VPI VCI
3
2
PT
1
CLP
Bit/Octet 1 2 3 4 5 Ặ
Cấu trúc tế bào ATM tại giao diê ̣n UNI 8 7 6 VPI VPI VCI VCI HEC Phần dữ liê ̣u (48 octet)
5
4
3
2
VCI PT
CLP
Bit/Octet 1 2 3 4 5 Ặ
Cấu trúc tế bào ATM tại giao diê ̣n NNI
GFC Điề ề u khiển luồng chung VPI
nhận dạạng đườ ờ ng ảo
VCI
Nhận dạ ạ ng kênh ảo
PT
trườ ờ ng tải trọng
CLP Bits ưu tiên tổ ổ n thất tế bào HEC Điề ề u khiển lỗi tiêu đề UNI
1
Giao diện ngườ ờ i sử dụng-mạng
Hình vẽ sau cũng thể hiê ̣n rất rõ hai loại giao diê ̣n này Trang 13
TiÓu luËn: øng dông m· CRC trong mạng ATM
Sau đây ta đi xét chức năng các trường của chúng a. Số liêụ nhâ ̣n dạng kênh ảo VCI và đường ảo VPI:
Do kênh truyền ATM có thể truyền với tốc đô ̣ từ vài Kbit/s tớ i vài trăm Mbit/s tại mô ̣t thời điểm nào đó, do đó VCI được dùng để nhâ ̣n dạng các kênh được truyền đồng thời trên đường truyền dẫn. Thông thường trên mô ̣t kênh được truyền đồng thời trên đườ ờng truyền dẫn. Thông thường trên mô ̣t đường truyềền có hàng ngàn kênh như vâ ̣y, vì thế VCI có đô ̣ dài 16 bit (Tương ứng với 65535 kênh).
Trang 14
TiÓu luËn: øng dông m· CRC trong mạng ATM
Do mạng ATM có đă ̣c điểm hướng liên kết nên mỗi cuô ̣c nối được gán mô ̣t số hiê ̣u nhâ ̣n dạng VCI tại thời điểm thiết lâ p. ̣ Mỗi giá trị VCI chỉ có ý nghĩa tại từng liên kết từ nút tới nút của mạng. Khi cuô c̣ nối kết thúc, VCI được giải phóng để dùng cho cuô ̣c nối khác. Ngoài ra VCI còn có ưu điểm trong viê ̣c sử dụng cho các cuô ̣c nối đa dịch vụ như dịch vụ điê ̣n thoại truyền hình, âm thanh và hình ảnh sẽ được truyền trên hai kênh có VCI riêng biê ̣t, do đó ta có thể bổ sung hoă ̣c hủy bỏ mô ̣t dịch vụ trong khi đang thực hiê ̣n mô ̣t dịch vụ khác. VPI được sử dụng để thiết lâ p̣ cuô ̣c nối đường ảo cho mô ̣t số cuô ̣c nối kênh ảo VCC. VPI cho phép đơn giản hóa các thủ tục chọn tuyến cũng như quản lý, nó có đô ̣ dài 8 bit hoă ̣c 12 bit tùy thuô ̣c tế bào ATM đang được truyền qua giao diê ̣n UNI hay NNI. Tổ hợ p cả VCI và VPI tạo thành mô ̣t giá trị duy nhất cho mỗi cuô ̣c nối. Tùy thuô ̣c vào vị trí đối với hai điểm cuố i mà nút chuyển mạch ATM sẽ định đường dựa trên giá trị của VPI và VCI hay chỉ dựa trên giá trị VPI. Tuy vâ ̣y cần lưu ý rằng VCI và VPI chỉ có ý nghĩa trên từ ng chă ̣ng liên kết của cuô ̣c nối. Chúng đuợc sử dụng để viê ̣c chọn đường trên các chă ̣ng này được dễ dàng hơn. Do số VPI và VCI quá nhỏ nên chúng không thể đuợc sử dụng như mô ̣t số hiê ̣u nhâ ̣n dạng toàn cục vì khả năng xảy ra hai cuô ̣c nối sử dụng ngẫu nhiên cùng mô ̣t số VPI và VCI là rất cao. Để khắc phục, người ta cho VCI và VPI là duy nhất trên mỗi đoạn liên kết. Trên từng đoạn liên kết này, hai nút chuyển mạch sử dụng VPI và VCI như số hiê ̣u nhâ ̣n dạng cho mỗi cuô ̣c nối trên đoạn đó. Khi đã
Trang 15
TiÓu luËn: øng dông m· CRC trong mạng ATM qua nút chuyển mạch, VPI và VCI nhâ ̣n các giá trị mớ i phù hợ p với đoạn tiếp theo. b. Trường kiểu tế bào PT (Payload Type): PT là mô ̣t trường gồm 3 bit có nhiê m ̣ vụ phân biê ̣t các kiểu tế bà o khác nhau như: tế bào mang thông tin của người sử dụng, tế bào mang các thông tin về giám sát, vâ ̣n hành, bảo dưỡng (OAM). Cấu trúc trường PT trong tế bào mang thông tin OAM Dạạng bit Chứ ức năng 000 Tếbà ào dữ ữ liệ u của người dùng, không tắc nghẽn, kiểu SDU=0 001 Tếbà ào dữ ữ liệ u của người dùng, không tắc nghẽn, kiểu SDU=1 010 Tếbà ào dữ ữ liệ u của người dùng, có tắc nghẽn, kiểu SDU=0 011 Tếbà ào dữ ữ liệ u của người dùng, có tắc nghẽn, kiểu SDU=1 100 Tếbà ào OAM lớ ớ p F5 liên quan tới liên kết 101 Tếbà ào OAM lớ ớ p F5 liên quan tới đầu cuối 110 Tế ế bà ào quả ả n lý tài nguyên ABR 111 Dà ành cho việ c sử dụng trong tương lai Ngoài ra còn có hai kiểu tế bào đă ̣c biê ̣t là tế bào không xác định và tế bào trống. Tế bào không xác định và tế bào trống đều có đă ̣c điểm chung là chúng không mang thông tin của người sử dụng. Tuy vâ ̣y tế bào trống chỉ tồn tại ở mức vâ ̣t lý còn tế bào không xác định tồn tại cả ở mức ATM lẫn mức vâ ̣t lý. Tế bào không xác định được gửi khi không có thông tin hữu ích dành sẵn trên đầu phát. c. Trườ ờ ng chỉ mức ưu tiên mất tế bào CLP (Cell Loss Priority): CLP là trường dùng để phân loại các cuô ̣c nối khác nhau theo mức đô ̣ ưu tiên khi các tài nguyên trong mạng không còn là tối ưu nữa. Thí dụ trong trường hợ p quá tải, chỉ có các cuô ̣c nối có mực đô ̣ ưu tiên thấp là bị mất thông tin. Có hai loại ưu tiên khác nhau là ưu tiên về mă ̣t nô ̣i dung và ưu tiên về mă ̣t thời gian. Trong chế đô ̣ ưu tiên về mă ̣t thời gian, vài tế bào có thể có đô ̣ trễ trong mạng dài hơn các tế bào khác. Trong chế đô ̣ ưu tiên về mă ̣t nô ̣i dung, các tế bào có đô ̣ ưu tiên cao hơn sẽ có xác suất mất gói ít hơn. Các mức ưu tiên có thể được ấn định trên cơ sở cuô ̣c nối (qua mỗi VCI hoă ̣c VPI) hoă ̣c trên cơ sở mỗi tế bào. Trong trường hợ p thứ nhất, tất cả các tế bào thuô ̣c về mô ̣t kênh ảo hoă ̣c đường ảo sẽ có mô ̣t mức ưu tiên xác định. Trong trường hợ p thứ hai, mỗi tế bào thuô ̣c về mô ̣t kênh ảo hoă ̣c đường ảo sẽ có các mức ưu tiên khác nhau. d. Trường tiêu đề HEC (Header Error Control): Trang 16
TiÓu luËn: øng dông m· CRC trong mạng ATM Trường điều khiển lỗi tiêu đề HEC chứa mã dư vò ng CRC (Cyclic Redundancy Check). Mã này tính toán cho 5 bytes tiêu đề. Do phần tiêu đề bị thay đổi sau từng chă ̣ng nên CRC cần được kiểm tra và tính toán lại với mỗi chă ̣ng. Đa thức sinh được dùng ở đây là đa thức: Đa thức này có thể sửa toàn bô ̣ các lỗi đơn và phát hiê ̣n ra phần lớn các lỗi nhóm. Chi tiết của phần sửa lỗi ta sẽ xét trong phần sau. e. Trườ ờ ng điều khiển luồng chung GFC (Gecneric Flow Control): ở giao diê ̣n giữa người sử dụng và mạng UNI, phần tiêu đề có vài khác biê ̣t so với giao diê ̣n NNI. Sự khác nhau căn bản nhất là trường VPI bị rút ngắn lại còn 8 bits (so với 12 bits ở giao diê ṇ NNI), thay vào chỗ 4 bits của VPI là trường điều khiển luồng chung GFC. Cơ chế của GFC cho phé p điều khiển luồng các cuô ̣c nối ATM ở giao diê ̣n UNI. Nó được sử dụng để làm giảm tình trạng quá tải trong thời gian ngắn có thể xảy ra trong mạng của người sử dụng. Cơ chế GFC dùng cho cả các cuô ̣c nối từ điểm tới điểm và từ điểm tới nhiều điểm. Khi kết hợp mạng ATM với các mạng khác như DQDB (dictributed Queue Dual Bus), SMDS (Swiched Multi-megabit Data Service), GFC đưa ra 4 bit nhằm báo hiê ̣u cho các mạng này làm thế nào để hợp kênh các tế bào của các cuô ̣c nối khác nhau. Mỗi mạng đều có mô ̣t logic điều khiển tương ứng dùng GFC cho các giao thức truy nhâ ̣p của riêng các mạng này. Do đó trong trường hợ p này, GFC thực chất là mô ̣t bô ̣ các giá trị chuẩn để định nghĩa mức đô ̣ ưu tiên của ATM đối với các quy luâ ̣t truy nhâ ̣p vào các mạng khác nhau. Viê ̣c buô ̣c phải sử dụng trường điều khiển luồng chung GFC là mô ṭ nhược điểm cơ bản của ATM, nó tạo ra sự khác nhau giữa các tế bào tại giao diê ̣n UNI và NNI do các giao thức trong ATM không phải là giao thức đồng nhất. Trong mạng sử dụng các giao thức đồng nhất, các thiết bị viễn thông có thể đượ c lắ p đă ̣t vào bất kỳ mô ̣t nơi nào trong mạng. Trong khi đó trong ATM, ta phải chú ý xem thiết bị được lắ p đă ̣t có thích hợ p với giao diê ̣n đã cho hay không. Sau đây là bảng các giá trị mă ̣c đị nh của tiêu đề tế bào ATM tại giao diê ̣n UNI: Kiểu Tế bào lớ p vâ ̣t ýlý Tế bào không xác định
Giá tri ̣ Octet 1 pppp000
Octet 2 0000000
Octet 3 0000000
Octet 4 0000pp1
Octet 5 Mã ã HEC
gggg000
0000000
0000000
0000xx0
Mã ã HEC
Trang 17
TiÓu luËn: øng dông m· CRC trong mạng ATM Báo hiê ̣u trao đổi
ggggyyy
yyyy000
0000000
00010a00
Mã ã HEC
Báo hiê ̣u truyền thông chung
ggggyyy
yyyy000
0000000
00100aa0
Mã ã HEC
zzzz0000
0000000
00110a0a
Mã ã HEC
Báo hiê ̣u từ điểm tới điểm ggggzzzz Tế bào OAM mức F4 liên quan ggggzzzz tới liên kết Quản lý tài nguyên ggggzzzz
zzzz0000
0000000
01000a0a
Mã ã HEC
zzzzvvvv
vvvvvvv
vvvv110a
Mã ã HEC
Dành cho các chức năng sau này
zzzzvvvv
vvvvvvv
vvvv111a
Mã ã HEC
ggggzzzz
Trong đó: a: bit sử dụng cho các chức năng của lớ p ATM g: bit sử dụng trong giao thức của GFC p: bit sử dụng cho lớp vâ ̣t lý v: bit biểu thị giá trị VCI bất kỳ khác 0 x: bit mang giá trị bất kỳ y: bit biểu thị mô ̣t giá trị VPI bất kỳ. Nếu VPI = 0, giá trịVCI được sử dụng cho kênh ảo báo hiê ̣u từ người sử dụng tới nút chuyển mạch địa phương. z: bit biểu thị giá trị VPI bất kỳ Để phân biê ̣t các tế bào được sử dụng ở lớ p ATM với những tế bào của lớ p vâ ̣t lý và các tế bào không xác định, người ta sử dụng các giá trị tiêu đề mă ̣c định. Quá trình xử lý tế bào được tiến hành dựa trên các giá trị này. II. Các loại lôĩ tế bào. Cũng như các hê ̣ thống khác, dù hoàn thiê ̣n đến đâu cũng phải có mô ̣t tỷ lê ̣ lỗi nhất định nào đó. Các lỗi xảy ra trong mạng ATM là do sự không hoàn hảo của hê ̣ thống truyền dẫn hoă ̣c của hê ̣ thống chuyển mạch. II.1. Mất tế bào do lỗi phần tiêu đề. Lỗi truyền sẽ dẫn tới sự thay đổi không mong muốn các thông tin được truyền tại bên thu. Nếu lỗi xảy ra ở phần số liê ụ của tế bào thì cả tế bào vẫn được truyền tới điểm cuối do ATM không có bất cứ mô ṭ cơ chế chống lỗi nào khi truyền từ liên kết tới liên kết (Link - By - Link). Nếu lỗi xảy ra ở phần tiêu đề thì chuyển mạch ATM sẽ thông dịch nhầm phần tiêu đề mang giá trị của mô ̣t đường nối khác. Nếu phần tiêu đề mang mô ̣t giá trị không tồn tại thì tế bào sẽ bị loại bỏ. Trong cả hai trường hợ p đều xảy ra lỗi nhân đó chỉ cần 1 bit lỗi trong phần tiêu đề cũng dẫn tới lỗi cả tế bào. Tỷ lê ̣ lỗi bit được gọi là Bit Error Rate.
Trang 18
TiÓu luËn: øng dông m· CRC trong mạng ATM Trong trường hợ p xuất hiê ̣n lỗi nhóm (Burst Error), thông tin trong phần số liê ̣u hay phần tiêu đề đều sai, do đó bất cứ mô ̣t lỗi nào trong phần tiêu đề đều trực tiế p dẫn tới lỗi nhân. Trong trường hợ p xảy ra lỗi đơn trong phần tiêu đề dẫn tới mất tế bào, lỗi nhân sẽ được tính toán như sau: Giả sử phần tiêu đề của tế bào ATM dài h bit, phần dữ liê ụ dài i bit. Nếu các tế bào có đô ̣ dài trung bình là H, với H = h + i. Và giả sử rằng chuyển mạch ATM sử dụng tất cả các bit của tiêu đề để xác định đích nhâ ̣n tin. Hê ̣ thống truyền lúc đó sẽ tạo ra lỗi cả ở phần tiêu đề và phần dữ liê ̣u. • Xáác suất xảy ra mô ̣t lỗi ở phần tiêu đề là: h h+i
B .
• Xáác suất xảy ra lỗi ở trường dữ liê ̣u: i h+i
. B
Giả sử chuyển mạch ATM nhâ ̣n các bit truyền với tỷ lê ̣ lỗi là B và không gây ra thêm mô ̣t lỗi nào trong trường dữ liê ̣u, lúc đó tỷ lê ̣ lỗi tổng đượ c tính bằng tỷ lê ̣ lỗi của hê ̣ thống truyền dẫn gay ra trong trường dữ liê ̣u cùng với tỷ lê ̣ lỗi gay ra do định đường nhầm. Nếu mô ̣t hê ̣ thống chuyển mạch thông dịch mô ̣t tiêu đề bị lỗi thì có ba khả năng xảy ra: Nếu các lỗi ở phần tiêu đề không được phát hiê ̣n cũng như sửa chữa thì sẽ dẫn tới định đường nhầm. Trong trường hợ p xấu nhất, viê ̣c định đường nhầm sẽ đưa i bit thông tin tới đích không hợ p lê ̣, cùng lúc đó cũng có i bit không tớ i được đích đúng của nó. Do đó có (2 x i) bit sai, dẫn tới tỷ lê ̣ lỗi bit B1 là: B1
=
h h+i
. B.2i +
i h+i
B =
i( 2h + 1) . B h+i
Hiê ̣u ứng nhân lỗi M1 = B1 / B là: M 1
=
2h + 1 h 1+ i
Nếu lỗi phần tiêu đề được phát hiê ̣n nhưng không được sửa thì i bit sẽ không tới được đầu thu vì lúc này tế bào lỗi sẽ bị hủ y bỏ, ta có tỷ lê ̣ lỗi bit B2 như sau: B 2
=
h h+i
B . .i +
i h+i
. B =
i(h + 1) . B h+i
Hiê ̣u ứng nhân lỗi M2:
Trang 19
TiÓu luËn: øng dông m· CRC trong mạng ATM M 2
=
h +1 h 1+ i
Nếu các lỗi trong phần tiêu đề đều được sửa thì tất cả các thông tin đề u được tới đích cuối cùng, tỷ lê ̣ lỗi bit B3 sẽ được tính như sau: B3
=
h h+i
. B.0 +
i h+i
. B =
i h+i
. B
Hiê ̣u ứng nhân lỗi M3: M 3
1 =
1+
h i
Ta nhâ ̣n thấy rằng M3 nhỏ hơn M2 và M1 do đó không có lỗi nhân trong trường hợ p sử dụng cơ chế sửa lỗi đay đủ. Tuy vâ ̣y lúc này cần phải sử dụng mã sửa lỗi trước FEC (forward Error Correction), nó yêu cầu phần tiêu đề rất lớn và khó thực hiê ̣n. Do đó để đơn giản thườ ng sử dụng phương pháp chống lỗi có giới hạn. Ta biết rằng phần lớn các lỗi truyền dẫn là lỗi đơn hoă ̣c lỗi nhóm trong đó các lỗi đơn thường được sửa chữa mô ̣t cách đơn giản bằng các loại mã vòng. Lỗi nhóm rất khó sửa đồng thời nó yêu cầu phần tiêu đề dài hơn, mă ̣t khác lỗi nhóm cũng làm sai lạc phần trường dữ liê ̣u, do đó sửa lỗi tiêu đề không có hiê ̣u quả trong trường hợ p này. Bởi vâ ̣y giải pháp chỉ sửa lỗi đơn cũng đã giảải quyết được phần lớn các vấn đề đă ṭ ra. Tuy vâ ̣y khi có lỗi nhóm xảy ra, phầ n đầu khung sẽ bị làm sai lạc thêm khi á p dụng các thủ tục sửa lỗi đơn, lúc đó các chức năng sửa lỗi sẽ có tác dụng ngược lại. Vì vâ ̣y người ta đưa ra cơ chế phát hiê ̣n lỗi và sửa lỗi tự thích ứng trong đó các thủ tục sửa lỗi đơn là mô ̣t phần của cơ chế này. II.2. Mất tế bào do tràn hàng đợi. Với mô ̣t kích thước thích hợ p của các hàng đợi trong mạng, sự mất tế bào do tràn hàng đợi được giảm xuống tới giá trị chấp nhâ ̣n được, giá trị này khoảng 10-8. Viê ̣c tính toán kích thước hàng đợi được giảm nhe ̣ rất nhiều bởi tính chất hướng liên kết của ATM vì nó tạo khả năng để mạng cho phép hoă ̣c từ chối mô ̣t cuô ̣c nối mới nếu tải của cuô ̣c nối nhỏ hơn hoă ̣c lớn hơn tải còn lại trong hàng đợi.
Trang 20
TiÓu luËn: øng dông m· CRC trong mạng ATM
Chương 2 Điều khiển lỗi tiêu đề I. Môṭ số chức năng của trường HEADER. • Bên pháát, mãã HEC được xác định bởi 4 bytes đầu trong phần tiêu đề của tế bào ATM, kết quả tính toán được đưa vào byte thứ 5. Trường HEC được tạo ra có khả năng phát hiê ̣n và sử a lỗi đơn và dò tì m được lỗi ké p trong phần header (4 Bytes) của tế bào trong quá trình truyền và nhâ ̣n tế bào. • Thêm vào hoă ̣c lấy ra các tế bào trống: Khi không có tế bà o chứa thông tin hữu ích, tế bào không xác định hoă ̣c tế bào OAM ở mức vâ ̣t lý thì các tế bào trống sẽ được truyền trên đường truyền dẫn, nhờ viê ̣c chèn thêm số tế bào trống vào đường truyền. • Nhâ ̣n biết giớ ới hạn tế bào: Chức năng này cho phép bên thu nhâ ̣n biết giới hạn mô ̣t tế bào. Sự nhâ ̣n biết này dựa trên sự tương quan của cá c bit tiêu đề và mã HEC tương ứng. • Biến đổi dòng tế bào thành các khung truyền dẫn (Transmission Frame Adaptation): Tại đầu phát chức năng này có nhiê ̣m vụ làm cho dòng tế bào tới từ các lớ p trên thích ứng với khung số liê ̣u được sử dụng trong hê ̣ thống truyền dẫn. Tại đầu thu, các dòng tế bào được khôi phục lại từ các khung truyền dẫn. • Pháát và khôi phục các khung truyền dẫn: Là chức năng dưới cùng trong lớ p con TC. Nó có nhiê ̣m vụ tạo ra các khung truyền dẫn và ghé p các tế bào ATM vào những khung này. Kích thước khung truyền dẫn phụ thuô c̣ tố đô ̣ truyền. Tại đầu thu, các khung truyền dẫn được nhâ ̣n biết và khôi phục lại dòng tế bào ATM. Cấu trúc các khung truyền có thể khác nhau tù y thuô ̣c từng hê ̣ thống truyền dẫn cụ thể.
II. Điều khiển lỗi. II.1. Điều khiển lỗi mào đầu. Điều khiển lỗi mào đầu (HEC) là mã vòng dư (CRC) 1 byte trong 5 byte của mào đầu tế bào ATM. HEC điều khiển lỗi cho toàn bô ̣ mào đầu của tế bào. HEC có khả năng sửa lỗi cho bit đơn và phát hiê ̣n các lỗi đa bit. Phân lớ p hô ̣i tụ truyền dẫn TC tạo lâ p̣ HEC ở phía phát và sử dụng nó để kiểm tra lỗi mào đầu ở phía thu. Quá trình được thực hiê ̣n như sau: Trang 21
TiÓu luËn: øng dông m· CRC trong mạng ATM Tám bits cuối trong phần tiêu đề của tế bào là dù ng cho trường điều khiển lỗi tiêu đề HEC chứa mã dư vòng CRC. Mã nà y tính toán cho 5 bytes tiêu đề. Phần phát xác định giá trị của HEC (8 bit) tại mà o đầu tế bào và chèn kết quả vào trường HEC trong mào đầu tế bào. Giá trị đó là phần dư của phép chia của tích số x8 với giá trị mào đầu tế bào không chứa giá trị trường HEC cho đa thức sinh g(x). Đa thức sinh được dùng ở đây là đa thức: g(x)= x8+x2+x+1. Đa thức này có thể sửa toàn bô ̣ các lỗi đơn và phát hiê ̣n ra phần lớn các nhóm đa lỗi. Để thực hiê ̣n viê ̣c phân tách tế bào mô ṭ cách hiê ̣u quả ở phần thu trong trường hợ p bit bị trượt, ITU-T khuyến nghị các bit dùng để kiểm tra được tính bằng viê ̣c sử dụng đa thức sinh sẽ được cô ̣ng (cô ̣ng modul 2) với 1 mã 8 bit có giá trị là 01010101 trước khi được chèn vào trường HEC. Phía thu phải trừ giá trị mã 8 bit này (bằng cách cô ̣ng modul 2) từ trường HEC trước khi tiếp tục xử lý. Phần thu hoạt đô ̣ng theo 2 phương thức: Phương thức sửa lỗi và phương thức và phương thức phát hiê ̣n lỗi, phương thức ngầm định là phương thức sửa lỗi đơn. Mào đầu tế bào dược kiểm tra và nếu phát hiê ̣n lỗi, mô ̣t trong 2 đô ṇ g tác sau sẽ được khởi đô ̣ng, phụ thuô ̣c vào trạng thái làm viê ̣c củ a phần thu.Trong phương thức sửa lỗi, chỉ có lỗi bit đơn đượ c sử và sau đó phầ n thu chuyển phương thức phát hiê ̣n lỗi, tất cả các tế bào mà có mào đầu bị lỗi sẽ bị loại bỏ. Khi kiểm tra mào đầu mà không phát hiê ̣n lỗi, phần thu sẽ chuyển sang phương thức sửa lỗi.
Ph¸t hiÖn ® a lçi (Lo¹i bá tÕbµo) Kh«ng ph¸t hiÖn lçi (Kh«ng lµmg× )
Ph-¬ngthøc tù söa lçi
Kh«ng ph¸t hiÖn lçi Ph-¬ngthøc ph¸t hiÖn lçi (Kh«ng lµmg× )
Ph¸t hiÖn lçi (Lo¹i bá t bµo)
Ph¸t hiÖn ® ¬n lçi (tù söa lçi) Chức năng sửa lỗi và phát hiê ̣n lỗi của HEC có tác dụng tránh được lỗi bit đơnvà làm giảm xác suất viê ̣c gửi tế bào có lỗi ở mào đầu, đă ̣c biê ̣t trong điều kiê ̣n xảy ra lỗi đô ̣t biến (bursty errors). Đă ̣c tính lỗi của các hê ̣ thống truyền dẫn cáp quang, là môi trường chủ yếu dùng cho ứng dụng ATM, có xu hướng là sự tổ hợ p của các lỗi bit đơn và lỗi đô ̣t biến. Điều khiển lỗi HEC là cần thiết bởi vì tế bào trong khi truyền trên mạng nếu giá trị VPI/VCI của nó sai dẫn đến truyền sai địa chỉ. Trang 22
TiÓu luËn: øng dông m· CRC trong mạng ATM Ngoài ra như trong SONET, HEC còn được dùng để phát hiê ̣n ra biên giới giữa các tế bào. thực ra nó cũng có hai cách sử lý với HEC: nếu phát hiê ̣n sai, tế bào sẽ bị loại bỏ. • Sửa lại bit bị lỗi. • Nếu đường truyền là cáp quang thì cách thứ nhất có thể áp dụ ng vì sẽ không quá nhiều hoă ̣c chỉ bị mô ̣t lỗi. Nhưng đối với đường truyền chạy bằng cáp xoắn thông thường, thì viê ̣c dùng cách thứ nhất có thể không mạng lại hiê ̣u quả tốt vì nhiễu có thể tác đô ̣ng đến mô ̣t nhóm lớn các bits. Do đó phần tiều đề được thay đổi theo từng chă ̣ng (thay đổi VPI/VCI) nênđối với mỗi chă ̣ng cần phải kiểm tra và tính toán lại CRC.
̃ nhiên. II.2. Phân tách tế bào và tạo tín hiêụ giả ngâu Trong cơ chế này, Bit cuối cùng của HEC được dùng để kiểm tra phân tách tế bào. Quá trình này được tiến hành theo các bước sau: Đầu tiên trạng thái tìm kiếm đồng bô ̣ HUNT thực hiê ̣n viê ̣c kiểm tra từng bit của tiêu đề tế bào vừa nhâ ̣n được. Nếu như ranh giới byte được phân định trong lớ p vâ ̣t lý ở đầu thu, trước khi xảy ra phân tách tế bào, thì quá trình phân tách tế bào được thực hiê ̣n qua từng byte ở trạng thái tiền đồng bô ̣, quá trì nh phân tách được thực hiê ̣n bằng viê ̣c kiểm tra từng tế bào mô ̣t để phát hiê ̣n giá trị HEC đúng. Khi giá trị HEC như đã thoả thuâ ̣n ở trên được phát hiê ̣n hay luâ ̣t mã hoá HEC được tuân thủ, có nghĩa tế bào không bị lỗi tức là đã phát hiê ̣n ra mào đầu của 1 tế bào thì hê ̣ thống hiểu rằng phần tiêu đề đúng và chuyển sang trạng thái tiền đồng bô ̣ PRESYNCH. Trong trạng thái này, hê ̣ thống kiểm tra liên tục mã HEC của các tế bào liên tiếp. Có nghĩa là, hê ̣ thống ban đầu coi tín hiê ̣u HEC đúng của lần đầu tiên như là mô ̣t hàm ngẫu nhiên (ngẫu nhiên mà nó đúng), nếu hàm này mà không phải là tín hiê ̣u đồng bô ̣ thì nó sẽ bị sai ở tế bào tiếp theo, hê ̣ thống lại quay trở lại trạng thái tìm kiếm. Nếu liên tiếp mô ̣t số lần mã HEC đú ng thì hê ̣ thống chuyển sang trạng thái đồng bô ̣ SYNCH. Ngược lại, nếu HEC có giáá trịị sai hoă ̣c đúng liên tiếp đến delta -1 lần, quá trình sẽ chuyển sang trạng thái tìm kiếm đồng bô ̣. Quá trình thực hiê ̣n như hình vẽ:
Trang 23
TiÓu luËn: øng dông m· CRC trong mạng ATM
Theo tõng bit
T×m®ångbé HEC sai HUNT
Sai liªn tiÕp “anpha” lÇn
HEC ®óng
§ ångbé SYNC
TiÒn ®ång bé PRESYNC
§ óng liªn tiÕp “delta” lÇn
Theo tõng cell
Trong trạng thái đồng bô ̣, quá trình phân tách được coi là hỏng nếu như HEC nhâ ̣n sai liên tiếp giá trị HEC. Các tham số và được chọn thoả mãn các yêu cầu về đô ̣ an toàn và tính hoạt đô ̣ng của quá trình phân tách tế bào. Tính hoạt đô ̣ng phụ thuô ̣c vào còn đô ̣ đảm bảo phụ thuô ̣c vào. Các tham số khách hàng và được đưa ra trong khuyến nghị I.432 của ITU-T như trong bảng sau: anpha delta Lớp vâ ỵ́t lýtrên cơởsởSDH Lớp vâ ̣t lý trên cơ sở tế bào
7
6 7
9
Toàn bô ̣ quá trình được mô tả theo sơ đồ thuâ ̣t toán sau:
III. Thuâṭ toán điều khiển lỗi Quá trình xoá các bô ̣ đếm nhằm đảm bảo cho điều kiê ̣n: Trường HEC đúng liên tiếp delta lần, hoă ̣c sai liên tiế p anpha lần được thoả mãn, đồng thời mỗi khi không thoả điều kiê ̣n này thì bô ̣ đếm lại được khởi tạo lại từ đầu nếu như có mô ̣t trường hợ p trái ngược xảy ra trong khoảng thời gian đó... Ví dụ về quá trình phát hiê ̣n lỗi: Quá trình đưa thông tin để sửa lỗi chính là lợi dụng công thức sau: x F ( x) − r ( x) = G ( x)h( x) α
Chẳng hạn thông tin bên phát truyền đi là: 01010111 01001100 00010111 10011001 HEC Data
Trang 24
TiÓu luËn: øng dông m· CRC trong mạng ATM B¾t ®Çu Cell ban ®Çu
K iÓm tra ®ång thêi
0 00 0 01 0 10
T×m ®ång bé theo bit
Nh¶y tí i
T×m §B
**
HEC ®óng S *
*
T iÒn §B
§ ång Bé
§
TiÒn ®ång bé theo byte
Xo¸ bé§ ÕmT
HEC ®óng S § T¨ng bé§ ÕmT
§ ÕmT= delta lÇn
§ § ÕmF= anpha lÇn
**
S
Ph¸t hiÖn lçi
S
§
§ ång bé
S K h«ng cã lçi
ThÊy lçi § Cã lçi Lçi ®¬n
S § a lçi
§ cã lçi ®¬n T¨ng bé§ ÕmF
S
HEC ®óng
Söa lçi
Lo¹i bá tÕ bµo
§ X o¸ bé§ ÕmF
Cell mí i cËp nhËt
Gäi ch- ¬ng tr×nh ph¸t hiÖn vµ söa lçi K Õt thóc
Trang 25
ThuËt to¸n söa lçi tr- êng tiªu ®ÒHE t¹i ®Çu thu
TiÓu luËn: øng dông m· CRC trong mạng ATM Trong 4 byte đầu thông tin được mã hoá dạng đa thức: F(x)= x 30 + x 28 + x 26 + x 25 + x 24 + x 22 + x19 + x18 + x 12 + x10 + x 9 + x + x 7 + x + x +1 Sau khi các bit trong 4 byte đầu được đọc vào nó được nhân với tức là dịch đi 8 bit: 38 x .F(x)= x + + x 34 + x 33 + x 32 + x 30 + x 27 + x 26 + x 20 + x18 + x17 + + x15 + x12 + x + x 8 Rồi tích số ấy được chia cho đa thức sinh G(x)= x + x 2 +x+1 01010111 01001100 00010111 10011001 00000000 Ỹ 100000111 1000001 11 1010110 11101100 10010000 01101000 0010110 10 10000 0111 00110 1111 100 000111 010 111000 10 0000111 00 1110111 10000011 1 01101101 1 1000001 11 0101100 01 100000 111 001100 101 1000 00111 0100 10001 100 000111 000 100100 10000011 1 00010000 0 10000 0111 00000 01101001 00000000 1000001 11 0101000 11 100000 111 001000 001 1000 00111 0000 00011000 => Phần dư r(x) 8
8
x
36
x
8
Trang 26
16
3
4
11
TiÓu luËn: øng dông m· CRC trong mạng ATM Phép toán đó thực chất là cách cô ̣ng modul 2 của mô ̣t bô ̣ dịch chuyển theo vòng đã được cứng hoá:
x 8 F ( x) 30 28 26 25 23 22 21 19 18 15 12 6 5 3 = x + x + x + x + x + x + x + x + x + x + x x + x + x G ( x)
và phần dư là r(x)= x 4 + x 3 . Phần đa thứ ức r(x) được mã hoá thành 8 bit 00011000 và đưa vào trường HEC. Như vâ ̣y 5 byte mào đầu được truyền tại bên phát là: 01010111 01001100 00010111 10011001 00011000 Nếu bên thu, thu được mô ̣t dãy bit mà không đúng như bên phát +Giả sử đó là dãy bit: 01010110 01001100 00010111 10011001 00011000. Bên thu thực hiê ̣n phép chia dãy bit nhâ ̣n đượ ợ c cho đa thức sinh g(x) nếu phép chia không hết thì đã có lỗi xảy ra. x 8 F(x)-r(x)=G(x)h(x) vµ d r’(x)/g(x) Đa thức lỗi chính là r’(x). Ta sẽ chứng minh điều này thông qua ví dụ trên:
01010110 01001100 00010111 10011001 00011000 Trang 27
| 100000111
TiÓu luËn: øng dông m· CRC trong mạng ATM 1000001 11 0010111 10 10000 0111 00111 1111 100 000111 011 111000 10 0000111 01 1110111 1 00000111 0 11101001 10000011 1 01101010 1 1000001 11 0101011 01 100000 111 001011 101 1000 00111 0011 10001 10 0000111 01 1000000 1 00000111 0 10000110 10000011 1 01010110 01001100 00010111 10011001 00011000 Ỹ 100000111 ...... không q.tâm đến thương số 00000101 0 100 000111 001 000001 1 00000111 0 00000010 10 0000111 00 00010110 Phép chia có dư: r’(x)=10110= x 4 + x 2 + x . Như vâ ̣y đã có lỗi xảy ra.
Chương 3
Trang 28
TiÓu luËn: øng dông m· CRC trong mạng ATM
Tính toán hai bước của mã đô ̣ dư tuần hoàn CRC-32 cho ATM I. Giới thiệu. Trong lĩnh vực viễn thông, trong số lượ ng lớn các mã đô ̣ dư tuần hoàn được sử dụng thì mã ATM CRC-32 là khó tính toá n vì nó dựa trên đa thức có bâ ̣c là 32 và có nhiều hơn nhiều số hạng (15) so với bất kỳ đa thức CRC được sử dụng chung khác. Viê ̣c kiểm tra và tạo ra mã CRC nói chung là được tiến hành theo từng byte, trong mô ̣t cố gắng để đối mă ̣t với viê ̣c tăng đáng kể thông lượng dữ liê ̣u của các tuyến truyền dữ liê ̣u tốc đô ̣ cao. Nhiều tính toán là cần thiết để xử lý mô ̣t byte mới tới của dữ liê ̣u nếu như số các số hạng của đa thức lớn, bởi vì cần phải kết hợ p nhiều bit của kết quả trung gian hiê ̣n hành để tính từng bit của các bước tiếp theo. Điều này có khuynh hướng đi ngược lại với lợi thế tốc đô ̣ nô ̣i tại của viê ̣c tính toán từng byte do yêu cầu xử lý được thực hiê ̣n ở mỗi chu kỳ. Bài tiểu luâ ̣n này tìm hiểu phương thức mà làm tăng tính phức tạ p bên trong của viê ̣c tính toán mã CRC-32. Nó cho phép xử lý nhanh các bả n tin AAL5, mà các bản tin này phải được phân đoạn trong các tế bào ATM khi CRC32 dược tính ở mô ̣t đầu cuối và phải được tâ ̣p hợp lại từ các tế bào ATM khi CRC-32 được kiểm tra đối với toàn bô ̣ dữ liê ̣u tại đích đến. Viê ̣c tính toán được chia làm hai bước: 1. Phéép chia thứ nhấất được thực hiê ̣n bằng mô ̣t đa thức rất đơn giản trên toàn bô ̣ bản tin (cho đến khi nhâ ̣n được hoă ̣c phân đoạn cuối cùng). 2. Phép chia thứ ứ hai được thực hiê ̣n chỉ mô ̣t lần với phần dư sau phép chia thứ nhất bằng mô ̣t đa thức CRC-32 thông thường với mục đích nhâ ̣n được kết quả cuối cùng.
II. Tổng quan: Các bản tin được truyền qua mô ̣t mạng truyền tải không đồng bộ ATM phải được phân thành các gói ngắn, chiều dài không thanh đổi được gọi là các tế bào ở phần nguồn và được gom lại ở phần đích. Mô ̣t vài các lớ p thích nghi được định nghĩa từ các tiêu chuẩn ATM, nó cho biết quá trình xử lý đượ c tiến hành như thế nào. Lớ p thích nghi ATM số 5 (AAL5) là cách xử lý đơn giản nhất để tự phân đoạn thành các tế bào bên nguồn và tâ p̣ hợ p lại bên đích. Nó cũng làm cho viê ̣c sử dụng băng thông trở lên tốt hơn, bở i vì không như các lớ p thích nghi khác, nó không đòi hỏi đoạn mào đầu trong từng tế bào ngoại trừ vài byte trong trường thông tin của tế bào cuối cùng. Với những lý do này AAL5 có xu hướng Trang 29
TiÓu luËn: øng dông m· CRC trong mạng ATM trở thành mô ṭ phương pháp được ưu chuô ̣ng hơn để chia thông tin thành các tế bào. Vì phải đảm bảo tính toàn ve ̣n của dữ liê ̣u, người ta sử dụng kỹ thuâ ̣t kiểm tra đô ̣ dư tuần hoàn chuẩn CRC trên toàn bô ̣ bản tin và mô ̣ t chuỗi kiểm tra khung FSC được cô ̣ng thêm vào với dữ liê ̣u và được truyền cùng tế bào cuối cùng. Tại đầu cuối ở xa trong khi thực hiê ̣n tâ p̣ hợp các tế bào lại sẽ kiểm tra tính toàn ve ̣n dữ liê ̣u của bản tin. Đa thức được lựa chọn bởi các chuẩn liên quan về cấu trúc để thực hiê ̣n CRC AAL5 giống như đa thức bâ ̣c 32 được dùng cho giao diê ̣n dữ liê ̣u phân bố theo sợi quang FDDI: G*(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 Số lượng lớn các số hạng của đa thức này làm cho nó khó thực hiê ̣n hơn các mã CRC đang sử dụng, đă ̣ biê ̣t khi ta xem xét các đường truyền tốc đô ̣ cao hơn. Do vâ ̣y mục của AAL5 để đưa ra cách thức phân đoạn và tâ ̣p hợp tế bào lại sao cho đơn giản và hiê ̣u quả bù được mô ̣t chút do viê ̣c cần thiết phải tính toán và kiểm tra mô ̣t đa thức CRC32 bâ ̣c phức tạ p. Bài baoc cáo này tìm hiểu mô ̣t phương thức của viê ̣c đợ giản hoá tính toán theo trình tự để dễ dàng thực hiê ̣n về phần mạch cho tính toán CRC tốc đô ̣ cao trong công nghe ̣ CMOS tiêu chuẩn.
III. Hoàn cảnh hiêṇ tại: Ngược lại các tiêu chuẩn CRC viê ̣c thực hiê ̣n CRC riêng biê ̣t ở dạng các thanh ghi dịch hồi tiếp tuyến tính (LFSR), trong đó tại mỗi thời điểm thì chỉ có thể xử lý mô ̣t bit, tất cả các phương phá p để tăng tốc đô ̣ tính toán CRC đã được biết đều hướng tới đề xuất viê ̣c xử lý theo mức đô ̣ byte. Trong phương pháp này đề xuất loại bỏ kiểu ghi dịch và xử lý tính toán trực tiếp tuỳ thuô ̣c vào cơ sở toán học của các mã CRC (cấu trúc đại số của đa thức) cho phép thu được kết quả tốt hơn nhiều đến khi viê ̣c thực thi phần cứng đề câ p̣ đến. Viê ̣c tính toán từng byte miêu ta yêu cầu tương đương 114 cổng XOR hai đầu vào và mô ̣t cổng XOR 8 đầu vào để tính toán các giá trị bit tiế p theo. Tuy nhiên, điều này vẫn có thể là quá nhiều, ví dụ đối với tính toán tốc đô ̣ rất cao đòi hỏi để xử lý các đầ u nối AAL5 ATM chạy qua các đường OC-12. Đối với các đường OC-12 (622x106 bit/s) thì cứ khoảng 13 ns thì có mô ṭ byte thu về (2,4x109 bit/s). Mă ̣c dù khôg phải toàn bô ̣ lưu lượng của các đường như vâ ̣y là các đầu nối AAL5 - đầu nối mà cần thiết phải phân đoạ n và tâ p̣ hợ p tế bào. Những con số như thế biểu thị rằng dung lượng xử lý tức thời có thể phải rất cao chứ không phải để làm suy giảm chất lượng tổng thể tại mô ̣t nút mạng.
Trang 30
TiÓu luËn: øng dông m· CRC trong mạng ATM
IV. Đơn giản hoá phép tính: Tất cả các phương pháp tính toán CRC đã biết đều xử lý bằng cách chia bản tin cho đa thức sinh CRC G(x) được lựa chọn để thực hiê ̣n viê ̣c tính toán. ý tưởng mới trong phương pháp mới tìm hiểu là tiến hành sự tính toán này thành 2 bước: 1. Quá á trì nh kiểm tra và tạo mã CRC được thực hiê ̣n bởi mô ̣t đa thức khác, M(x), M(x) = G(x).P(x), ngoại trừ ở bước cuối cùng. Đa thức này phải là đa thứuc bô ̣i số của đa thứ CRC G(x), để số dư của phép chia đầu tiên của bản tin cho M(x) là chia hết và tất nhiên cũng chia được cho G(x). P(x) là mô ̣t đa thức có bâ ̣c càng thấp càng tố t để bâ ̣c của M(x) cũng thấp. Vì thế nó phải đượ c chọn sao cho đa thức kết quả M(x) có ít số hạng hơn G(x) để viê ̣c cia đầu tiên đơn giản. Để viê ̣c tính toán dễ dàgn hơn, cấu trúc của M(x) sẽ được thảo luâ ̣n sâu hơn ở phần tiếp theo. 2. Kế ế t quả của phé p chia đầu tiên mà được thực hiê ̣n trên tất cả các cell cấu thàành bản tin là mô ̣t véctơ có đô ̣ dài không đổi và có bâ ̣c bằng với bâ ̣c của đa thức M(x). Tiếp đến, véctơ này được chia mô ̣t lần duy nhất cho G(x) để thu được kết quả cuối cùng.
IV.1. Đơn giản M(x): Đa thức M(x) = G(x).P(x) được cho là đa thức đơn giản nếu có ít cơ số hơn G(x). Không có bất kỳ đa thức đơn giản nào thoả mãn yêu cầu bởi vì nó phải thoả mãn có các cơ số trong khoảng từ giá trị cực đại (bâ ̣c cao nhất của đa thức) đến giá trị (x 0 hoă ̣c 1). Nếu trong quá trình tính toán được thực hiê ̣n trên từng byte thì các luỹ thừa của các cơ số cần cách nhau ít nhất là 8 bit để quá trình tính toán khong chồng chéo lên nhau. Lấy ví dụ, đa thức bô ̣i của CRC-32 G(x) được cho dưới đây: M(x) = x123 + x120 + x80 + x74 + x53 + x45 + 1 Nó chỉ có 7 cơ số nhưng lại không tốt bằng đa thức sau: M(x) = x123 + x111 + x92 + x84 + x64 + x46 + x23 + 1 Đa thức trên thâ ̣m chí còn nhiều hơn mô ̣t số hạng. Nhưng trong vi dụ thứ 2, tất cả luỹ thừa của các cơ số cách nhau ít nhất 8 bit. Với đa thức này , phép chia đầu tiên có thể thực hiê ̣n được 8 bit mô ̣t lần chỉ bằng các phần tử XOR hai đầu vào bởi máy trạng thái được thể hiê ̣n ở hình 1. Trong đó viê ̣c tí nh toán được thực hiê ̣n trong các đa thức đại số modulo G*(x). Viê ̣c tính toán được thực hiê ̣n ở modulo M123 sao cho kết quả của bất kỳ phé p toán nào cũng là mô ̣t véctơ có đô ̣ dài không quá 123 bit. Để thực hiê ̣n máy trạng thái như hình 1 chỉ cầ n 56 Trang 31
TiÓu luËn: øng dông m· CRC trong mạng ATM phần tử XOR hai đầu vào và 123 cổng. 67 bit còn lại của kết quả trung gian tiếp theo đơn giản chỉ là sự dịch bit (8 vị trí) của kết quả hiê ̣n thời. Điều này cho phép máy trạng thái hoạt đô ̣ng ở tốc đô ̣ rất cao, vì thế viê c̣ tính toán có thể duy trì ở tốc đô ̣ rất cao của các đường truyền thông cá p quang hiê ̣n nay. Đạt được tốc đô ̣ này là do có nhiều bit được xử lý đồng thời và cần lưu mô ̣t véctơ dài hơn (123 bit thay vì 32) với các kết quả trung gian trong quá trình thự c hiê ̣n tính toán. Đây không phải là sự hạn chế ở thời điểm hiê ̣n tại, khi mà các mảng cổng có thể lên tới 100 000 cổng. Vì vâ ̣y, nguyên lý đề xuất trên cho phép con ngườ ời lợi dụng kích thước của véctơ để xử lý trong quá trình tính toán. Các thoả hiê ̣p khác có thể đá p ứng được nếu đưa vào sử dụng các phần tử XOR nhiều cổng hơn (3, 4, Ặcổng) togn khi vẫn đảm bảo được tốc đô ̣ xử lý yêu cầu. Hai đa thức khác thực hiê ̣n nguyên lý tính toán trên được liê ̣t kê trong bẳng 1 cùng với M123 và G*(x).
IV.2. Phép chia cuối cùng: Theo nguyên lý mô tả ở trên, phép chia cuối cùng phải được thực hiện với G(x). Bởi vì phép chia thứ hai và phép chia cuối cùng này được áp dụng cho một vectơ có độ dài ngắn, không đổi (bất kể độ dài bản tin lúc đầu là bao nhiêu), do vậy các kỹ thuật lúc này thường là không thực tế do bản tin cần xử lý có thể có kích thước bất kỳ. Vì vậy cách đơn giản nhất là làm việc với một từ có độ dài cố định. Một ma trận được tạo ra (ma trận H, ký hiệu ECC) và được thực hiện dưới dạng một mảng tổ hợp để thực hiện phép chia cuối cùng. Đầu vào của mảng này là phần dư của của phép chia đầu tiên (chẳng hạn là một véc tơ 123 bít nếu M123 được chọn), và đầu ra là phần dư- véctơ 32 bít của phép chia cho G*(x). Như vậy, một mảng logic dễ dàng được rút ra từ G(x). Và phương pháp thực hiện nó có thể được tìm thấy ở mục [6] và trong nhiều tài liệu xuất bản khác đề cập đến ECC. Đối với mảng 2, véctơ đầu vào 53 bít chính là kết quả của phép chia cho M53 (đánh chỉ số từ 0 đến 52) được áp dụng cho ma trận 53 cột để tính một giá trị bít cho mỗi một dòng trong số 32 dòng. Phần tử đầu tiên trong mỗi dòng của ma trận biểu diễn các bít của véc tơ đầu vào ở đó tính chẵn lẻ cần phải tính để lấy ra véc tơ 32 bít (được đánh chỉ số từ 0 đến 31) là kết quả của phép chia cho G(x). Cột được ghi chú là “XOR inputs” trong 2 bản cho biết có bao nhiêu bít của đầu vào cần phải kết hợp để tính bít của dòng tương ứng. Một phần tử XOR 13 đầu vào được yêu cầu. Tốc độ của một mảng như vậy theo một nghĩa nào đó tương ứng với chu trình thời gian của máy trạng thái được mô tả ở trên; Tính tương đương của một vài chu trình là cần thiết để sinh ra kết quả. Tuy Trang 32
TiÓu luËn: øng dông m· CRC trong mạng ATM nhiên, việc tính toán như thế chỉ được thực hiện 1 lần ở cuối và người ta dễ nhận thấy rằng, quá trình tính toán tổng thể rõ ràng nhanh hơn các phương pháp truyền thống thậm chí với cả các bản tin ngắn (là bản tin có kích thước 1 đơn vị xử lý).
Byte mới (Byte cao, trước)
123
Khối nhận Vectơ M (48 cổng XOR hai đầu vào) 123
8
123 8
Bộ cộng (8 cổng XOR hai đầu vào)
115
8 Thanh ghi 123 bit lưu trữ phần dư hiện hành
Hình 3.1. Máy trạng thái để tính toán phần dư của phép chia thứ nhất cho M123 Đa thức M(x) M123 = x123 + x111 + x92 + x84 + x64 + x46 + x23 + 1 M71 = x71 + x57 + x48 + x44 + x36 + x22 + x15 + x8 + 1 M53 = x53 + x38 + x36 + x33 + x30 + x27 + x25 + x7 + x3 + 1 G*(x) như trong [5 ]
Đầu vào cần thiết cực đại của bộ XOR 2 3 4 8
Bảng 3.1. Các đa thức thực hiện phép chia đầu tiên và N đầu vào cực đại đòi hỏi của bộ XOR
V. Tổng kết phương pháp. Trang 33
TiÓu luËn: øng dông m· CRC trong mạng ATM Nguyên lý tính toán được tổng kết dưới đây cho M123. Lấy ví dụ, giả sử cho bản tin cần xử lý có độ dài 1Kb. Thời gian chu trình của máy trạng thái để xử lý 1 byte có thể ít hơn 10ns (máy trạng thái 100MHz) với 1 phần tử XOR hai đầu vào. Khi đó, 48 byte của mỗi một tế bào ATM được tính toán trong 480ns (một tế bào chiếm 700ns ở tốc độ 622MBps). Bản tin đầy đủ, gồm 21 tế bào cần hơn 10µs cho phép chia cuối cùng, và có thể thực hiện trong 5 chu trình hoặc ít hơn (chẳng hạn tối đa là 50ns). Vì thế, trong ví dụ này, phép chia cuối cùng chiếm chỉ 0.5% tổng thời gian tính toán. Đối với một bản tin kích thước 1 tế bào đơn (trường hợp xấu nhất) sẽ được xử lý trong 480ns, và phép chia cuối cùng chiếm xấp xỉ khoảng 10% tổng thời gian tính toán. Nguyên lý hai bước được mô tả trong tài liệu này được tổng kết ở trong hình 2 cho M 123 Ba đa thức cho trong bảng 1 là các đa thức tốt nhất mà tác giả có thể tìm trong quá trình tìm kiếm đa thức bậc 128 là bội của G(x). (Chỉ những đa thức này khi nhân với các cơ số liên tiếp có các số mũ chênh lệch nhau 8 hoặc hơn là vẫn đảm bảo. Các đa thức M 71 và M53 thực chất là sản phẩm của kết quả tìm kiếm. Nó được rút ra để tìm đa thức bậc thấp nhất có thể mà bảo đảm phép chia đầu tiên được thực hiện theo 8 bit một lần khi chỉ yêu cầu với các phần tử XOR hai đầu vào. M123 chính là kết quả tìm kiếm). Việc sử dụng toán tử 2 đầu vào đảm bảo trạng thái máy đạt được tốc độ nhanh nhất có thể. Một cải tiến của nguyên lý được thảo luận trong tài liệu này chỉ có tác dụng đối với một đa thức có bậc nhỏ hơn 123, với các cơ số ít hơn, nó yêu cầu phần cứng ít hơn nhưng không đem lại ưu điểm gì về tốc độ.
Kết luận Phương phát tính toán CRC-32 cho ATM ở lớp 5 AAL5 ở tốc độ cao. Phép chia lần đàu được thực hiện với một đã thức M(x) khác so với đa thức được chọn theo các tiêu chuẩn sao cho việc tính toán dễ dàng hơn trong khi các sell vẫn được truyền và nhận bình thường. Khi tế bào cuối cùng được xử lý, một phép chia đơn cuối cùng cho đa thức CRC-32 G*(x) được thực hiện để kết thức quá trình tính toán. Nguyên lý này hoàn toàn có thể thực hiện được do M(x) là một đa thức bội cử G*(x), cho phép thực hiện hầu hết các tính toán với một máy trạng thái rất nhanh mà lại có thể thích hợp với tốc độ rất cao xử lý cho các kết nối ở AAL5 được truyền dẫn trên các sợi cap quang, cũng như OC-12 (622Mb/s), trường hợp này, các tế bào ATM cung được xử lý trong từng khoảng 700ns. Nguyên lý vẫn cho phép sử dụng các công nghệ CMOS tiêu chuẩn, trong
Trang 34
TiÓu luËn: øng dông m· CRC trong mạng ATM khi một hiệu suất cao hơn thường cần thiết để tính toán với các phương pháp truyền thống mà chỉ bằng các đa thức G*(x). Lặp lại cho tới byte cuối của ô cuối cùng
Bản tin Máy trạng thái (hình 1) Thanh ghi 123 bit
Phần dư của phép chia đầu tiên Sắp xếp tổ hơp Thanh ghi 32 bit Phần dư của phép chia cuối cùng Hình 3.2. Hai bước tính toán của mã CRC-32 với M 123
VI. Chương trình mô phỏng. Sử dụng tiện ích này để xác định số CRC với các file trên đĩa. Rất thuận tiện khi khắc phục sự cố của chính chương trình. Mã nguồn viết bằng C++ giải thích một phần thuận tiện rất nhỏ của thuật toán CRC-32. Được cụ thể hoá trong chương trình tính toán văn bản CRC. Chương trình được viết như sau: #include "stdafx.h" #include "CRCfile.h" #include "CRCfileDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// Trang 35
TiÓu luËn: øng dông m· CRC trong mạng ATM // CCRCfileApp BEGIN_MESSAGE_MAP(CCRCfileApp, CWinApp) //{{AFX_MSG_MAP(CCRCfileApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CCRCfileApp construction CCRCfileApp::CCRCfileApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CCRCfileApp object CCRCfileApp theApp; ///////////////////////////////////////////////////////////////////////////// // CCRCfileApp initialization BOOL CCRCfileApp::InitInstance() { // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls();
// Call this when using MFC in a shared DLL Trang 36
TiÓu luËn: øng dông m· CRC trong mạng ATM #else Enable3dControlsStatic(); #endif
// Call this when linking to MFC statically
CCRCfileDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; } // Everything above this line is AppWizard generated code Đặc điểm từ khoá của đa thức CRC
x + 1
Mô tả : (Chuẩn tắc của hàm thuận nghịch) 0x1 or 0x1 (0x1)
x5 + x2 + 1
0x05 or 0x14 (0x9)
x7 + x3 + 1 x8 + x2 + x + 1 x12 + x11 + x3 + x2 + x + 1
0x09 or 0x48 (0x11) 0x07 or 0xE0 (0xC1) 0x80F or 0xF01 (0xE03)
x16 + x12 + x5 + 1
0x1021 or 0x8408 (0x0811)
Tên CRC-1 CRC-5USB CRC-7 CRC-8 CRC-12 CRC-16CCITT
Đa thức
Trang 37
TiÓu luËn: øng dông m· CRC trong mạng ATM CRC-16IBM
x16 + x15 + x2 + 1
0x8005 or 0xA001 (0x4003)
x32 + x26 + x23 + x22 + x16 + x12 + CRC-32 x11 + x10 + x8 + x7 + x5 + x4 + x2 IEEE 802.3 + x + 1 x32 + x28 + x27 + x26 + x25 + x23 + CRC-32C 22 20 19 18 14 13 x + x + x + x + x + x + (Castagnoli) 11 10 9 8 6 x + x + x + x + x + 1 CRC-64ISO
0x04C11DB7 or 0xEDB88320 (0xDB710641) 0x1EDC6F41 or 0x82F63B78 (0x05EC76F1) 0x000000000000001B or 0xD800000000000000 (0xB000000000000001)
x64 + x4 + x3 + x + 1
x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + x45 + x40 + x39 + CRC-64- x38 + x37 + x35 + x33 + x32 + x31 + ECMA-182 x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + x12 + x10 + x9 + x7 + x4 + x + 1 CRC-128 (IEEE? / ITU?)
0x42F0E1EBA9EA3693 or 0xC96C5795D7870F42 (0x92D8AF2BAF0E1E85) ?
Tính toán và sử dụng CRC-32 Chương trình viết bằng C //---------------------------------------#ifndef crc32H #define crc32H //---------------------------------------DWORD crc32table[512]; void buildcrc32table(); int calc_crc32(char * buffer, int size); #endif the cpp file //--------------------------------------Trang 38
TiÓu luËn: øng dông m· CRC trong mạng ATM #include #pragma hdrstop #include "crc32.h" //--------------------------------------#pragma package(smart_init) void buildcrc32table() { const DWORD crcpoly=0xEDB88320; WORD i,j; DWORD r; for (i=0;i<512;i++) crc32table[i]=0; for (i=0;i<=255;i++) { r = (i << 1); for (j=8; j>0; j--) { if ((r & 1)!=0) { r= (r>>1)^crcpoly;} else { r = (r >>1); } } crc32table[i]=r; } } int calc_crc32(char * buffer, int size) { int u,h,tcrc; int i; tcrc=0xFFFFFFFF; for (i=0;i<=(size-1);i++) { u=buffer[i]; // one byte signextend h=crc32table[(byte)(u ^ tcrc)] ^ ((tcrc>>8) & 0x00FFFFFF); Trang 39
TiÓu luËn: øng dông m· CRC trong mạng ATM tcrc=h; } return -h; } Cách dùng thông thường .. buildcrc32table(); // required once .. unsigned char TxMsgBuffer[6000]; int TxSize; void DSPCommSend() { int i; unsigned char LenLo, LenHi; unsigned char CRC_1,CRC_2,CRC_3,CRC_4; WORD Len; unsigned int CRC; LenLo=(TxSize & 0xFF); LenHi=((TxSize & 0xFF00)>>8); TxMsgBuffer[0]=SYN; TxMsgBuffer[1]=SYN; TxMsgBuffer[2]=SYN; TxMsgBuffer[3]=SYN; TxMsgBuffer[4]=STX; TxMsgBuffer[5]=LenLo; TxMsgBuffer[6]=LenHi; for (i=0;i>8); CRC_3=((CRC & 0xFF0000)>>16); CRC_4=((CRC & 0xFF000000)>>24); TxMsgBuffer[TxSize+7]=CRC_1; TxMsgBuffer[TxSize+8]=CRC_2; Trang 40