You are on page 1of 41

TiÓu luËn: øng dông m· CRC trong mạng ATM

Chương I
Giới thiệu tổng quan về ATM

I. Giới thiệu về ATM...........................................................................................03


I.1. Nguyên lý cơ bản của ATM.....................................................................04
I.2. Cấu trúc luồng thông tin trong ATM........................................................06
I.3. Đặc điểm của ATM..................................................................................06
I.4. Mô hình giao thức chuẩn của ATM.........................................................07
I.5. Lớp tương thích ATM..............................................................................09
I.5.1. Giao thức lớp AAL..........................................................................09
I.5.2. Giao thức lớp AAL 5.......................................................................10
I.6. Cấu trúc phần đầu tế bào..........................................................................12
II. Các loại lỗi tế bào...........................................................................................18
II.1. Mất tế bào do lỗi phần tiêu đề................................................................18
II.2. Mất tế bào do tràn hàng đợi....................................................................20

Chương II
Điều khiển lỗi tiêu đề

1. Một số chức năng của trường HEC................................................................21


2. Điều khiển lỗi.................................................................................................21
II.1. Điều khiển lỗi mào đầu...........................................................................21
II.2. Phân tách tế bào và tạo tín hiệu giả ngẫu nhiên......................................23
3. Thuật toán điều khiển lỗi................................................................................24

Chương 3
Tính toán hai bước của mã độ dư tuần hoàn CRC-32
cho ATM

I. Giới thiệu..........................................................................................................29
II. Tổng quan.......................................................................................................29
III. Hoàn cảnh hiện tại.........................................................................................30
IV. Đơn giản hoá phép tính.................................................................................31

Trang 1
TiÓu luËn: øng dông m· CRC trong mạng ATM

IV.1. Đơn giản M(x).......................................................................................31


IV.2. Phép chia cuối cùng..............................................................................32
V. Tổng kết phương pháp....................................................................................34
VI. Chương trình mô phỏng................................................................................35

Chương 1
Trang 2
TiÓu luËn: øng dông m· CRC trong mạng ATM

Giới thiệu tổng quan về ATM

I. Giới thiệu về ATM


ATM là chữ viết tắt của kiểu truyền tải không đồng bộ (Asynchronous
Transfer Mode). Nghiên cứu đầu tiên về ATM và các kỹ thuật có liên quan đã
đượ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ủa Alcatel Bell đã bắt đầu phát triển các khái niệm ATM.
ATM có các đặc tính cơ bản giống chuyển mạch gói vì ATM là phương
thức truyền tin trong đó thông tin được chia thành các gói có chiều dài nhỏ
không thay đổi gọi là các tế bào tin. Tế bào tin được truyền độc lập và sẽ được
sắp xếp lại thứ tự ở đầu thu. ATM không đồng bộ bởi lý do sự xuất hiện liên tục
các tế bào ở trên các kênh không phụ thuộc chu kỳ. ITU đã chọn công nghệ
ATM như công nghệ chuyển mạch hoặc kiểu chuyển tải cho B- ISDN, nền tảng
của mọi thông tin băng rộng. ATM được coi là công nghệ của thế kỷ 21 và
người ta đang trông đợi tính phổ dụng của nó như công nghệ PCM đang sử dụng
hiện nay.
Từ không đồng bộ được sử dụng bởi vì ATM cho phép hoạt động không
đồng bộ giữa phía phát và phía thu. Sự không đồng bộ này có thể xử lý dễ dàng
bằng việc chèn hay tách các tế bào không phâm nhiệm (tế nào rỗng). Đó là các
gói không mang thông tin. Một trong nhiều đặc tính đặc biệt của ATM là nó có
khả năng bảo đảm vận chuyển tin cậy bất kỳ một loại dịch vụ nào mà không cần
quan tâm đến tốc độ (tốc độ không đổi hay tốc độ thay đổi ), yêu cầu chất lượng
hoặc đặc tính bùng nổ tự nhiên của lưu lượng.
ATM có thể được cho môi trường mạng. Ngoài ra, các tế bào ATM có độ
dài đồng nhất do vậy việc định tuyến, chèn, tách, hay ghép các tế bào nhanh hơn
mà không cần quan tâm đến thông tin được mang trong tế bào ATM. Vì vậy,
cuối cùng ITU-T quyết định chọn phương thức truyền ATM làm mạng phục vụ
cho các dịch vụ trong mạng băng rộng. Thật vậy mạng ATM có những ưu điểm
sau:
 Giảm giá thành vận hành, khai thác và quản lý. Giảm chi phí vì sử dụng ghép
