Tìm kiếm nhanh và chính xác hơn với google tùy chỉnh

Thứ Năm, 8 tháng 3, 2012

Cơ bản về địa chỉ IP

1. Địa chỉ IP (version 4):
Địa chỉ IP là một số nguyên 32 bit, thường được biểu diễn dưới dạng một dãy 4 số nguyên cách nhau bởi dấu chấm (dotted format). Một số nguyên trong địa chỉ IP là một byte, thường được gọi là một octet (8 bits).

Ví dụ về một địa chỉ IP điển hình là 123.255.0.15. Các thành phần 123, 255, 0 và 15 là các octet.

Một địa chỉ IP gồm có 3 phần. Phần đầu tiên là địa chỉ mạng (network address), phần thứ cuối cùng là địa chỉ máy (host address) và phần còn lại (nếu có) là địa chỉ mạng con (subnet address).

Địa chỉ mạng của một địa chỉ IP được tìm ra khi thực hiện phép toán logic AND giữa địa chỉ IP đấy và một giá trị gọi là mặt nạ mạng (network mask, tôi sẽ không dùng từ “mặt nạ mạng” trong tất cả các bài về sau mà chỉ dùng “network mask” cũng như sẽ không dịch từ “mask” thành “mặt nạ” nữa). Network mask cho biết bao nhiêu bit trong địa chỉ IP là địa chỉ mạng.

2. Phân lớp địa chỉ IP:

Địa chỉ IP được phân ra làm 5 lớp mạng (lớp A, B, C, D, và E). Trong đó bốn lớp đầu được sử dụng, lớp E được dành riêng cho nghiên cứu. Lớp D được dùng cho việc phát các thông tin broadcast/multicastt (broadcast/multicast IPs). Lớp A, B và C được dùng trong cuộc sống hàng ngày.

3. Cách phân biệt IP lớp A, B, C, và D:

Một địa chỉ IP với bit đầu tiên là 0 thuộc về lớp A, bit đầu tiên là 1 và bit thứ 2 là 0 thuộc lớp B, bit đầu là 1, bit 2 là 1, bit 3 là 0 thuộc lớp C, bit đầu là 1, bit 2 là 1, bit 3 là 1, bit 4 là 0 thuộc lớp D. Lớp E là các địa chỉ còn lại. Bảng sau tóm tắt ý tưởng này:

A 0xxxxxxxx . host . host . host (tức là 24 bit sau có thể dùng để đánh dấu địa chỉ máy), octet đầu tiên sẽ bắt đầu từ 00000001 đến 01111110 (1-126 hệ cơ số 10 vì địa chỉ toàn 0 để dùng cho việc khác, và địa chỉ 01111111... phục vụ cho việc test)
B 10xxxxxxx . network . host . host thì có 8 bit cho địa chỉ mạng (một cơ quan có nhiều mạng chẳng hạn) octet đầu tiên từ 128-191 (10000000 - 10111111)
C 110xxxxx . network . network . host , octet đầu từ 192-223
D 1110x…….xxx (không dùng)

Ví dụ địa chỉ 10.243.100.56 là một địa chỉ IP lớp A vì octet đầu được biểu diễn dưới dạng nhị phân thành 00001010. Bit đầu tiên là 0 nên địa chỉ đó thuộc về lớp A.

Mỗi lớp có 2 địa chỉ dành riêng là địa chỉ thấp nhất (phần địa chỉ máy toàn bit 0), và địa chỉ cao nhất của lớp đó (phần địa chỉ máy toàn bit 1). Như vậy, địa chỉ mạng có thể có trong một lớp sẽ phụ thuộc vào số bit trong network mask (bit mang giá trị 1). Nếu gọi số bit 1 trong network mask là x thì số địa chỉ mạng tối đa có thể có trong một lớp là 2^x

Tuy nhiên, vì mỗi lớp bị phụ thuộc vào vài bit đầu tiên quy định nên số địa chỉ mạng tối đa thật sự trong mỗi lớp sẽ là 2^x - 2^(số bit cố định của lớp tương ứng).

Như vậy lớp A có 126 địa chỉ, lớp B có tối đa 16382 địa chỉ, lớp C có 2097150 địa chỉ.

Phần còn lại ngoài địa chỉ mạng sẽ là địa chỉ máy. Tương tự cũng có 2 địa chỉ máy dành riêng (địa chỉ thấp nhất và địa chỉ cao nhất) trong mỗi địa chỉ mạng. Như vậy, số địa chỉ máy có thể có trong mỗi mạng sẽ là 2^(32 - x) - 2. Công thức tính đơn giản giống công thức tính số địa chỉ mạng. Chỉ khác một điều là ta dùng số bit 0 (32-x) thay vì dùng số bit 1 (x).

Như vậy, một địa chỉ mạng lớp C sẽ có 254 địa chỉ máy, tương tự cho địa chỉ mạng lớp B, và A.

Tổng số địa chỉ của một lớp mạng là tích của số địa chỉ mạng và số địa chỉ máy trong một mạng thuộc lớp đó.

4. Subnet:

Tuy nhiên, các nhà quản trị mạng thường phân chia mạng của họ ra thành nhiều mạng nhỏ hơn gọi là mạng con subnet. Tương tự với địa chỉ mạng, địa chỉ mạng con cũng được quy định bởi một mask, gọi là subnet mask. Subnet mask của một địa chỉ mạng có số bit 1 nhiều hơn hoặc bằng (trường hợp bằng có nghĩa là không có chia mạng ra thành subnet) số bit 1 trong network mask của địa chỉ đó. Ví dụ subnet mask của một mạng thuộc lớp B sẽ có dạng 255.255.xxx.xxx với xxx là số bất kỳ từ 0 đến 255.

Cách tính số địa chỉ mạng con của một địa chỉ mạng sẽ phụ thuộc vào bao nhiêu bit của network mask đã được dùng để làm subnet mask (tạm gọi là y). Hai công thức bên trên đều được sử dụng với việc thay biến x thành y. Đặc biệt cách tính số địa chỉ IP trong mỗi subnet sẽ dùng cả x và y theo công thức sau:

2^(32 - x - y) - 2

Ví dụ subnet mask của một mạng lớp A (network mask mặc định 255.0.0.0) là 255.192.0.0 thì y sẽ là 2 (vì 192 biểu diễn ở dạng nhị phân là 11000000, có nghĩa là đã có 2 bit đã được sử dụng để làm subnet mask). Subnet mask phải là một dãy liên tục các bit 1 ngay sau network mask. Điều này nói lên rằng subnet mask dành một số bit 0 trong network mask (phần dành cho địa chỉ máy). Cũng có 2 địa chỉ máy dành riêng trong mỗi subnet. Hai địa chỉ đó là subnet address (địa chỉ thấp nhất trong subnet) và broadcast address (địa chỉ cao nhất trong subnet). Địa chỉ thấp nhất trong subnet không nhất thiết có tất cả các bit là 0 như đối với địa chỉ thấp nhất trong một mạng, cũng như địa chỉ cao nhất không nhất thiết phải là toàn bit 1. Lưu ý là trong một vài tài liệu cũ nói rằng cũng có 2 subnet dành riêng trong mỗi mạng nhưng bây giờ điều đó không còn dùng nữa. Hai subnet đó vẫn được dùng, gọi là zero subnet (subnet thấp nhất) và broadcast subnet (subnet cao nhất).

Ngoài ra, mỗi lớp mạng còn có 1 địa chỉ mạng dành riêng (private network address). Lớp A có địa chỉ 10.0.0.0. Lớp B có địa chỉ 172.16.0.0. Lớp C có địa chỉ 192.168.0.0. Địa chỉ broadcast của lớp A còn được gọi là địa chỉ universal broadcast (toàn bit 1 hay 255.255.255.255).
5. Broadcast và multicast:

Các phần trên đề cập đến broadcast và multicast nhưng chưa giải thích. Địa chỉ broadcast là một địa chỉ mà khi thông tin gửi tới địa chỉ đó sẽ được gửi đến toàn bộ các máy trong mạng. Multicast cũng như broadcast nhưng chỉ có tác dụng trong một subnet.

Trên đây là các kiến thức cơ bản về việc đánh địa chỉ IP. Vài ví dụ dưới sẽ giúp làm sáng tỏ các kiến thức trên.

Ví dụ 1: Địa chỉ 192.168.0.1 thuộc lớp nào?

Có 2 cách trả lời câu hỏi này: Một là dựa vào việc phân tích octet đầu ra dạng nhị phân, căn cứ vào các bit đầu mà có thể trả lời. Cách thứ hai là vì địa chỉ này thuộc mạng riêng của lớp C nên có thể trả lời ngay.

Ví dụ 2: Chỉ rõ địa chỉ mạng của địa chỉ 192.168.0.5 với network mask mặc định.

Câu hỏi này buộc ta phải biết địa chỉ 192.168.0.5 thuộc lớp nào và biết network mask của lớp đó.

192.168.0.5 thuộc lớp C.

Lớp C có network mask là 255.255.255.0.

Thực hiện phép AND sẽ ra 192.168.0.0.

Câu trả lời là 192.168.0.0. Câu hỏi này cũng có thể trả lời nếu ta biết là địa chỉ 192.168.0.5 là một trong 3 địa chỉ riêng.

Ví dụ 3: Chỉ rõ phần địa chỉ mạng (bỏ phần địa chỉ máy) của địa chỉ 192.168.0.10 với network mask mặc định.

Như câu trên ta đã biết network mask của địa chỉ 192.168.0.10 là 255.255.255.0. Câu hỏi yêu cầu chỉ rõ PHẦN địa chỉ mạng, nên ta chỉ lấy các bit còn nằm trong network mask:

Địa chỉ đầu 11000000.10101000.00000000.00001010

Network mask 11111111.11111111.11111111.00000000

Lấy phần trong network mask 11000000.10101000.00000000

Câu trả lời sẽ là 192.168.0.

Ví dụ 4: Địa chỉ IP 129.56.7.8 có subnet mask là 255.255.128.0. Hỏi có bao nhiêu subnet, bao nhiêu địa chỉ IP trong mỗi subnet, bao nhiêu địa chỉ IP trong mạng đó?

Việc trả lời đòi hỏi chút tính toán. Sau khi nhận biết địa chỉ IP này là thuộc lớp B, network mask mặc định là 255.255.0.0 (x là 16), ta biết quản trị mạng đã lấy 1 bit để chia subnet. Như vậy, y là 1. Số subnet là 2^1 là 2. Số địa chỉ IP trong mỗi subnet là 2^(32-y-x) - 2 là 32766. Suy ra số địa chỉ IP trong mạng đó là 2 * 32766 là 65532.
6. Câu hỏi dành cho người đọc tự trả lời:

Một quản trị viên có một network address thuộc lớp C. Anh ta muốn chia địa chỉ này ra thành nhiều subnet nhỏ hơn. Anh ta muốn mỗi subnet có tối thiểu 10 máy và tối đa 30 máy, vậy anh ta nên dùng những subnet mask nào?

Trên đây là một vài thông tin cần thiết để hiểu cách đánh địa chỉ IP.

Nguồn google.com.vn có sửa đổi

Nhà cung cấp dịch vụ Internet (Internet Service Provider - ISP)

Nhà cung cấp dịch vụ Internet (tiếng Anh: Internet Service Provider, viết tắt: ISP) chuyên cung cấp các giải pháp kết nối Internet cho các đơn vị tổ chức hay các cá nhân người dùng. Một số ISP ở Việt Nam là FPT, Viettel, VDC, Netnam,... Các ISP phải thuê đường và cổng của một IAP. Các ISP có quyền kinh doanh thông qua các hợp đồng cung cấp dịch vụ Internet cho các tổ chức và các cá nhân.
Các loại ISP dùng riêng được quyền cung cấp đầy đủ các dịch vụ Internet. Điều khác nhau duy nhất giữa ISP và ISP riêng là không cung cấp dịch vụ Internet với mục đích kinh doanh. Người dùng chỉ cần thoả thuận với một ISP hay ISP riêng nào đó về các dịch vụ được sử dụng và thủ tục thanh toán được gọi là thuê bao Internet.