thống kê.
 Điều khiển được nhiều loại lưu thông khác nhau như: Dữ Liệu, Tiếng Nói,
Hình ảnh, Video,... Đáp ứng cho mọi nhu cầu của người 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 đường truyền hiệu qủa: Cho phép truyền các ứng dụng
hình ảnh, dữ liệu, .. có tốc độ cố định, hoặc biến đổi theo thời gian hoặc ngắt
quãng.
 Dùng kỹ thuật chuyển mạch bằng phần cứng: Với chiều dài tế bào cố định là
53 Bytes, ATM cho phép việc xử lý chuyển mạch bằng các phần cứng có tốc
độ rất nhanh, giảm thiểu thời gian chuyển mạch và tăng đáng kể tốc độ
truyền.
 Cho khả năng thiết lập các nhóm kênh ảo: Nhóm kênh ảo được định nghĩa
bằng chỉ số nhận dạng ảo (VPI/VCI), Do vậy có thể tạo mới, thay đổi lưu
lượng hoặc lộ trình bằng cách điều khiển việc gán các nhãn địa chỉ tại các nút
chuyển mạch. Khả năng này cho phép việc quản lý và điều hành mạng năng
động.
 Đặc tính truyền dẫn mềm dẻo: Cho phép hầu như không giới hạn về tốc độ
của mỗi kênh cũng như số lượng các kênh vì mỗi kênh thông tin được thiết
lập bằng chuỗi các tế bào ATM, số lượng các tế bào được truyền đi trong một
đơn vị thời gian là tự do, số lượng kênh trên một đường truyền phụ thuộc vào
số các nhận dạng logic nên tốc độ mỗi kênh thông tin luôn đạt đến mức tối đa
có thể được. ATM có thể đáp ứng dễ dàng các dịch vụ có tốc độ khác nhau
và các dịch vụ trong tương lai.
 Có khả năng cung cấp băng thông theo yêu cầu: ATM là kỹ thuật hiệu qủa
cho việc xây dựng mạng: Người sử dụng có thể kết nối với mạng bằng cách
dùng những bộ thích ứng hỗ trợ băng thông tùy theo yêu cầu riêng của người
sử dụng đó.

I.1. Nguyên lý cơ bản của ATM.


Trong mục này chúng ta sẽ tìm hiểu nguyên lí ATM: phân đoạn và tái hợp.
Một cách quản trị tốt các luồng thông tin lớn là cắt các thông tin thành các gói
có độ dài bằng nhau còn gọi là các tế bào có gán tiêu để để gói có thể được định
tuyến tới đích của nó. Các tiêu đề trong ATM có rất ít chức năng do vậy chúng
có thể được chuyển qua mạng mà hầu như không phải xử lý. Hình 1.2 chỉ ra lưu
lượng với các tốc độ khác nhau 64 Kbps, 2Mbps, 34Mbps được cắt thành các
gói bằng nhau- tế bào. các tế bào từ các nguồn khác nhau được đưa vào miệng
ống truyền dẫn số để trộn theo cách sao cho truyền dẫn tối ưu nhất.
Tối ưu hoá ở đay được thực hiện bằng kỹ thuật ghép kênh thống kê. trong
một mạng ATM, vài nguồn và tổ hợp được ghép lại với nhau trên một đườ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ệu 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 trống
155Mbps

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ảng quản

mảng
Quản lý
lý
Mảng điều Mảng khách

Quản lý lớp


khiển hàng
Lớp bậc cao Lớp bậc cao

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...
• 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
nối 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ột 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
Cać chưc năng trong mô hinh ̀ giao thưc ATM.