Lý thuyết mã hóa

Lý thuyết mã hóa (tiếng Anh: coding theory) là một ngành của toán học (mathematics) và khoa học điện toán (computer science)) nhằm giải quyết tình trạng lỗi dễ xảy ra trong quá trình truyền thông số liệu trên các kênh truyền có độ nhiễu cao (noisy channels)), dùng những phương pháp tinh xảo khiến phần lớn các lỗi xảy ra có thể được chỉnh sửa. Nó còn xử lý những đặc tính của mã (codes)), và do vậy giúp phù hợp với những ứng dụng cụ thể.
Có hai loại mã hiệu:
  1. Mã hóa dùng nguồn (Mã hóa entrôpi (Entropy encoding))
  2. Mã hóa trên kênh truyền (Sửa lỗi ở phía trước (Forward error correction))
Cái đầu tiên chúng ta nói đến là mã hóa dùng nguồn. Ý định của phương pháp này là nén dữ liệu từ chính nguồn của nó, trước khi truyền đi, giúp cho việc truyền thông có hiệu quả hơn. Chúng ta chứng kiến thói quen này hằng ngày trên Internet, nhất là trong cách dùng "zip" nén dữ liệu để giảm lượng dữ liệu phải truyền, giảm nhẹ gánh nặng cho mạng lưới truyền thông, đồng thời thu nhỏ cỡ tập tin. Cái thứ hai là mã hóa trên kênh truyền. Bằng việc cộng thêm những bit mới vào trong dữ liệu được truyền, còn gọi là bit chẵn lẻ (parity bits), kỹ thuật này giúp cho việc truyền thông tín hiệu chính xác hơn trong môi trường nhiễu loạn của kênh truyền thông. Có nhiều chương trình ứng dụng, mà người dùng trung bình không để ý đến, sử dụng mã hóa trên kênh truyền. Kỹ thuật Reed-Solomon được dùng để nhằm sửa lỗi do những vết xước và bụi trên bề mặt đĩa âm nhạc CD thông thường. Trong ứng dụng này, kênh truyền thông lại chính là bản thân cái đĩa CD. Điện thoại di động "Cell phones" cũng dùng kỹ thuật mã hóa có hiệu ứng cao (powerful coding technique) để sửa các lỗi trong việc truyền sóng rađiô ở tần số cao bị yếu mờ và bị nhiễu. Modem xử lý số liệu, việc truyền thông qua đường điện thoại, và đương nhiên ngay cả chính NASA, tất cả đều sử dụng kỹ thuật mã hóa trên kênh truyền hiệu ứng để truyền những bit số liệu qua đường dây.
Mã hóa dùng nguồn
Mục đích của mã hóa dùng nguồn là lấy dữ liệu nguồn và thu nhỏ chúng lại.
Xin xem thêm chi tiết trong bài viết Mã hóa dùng nguồn.
Nguyên lý
Entrôpi của nguồn là một đo đạc về tin tức. Căn bản mà nói, mã của nguồn được dùng để loại bỏ những phần thừa, không cần thiết còn tồn trong nguồn, để lại phần nguồn với số lượng bit ít hơn, nhưng với nhiều tin tức hơn.
Mỗi loại mã hóa nguồn sử dụng một kỹ thuật khác nhau hòng đạt được giới hạn entrôpi của nguồn. C(x) >= H(x), trong đó H(x) là entrôpi của nguồn (tần số bit), và C(x) là tần số bit sau khi số liệu đã được nén. Cụ thể là, không có phương pháp mã hóa nguồn nào có thể tốt hơn giới hạn entrôpi của ký hiệu (the entropy limit of the symbol).
Ví dụ
Truyền thông bản sao FAX dùng một kỹ thuật đơn giản là trường đạc mã (run-length code).
Mã hóa trên kênh truyền
Mục đích của lý thuyết Mã hóa trên kênh truyền (channel encoding theory) là tìm những mã có thể truyền thông nhanh chóng, chứa đựng nhiều mã ký (code word) hợp lệ và có thể sửa lỗi (error correction) hoặc ít nhất phát hiện các lỗi xảy ra (error detection). Các mục đích trên không phụ thuộc vào nhau, và mỗi loại mã có công dụng tối ưu cho một ứng dụng riêng biệt. Những đặc tính mà mỗi loại mã này cần còn tuỳ thuộc nhiều vào xác suất lỗi xảy ra trong quá trình truyền thông. Đối với một đĩa CD thông thường, lỗi trong âm thanh xảy ra chủ yếu là do bụi và những vết xước trên mặt đĩa. Vì thế, các mã được lồng vào với nhau. Dữ liệu được phân bổ trên toàn bộ mặt đĩa. Tuy không được tốt cho lắm, song một mã tái diễn đơn giản có thể được dùng làm một ví dụ dễ hiểu. Chẳng hạn, chúng ta lấy một khối số liệu bit (đại diện cho âm thanh) và truyền gửi chúng ba lần liền. Bên máy thu, chúng ta kiểm tra cả ba phần lặp lại ở trên, từng bit từng bit một, rồi lấy cái nào có số bầu cao nhất. Điểm trái khoáy ở đây là, chúng ta không chỉ truyền gửi các bit theo thứ tự. Chúng ta lồng nó vào với nhau. Khối dữ liệu này, trước tiên, được chia ra làm 4 khối nhỏ. Sau đó chúng ta gửi một bit ở khối đầu tiên, tiếp theo một bit ở khối thứ hai v.v tuần tự qua các khối. Việc này được lặp đi lặp lại ba lần để phân bổ số liệu ra trên bề mặt đĩa. Trong ngữ cảnh của mã tái diễn đơn giản ở trên, việc làm này hình như không được hiệu quả cho lắm. Song hiện nay có những mã có hiệu ứng cao, rất phù hợp với việc sửa lỗi xảy ra đột ngột do một vết xước hay một vết bụi, khi dùng kỹ thuật lồng số liệu nói trên.
Mỗi mã thường chỉ thích hợp cho một ứng dụng nhất định. Viễn thông trong vũ trụ (deep space) bị giới hạn bởi nhiễu nhiệt (thermal noise) trong thiết bị thu. Hiện trạng này không xảy ra một cách đột phát bất thường, song xảy ra theo một chu trình tiếp diễn. Tương tự như vậy, modem với dải tần hẹp bị hạn chế vì nhiễu âm tồn tại trong mạng lưới điện thoại. Những nhiễu âm này có thể được biểu hiện rõ hơn bằng một mô hình âm tạp tiếp diễn. Điện thoại di động "Cell phones" hay có vấn đề do sự suy sóng nhanh chóng xảy ra. Tần số cao được dùng có thể gây ra sự suy sóng tín hiệu một cách nhanh chóng (rapid fading), ngay cả khi máy nhận chỉ dời chỗ vài phân Anh (inches) 1. Một lần nữa, người ta hiện đã có một loại thuộc hạng Mã hóa trên kênh truyền được thiết kế để đối đầu với tình trạng suy sóng.
Từ "Lý thuyết mã hóa đại số" ám chỉ để một chi nhánh của lý thuyết mã hóa trên kênh truyền, trong đó đặc tính của mã được biểu hiện bằng các đại số và dựa vào đó mà nghiên cứu sâu hơn.
Lý thuyết mã hóa đại số được chia ra làm 2 loại mã chính
  1. Mã khối tuyến tính (Linear block codes)
  2. Mã kết hợp (Convolutional codes)