Lớp/ phân 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)
Q Lớp phụ SAR (phân tách và tổ Miêu tả thuộc tính dịch vụ
U hợp) Phân tách và tổ hợp tế bào
ả Lớp ATM Điều khiển luồng chung (GFC)
n Tạo/ tách mào đầu tế bào
L Thông dịch giá trị VPI?VCI
ý Ghép và tách tế bào
Lớp vật lý
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
p 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ệu 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
Tính 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 độ Cố định Biến đổi
Kiểu kết nối Có kết nối Không
kết nối
Loại AAL AAL1 AAL2 AAL3/4 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 phạm vi bài tiều luận này chỉ xét ứng dụ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ột 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ội 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 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 7 + x 5 + x 4 + x 2 + x + 1
Khác với AAL3/4, ở AAL5 toàn bộ 48 byte của SAR-PDU đều là dữ liệu
được phân mảnh từ đơn vị dữ liệu 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.

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 5 4 3 2 1 Bit/Octet
GFC VPI 1
VPI VCI 2
VCI 3
VCI PT CLP 4
HEC 5
Phần dữ liệu (48 octet) Ặ
Cấu trúc tế bào ATM tại giao diện UNI

8 7 6 5 4 3 2 1 Bit/Octet
VPI 1
VPI VCI 2
VCI 3
VCI PT CLP 4
HEC 5
Phần dữ liệu (48 octet) Ặ
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 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ệu 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ện 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ột 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:
Giá trị
Kiểu
Octet 1 Octet 2 Octet 3 Octet 4 Octet 5
Tế bào lớp vật lý pppp000 0000000 0000000 0000pp1 Mã HEC

Tế bào không xác định 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

Báo hiệu từ điểm tới điểm ggggzzzz zzzz0000 0000000 00110a0a Mã HEC
Tế bào OAM mức F4 liên quan
ggggzzzz zzzz0000 0000000 01000a0a Mã HEC
tới liên kết
Quản lý tài nguyên ggggzzzz zzzzvvvv vvvvvvv vvvv110a Mã HEC

Dành cho các chức năng sau này ggggzzzz zzzzvvvv vvvvvvv vvvv111a Mã HEC

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ỗi 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ệu 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ột 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ệu 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
.B
h+i
• Xác suất xảy ra lỗi ở trường dữ liệu:
i
.B
h+i
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à:
h i i ( 2h + 1)
B1 = .B.2i + B= .B
h+i h+i h+i
Hiệu ứng nhân lỗi M1 = B1 / B là:
2h + 1
M1 =
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:
h i i (h + 1)
B2 = .B.i + .B = .B
h+i h+i 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

h +1
M2 =
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:
h i i
B3 = .B.0 + .B = .B
h+i h+i h+i
Hiệu ứng nhân lỗi M3:
1
M3 =
h
1+
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 đề đặt 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 nhẹ 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ột 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ột 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 động 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
ph¸t hiÖn
Ph­¬ng thøc Kh«ng ph¸t hiÖn lçi Ph­¬ng thøc lçi
lçi
tù söa lçi (Kh«ng lµmg× ) ph¸t hiÖn lçi (Lo¹i bá tÕ
(Kh«ng
bµo)
lµmg× )
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.
II.2. Phân tách tế bào và tạo tín hiệu giả ngẫu nhiên.
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



m ®ångbé HEC sai
HUNT
Sai liªn tiÕp
“anpha” lÇn
HEC ®
óng
§ ångbé TiÒn ®ångbé
SYNC 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 7 6
Lớp vật lý trên cơ sở tế bào 7 9

Toàn bộ quá trình được mô tả theo sơ đồ thuật toán sau:
III. Thuật 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 K iÓm tra


000
®Çu ®ång thêi
001
010
T×m ®ång bé T×m
Nh¶y tí i theo bit §B
*
T iÒn
§B
**
HEC ®óng § ång
S Bé
§
*
TiÒn ®ång bé
theo byte

X o¸ bé§ ÕmT HEC ®óng


S
§

T¨ng bé§ ÕmT


Ph¸t hiÖn lçi

§ § ÕmT= ThÊy lçi


delta lÇn S
§ ÕmF= S K h«ng
anpha lÇn § cã lçi § Cã lçi
S
**
§ ång bé Lçi ®¬n S
§ a lçi
§ cã lçi ®¬n

T¨ng bé§ ÕmF HEC ®óng Söa lçi Lo¹ i bá tÕ bµo


S
§
Cell mí i
X o¸ bé§ ÕmF cËp nhËt

Gäi ch­ ¬ng tr×nh


ph¸t hiÖn vµ
söa lçi