Chúng phân tích ba đặc tính sau của mã -- nói chung là:
  • Chiều dài của mã (code word length)
  • Tổng số các mã ký hợp lệ (total number of valid code words)
  • Khoảng cách Hamming tối thiểu giữa hai mã ký hợp lệ (the minimum Hamming distance between two valid code words)
Mã khối tuyến tính
Mã khối tuyến tính mang tính năng tuyến tính (linearity), chẳng hạn tổng của hai mã ký nào đấy lại chính là một mã ký; và chúng được ứng dụng vào các bit của nguồn trên từng khối một; cái tên mã khối tuyến tính là vì vậy (linear block codes). Có những khối mã bất tuyến tính, song khó mà chứng minh được rằng một mã nào đó là một mã tốt nếu mã ấy không có đặc tính này.
Bất cứ mã khối tuyến tính nào cũng được đại diện là (n,m,dmin), trong đó
  1. n, là chiều dài của mã ký, trong ký hiệu (symbols),
  2. m, là số ký hiệu nguồn (source symbols) được dùng để mã hóa tức thời,
  3. dmin, là khoảng cách hamming tối thiểu của mã (the minimum hamming distance for the code)
Có nhiều loại mã khối tuyến tính, như
  1. Mã tuần hoàn (Cyclic codes) (Mã Hamming là một bộ phận nhỏ (subset) của mã tuần hoàn)
  2. Mã tái diễn (Repetition codes)
  3. Mã chẵn lẻ (Parity codes)
  4. Mã Reed-Solomon (Reed Solomon codes)
  5. Mã BCH (BCH code)
  6. Mã Reed-Muller
  7. Mã hoàn hảo (Perfect codes)