ThuËt to¸n söa lçi tr­ êng tiªu ®ÒH EC


K Õt thóc t¹ i ®Çu thu

Trang 25
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 + x12 + x10 + x 9 + x 8 + x 7 + x 4 + x 3 +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:
x 8 .F(x)= x 38 + x 36 + x 34 + x 33 + x 32 + x 30 + x 27 + x 26 + x 20 + x18 + x17 + x16 + x15 + x12 + x11 + x 8
Rồi tích số ấy được chia cho đa thức sinh G(x)= x 8 + 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)

Trang 26
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)
= x 30 + x 28 + x 26 + x 25 + x 23 + x 22 + x 21 + x19 + x18 + x15 + x12 x 6 + x 5 + x 3
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 | 100000111

Trang 27
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 CRC-
32 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ột 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 vẹ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 vẹ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 nghẹ CMOS tiêu chuẩn.

III. Hoàn cảnh hiện 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 (622x10 6 bit/s) thì cứ khoảng 13 ns thì có một 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ị (x0 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
Khối nhận Vectơ M123 (Byte cao, trước)
(48 cổng XOR hai đầu
vào)
8
123
123
8

Bộ cộng (8 cổng
115
XOR hai đầu
vào)

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) Đầu vào cần thiết cực


đại của bộ XOR
M123 = x123 + x111 + x92 + x84 + x64 + x46 + x23 + 1 2
M71 = x71 + x57 + x48 + x44 + x36 + x22 + x15 + x8 + 1 3
M53 = x53 + x38 + x36 + x33 + x30 + x27 + x25 + x7 + x3 + 1 4
G*(x) như trong [5 ] 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 M123
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 M71 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


Bản tin tới byte cuối
Máy trạng thái (hình của ô cuối
1) cùng
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 M123

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(); // Call this when linking to MFC statically
#endif

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

Mô tả :
Tên Đa thức
(Chuẩn tắc của hàm thuận nghịch)
CRC-1 x+1 0x1 or 0x1 (0x1)
CRC-5-
x5 + x2 + 1 0x05 or 0x14 (0x9)
USB
CRC-7 x7 + x3 + 1 0x09 or 0x48 (0x11)
CRC-8 x8 + x2 + x + 1 0x07 or 0xE0 (0xC1)
CRC-12 x12 + x11 + x3 + x2 + x + 1 0x80F or 0xF01 (0xE03)
CRC-16-
x16 + x12 + x5 + 1 0x1021 or 0x8408 (0x0811)
CCITT

Trang 37
TiÓu luËn: øng dông m· CRC trong mạng ATM

CRC-16-
x16 +x15 + x2 + 1 0x8005 or 0xA001 (0x4003)
IBM
x32 + x26 + x23 + x22 + x16 + x12 +
CRC-32- 0x04C11DB7 or 0xEDB88320
x11 + x10 + x8 + x7 + x5 + x4 + x2
IEEE 802.3 (0xDB710641)
+x+1
x32 + x28 + x27 + x26 + x25 + x23 +
CRC-32C 0x1EDC6F41 or 0x82F63B78
x22 + x20 + x19 + x18 + x14 + x13 +
(Castagnoli) 11 (0x05EC76F1)
x + x10 + x9 + x8 + x6 + 1
0x000000000000001B or
CRC-64- 64 4 3
x +x +x +x+1 0xD800000000000000
ISO
(0xB000000000000001)
x64 + x62 + x57 + x55 + x54 + x53 +
x52 + x47 + x46 + x45 + x40 + x39 +
0x42F0E1EBA9EA3693 or
CRC-64- x38 + x37 + x35 + x33 + x32 + x31 +
0xC96C5795D7870F42
ECMA-182 x29 + x27 + x24 + x23 + x22 + x21 +
(0x92D8AF2BAF0E1E85)
x19 + x17 + x13 + x12 + x10 + x9 +
x7 + x4 + x + 1
CRC-128 (IEEE? / ITU?) ?

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
TiÓu luËn: øng dông m· CRC trong mạng ATM

TxMsgBuffer[TxSize+9]=CRC_3;
TxMsgBuffer[TxSize+10]=CRC_4;
// Sendmessage(TxMsgBuffer,TxSize+10);
...
}

Đây là giao diện khi chạy chương trình

Trang 41

You might also like