Mã khối được gắn liền với bài toán "đóng gói đồng xu" là bài toán gây một số chú ý trong nhiều năm qua. Trên bề diện hai chiều, chúng ta có thể hình dung được vấn đề một cách dễ dàng. Lấy một nắm đồng xu, để nằm trên mặt bàn, rồi dồn chúng lại gần với nhau. Kết quả cho chúng ta một mẫu hình lục giác tương tự như hình tổ ong. Các mã khối còn dựa vào nhiều chiều khác nữa, không dễ gì mà hình dung được. Mã Golay 2 có hiệu ứng cao, dùng trong truyền thông qua khoảng không vũ trụ, sử dụng những 24 chiều. Nếu được dùng là mã nhị phân (thường thấy), các chiều ám chỉ đến chiều dài của mã ký như đã định nghĩa ở trên.
Lý thuyết về mã sử dụng mô hình hình cầu với số chiều "N". Lấy ví dụ, bao nhiêu đồng xu phải cần để phủ kín một mặt bàn, hay trong khoảng không 3 chiều, bao nhiêu hòn bi phải cần để nhồi kín một hình cầu. Những cân nhắc khác bao gồm việc chọn lựa mã. Lấy ví dụ, do nhồi nhữmg hình lục lăng vào trong một cái hộp hình chữ nhật, chúng ta để lại những khoảng trống ở các góc. Khi các chiều của hộp được tăng lên, tỷ lệ phần trăm so sánh của các khoảng trống nhỏ đi, cho đến một cỡ nào đấy, những phần nhồi chiếm hết các khoảng không và mã này được gọi mã hoàn hảo. Số mã kiểu này tương đối hiếm (Hamming [n,k,3], Golay [24,12,8],[23,12,7],[12,6,6])
Một điều thường bị bỏ qua là số lượng những hàng xóm kế cận (neighbors) mà một mã ký có thể có. Chúng ta có thể dùng lại ví dụ các đồng xu ở đây. Đầu tiên, chúng ta gộp các đồng xu lại theo các hàng hình chữ nhật. Mỗi một đồng xu có 4 đồng kế cận (và 4 cái ở bốn góc xa hơn). Trong bố cục của hình lục giác, mỗi đồng xu có 6 đồng kế cận. Khi chúng ta tăng số chiều lên, số lượng các đồng kế cận tăng lên một cách nhanh tróng.
Kết quả là số lượng các âm tạp, bên cạch các âm chính, mà máy thu có thể chọn, cũng tăng lên, và do đó mà gây ra lỗi. Đây chính là khuyết điểm căn bản của mã khối, và cũng là khuyết điểm của tất cả các loại mã. Có thể việc gây lỗi trở nên khó khăn hơn, nếu chỉ có một hàng xóm kế cận mà thôi, song con số các hàng xóm kế cận có thể lớn đến độ làm cho chính tổng xác suất lỗi bị ảnh hưởng (total error probability actually suffers).
Mã kết hợp
Mã kết hợp (Convolutional codes) được sử dụng trong các modem dải tần âm (voiceband modems) (V.32, V.17, V.34) và trong các điện thoại di động GSM3, cũng như trong các thiết bị truyền thông của quân đội vũ trang và trong các thiết bị truyền thông với vệ tinh.
Ý định ở đây là làm cho tất cả các ký hiệu mã ký (codeword symbol) trở thành tổng trọng số (weighted sum) của nhiều loại ký hiệu thông điệp trong nhập liệu (various input message symbols). Nó tương tự như toán kết hợp được dùng trong các hệ tuyến tính bất biến (linear time invariant systems) để dùng tìm xuất liệu (output) của một hệ thống, khi chúng ta biết nhập liệu (input) và các đáp ứng xung (impulse response).
Nói chung chúng ta tìm xuất liệu của bộ mã hóa kết hợp hệ (system convolutional encoder), tức sự kết hợp của nhập liệu bit, đối chiếu với trạng thái của bộ mã hóa kết hợp (convolution encoder), hoặc trạng thái của các thanh biến (registers).
Về cơ bản mà nói, mã kết hợp không giúp thêm gì trong việc chống nhiễu hơn một mã khối tương ứng. Trong nhiều trường hợp, chúng nói chung cho chúng ta một phương pháp thực thi đơn giản hơn, hơn hẳn một mã khối có hiệu quả tương ứng (a block code of equal power). Bộ mã hóa thường là một mạch điện đơn giản, có một bộ nhớ (state memory), một vài biện pháp truyền thông tin phản hồi báo tình hình (some feedback logic), thường là các cổng loại trừ XOR (XOR gates). Bộ mã hóa có thể được thực thi trong phần mềm hay phần sụn (firmware).
Thuật toán Viterbi (Viterbi algorithm) là một thuật toán ngắn gọn nhất (optimum algorithm) được dùng để giải mã các mã kết hợp. Hiện có những phương pháp giảm ước giúp vào việc giảm khối lượng tính toán phải làm. Những phương pháp này phần lớn dựa vào việc tìm tuyến đường có khả năng xảy ra cao nhất (most likely paths). Tuy không ngắn gọn, song trong môi trường nhiễu thấp hơn, người ta thường thấy chúng cho những kết quả khả quan. Các bộ điều hành vi xử lý hiện đại (Modern microprocessors) có khả năng thực hiện những thuật toán tìm giảm ước nói trên với tỷ lệ trên 4000 mã ký trong một giây.
Các ứng dụng của lý thuyết mã hóa
Một quan tâm khác của lý thuyết mã hóa là việc thiết kế các mã giúp vào việc đồng bộ hóa (synchronization). Một mã có thể được thiết kế để phát hiện dịch pha sóng điện (phase shift) và sửa lỗi, đồng thời cho phép nhiều tín hiệu (multiple signals) được truyền gửi trên cùng một kênh. Có một hạng loại của những mã mà chúng ta hằng ngày thường gặp trong các điện thoại di động của mình. Chúng được gọi là mã Đa truy nhập phân chia theo mã (Code Division Multiple Access - viết tắt là CDMA). Chi tiết về chúng thuộc phạm vi bên ngoài cuộc đàm luận ở đây, song nói một cách ngắn gọn, mỗi cái điện thoại được gắn cho một mã ký (codeword) lấy ra từ một hạng đặc biệt (special class) (ngành Đại Số). Trong khi truyền thông, mã ký được dùng để xáo trộn các bit đại biểu cho thông điệp âm thanh (voice message). Tại máy thu, một quy trình giải xáo trộn ("descrambling") được tiến hành để giải mã (decipher) thông điệp. Đặc tính của hạng mã ký này cho phép nhiều người dùng (với các mã khác nhau) sử dụng cùng một kênh truyền rađiô trong cùng một lúc. Máy thu, dùng chu trình giải xáo trộn, chỉ "nghe" thấy những người gọi khác như "nhiễu âm" ở độ thấp mà thôi.
Một hạng mã nổi tiếng khác nữa là mã Yêu cầu lặp lại tự động (Automatic Repeat reQuest - viết tắt là ARQ). Trong hạng phổ quát (general class) này, máy phát cho thêm các bit chẵn lẻ kiểm tra (parity check bits) vào các thông điệp dài hơn bình thường. Máy thu kiểm tra bit chẵn lẻ của thông điệp thu được và nếu nó phát hiện ra một sự bất đồng, nó sẽ yêu cầu máy phát truyền tin lại thông điệp. Hầu hết các mạng diện rộng (wide area networks) và các giao thức, ngoại trừ những cái hết sức đơn giản, đều sử dụng tái truyền thông ARQ. Những giao thức thông dụng bao gồm SDLC (IBM), TCP (Internet), X.25 (Quốc tế) và nhiều cái khác nữa. Hiện có nhiều nghiên cứu trên phạm vi rộng trong lĩnh vực về đề tài này do khó khăn trong việc so sánh giữa một gói dữ liệu đã bị từ bỏ (rejected packet) với một gói dữ liệu mới. Gói dữ liệu mới đến này là một gói mới hay là một gói cũ được truyền lại? Thường thì các hệ thống đánh số được sử dụng, tuy nhiên trong một số mạng truyền thông, gói dữ liệu có thể có một định danh khác, hoặc vấn đề này được dành lại cho tầng cao hơn (của giao thức) để nó yêu cầu truyền thông lại. TCP/IP là một giao thức điển hình sử dụng cả hai kỹ thuật. Trong bối cảnh đã kết nối, TCP/IP dành việc truyền thông lại cho mạng lưới truyền thông, và vì thế nó sử dụng mã hóa ARQ. Trong mạng lưới vô tuyến (wireless network), người ta không sử dụng ARQ. Thay vào đó, người ta dành trách nhiệm này cho chương trình ứng dụng kiểm nghiệm gói dữ liệu và yêu cầu việc truyền thông lại khi cần. Việc này có thể nâng cao lên đến mức độ đòi hỏi người dùng phải ấn nút "nạp lại" ("refresh" button) trên một trình duyệt web. Song, ngay cả cái này hiện nay vẫn ở trong hạng ARQ đang được nghiên cứu; người dùng bắt buộc phải can thiệp (the user just has to become involved).
Ghi chú
Chú giải 1:  Một phân Anh
viết là "inch", số nhiều là "inches" - bằng khoảng 25.4 mm hay 2.54 cm. Nguyên là chiều rộng của ngón tay cái.
Chú giải 2:  Ông Marcel JE Golay (1902-1989)
một nhà Toán học, Vật Lý học người Thụy sĩ có nhiều cống hiến trong lý thuyết mã hóa.
Chú giải 3:  GSM (tiếng Anh: Global System for Mobile communications - Hệ thống Viễn thông Di động Toàn cầu)
thế hệ thứ hai của kỹ thuật số, nguyên được phát triển ở châu Âu, song hiện nay chiếm trên 71% thị trường thế giới. Đầu tiên được phát triển trên dải tần 900MHz và tiếp đó được cải tiến nâng cấp cho các dải tần 850, 1800 và 1900MHz. Cái tên GSM nguyên đại diện cho cái tên "Groupe Speciale Mobile", tên của hội đồng CEPT, người khởi công quá trình tiêu chuẩn hóa GSM.


Bài viết ngoài đề cập đến mã hóa nguồn và mã kênh thì thiếu 1 cái là mã hóa mật (bảo mật thông tin)

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by NewWpThemes | Blogger Theme by Lasantha - Premium Blogger Themes | New Blogger Themes