You are on page 1of 27

Phần cứng trong mô hình tham chiếu OSI: Lớp 1

Mô hình tham chiếu Open System Interconnect (OSI) là một mô hình được phát triển bởi
Open System Interconnect (OSI), đây là mô hình mô tả cách dữ liệu từ một ứng dụng trên
máy tính được truyền đến một ứng dụng trên máy tính khác như thế nào. Mô hình tham
chiếu OSI gồm có 7 lớp, mỗi lớp giữ các chức năng mạng khác nhau. Mỗi một chức năng
của một mạng có thể được gán với một hoặc có thể một cặp lớp liền kề, của 7 lớp này và
có quan hệ độc lập với các lớp khác. Sự độc lập này có nghĩa rằng một lớp không này
không cần biết sự bổ sung của lớp kế cận là gì, chỉ đơn thuần truyền thông với nó. Đây là
một ưu điểm lớn của mô hình tham chiếu OSI và là một trong các lý do chính tại sao nó
lại trở thành một trong những mô hình kiến trúc được sử dụng rộng rãi nhất cho truyền
thông giữa các máy tính. 

7 lớp của mô hình tham chiếu OSI được thể hiện như trong hình 1 bên dưới:

 Application - ứng dụng


 Presentation – trình diễn
 Session - phiên
 Transport – truyền tải
 Network – mạng
 Data link – liên kết dữ liệu
 Physical – vật lý

Hình 1: Sơ đồ của các lớp trong mô hình tham chiếu


Trong một vài bài tiếp theo chúng tôi sẽ giới thiệu về mỗi lớp trong mô hình và phần
cứng mạng liên quan đến lớp đó. Trong bài này, như những gì các bạn có thể đoán được
sau khi đọc tiêu đề, chúng tôi sẽ giới thiệu đến lớp 1, đó là lớp vật lý. 

Nhiều người có thể cho rằng tất cả phần cứng mạng đều thuộc về lớp vật lý, họ hoàn toàn
sai. Nhiều thiết bị phần cứng mạng có thể thực hiện các chức năng thuộc về các lớp cao
hơn. Cho ví dụ, router mạng thực hiện các chức năng định tuyến thuộc về lớp mạng
(network). 

Vậy lớp vật lý gồm có những gì? Lớp vật lý bao gồm việc truyền tải các tín hiệu trong
môi trường từ máy tính này đến máy tính khác. Lớp này gồm có các chi tiết kỹ thuật về
các đặc tính điện và cơ như: mức điện áp, định thời tín hiệu, tốc độ dữ liệu, độ dài truyền
tải lớn nhất và các kết nối vật lý của thiết bị mạng. Để một thiết bị hoạt động chỉ trong
lớp vật lý, nó sẽ không có bất kỳ kiến thức nào về dữ liệu mà nó truyền tải. Một thiết bị
lớp vật lý chỉ truyền tải hoặc nhận dữ liệu một cách đơn giản. 

Có 4 chức năng chính của lớp vật lý. Các chức năng đó là:

 Định nghĩa của các chi tiết kỹ thuật phần cứng


 Mã hóa và tín hiệu hóa
 Phát và thu dữ liệu
 Thiết kế mạng vật lý và topo mạng

Các định nghĩa của chi tiết kỹ thuật phần cứng 

Mỗi mẩu phần cứng trong một mạng sẽ có rất nhiều các chi tiết kỹ thuật. Các chi tiết kỹ
thuật này gồm có các thành phần như độ dài lớn nhất của cáp, độ rộng của cáp và sự bảo
vệ xuyên nhiễu điện từ thậm chí cả sự linh động. 

Một lĩnh vực khác nữa của các chi tiết kỹ thuật phần cứng là các kết nối vật lý. Nó gồm
có cả hình thù và kích cỡ của các kết nối cũng như số chân và layout nếu thích hợp. 

Mã hóa và tín hiệu hóa 

Mã hóa và tín hiệu hóa là phần rất quan trọng của lớp vật lý. Quá trình này có thể khá
phức tạp. Ví dụ, chúng ta hãy xem Ethernet. Hầu hết mọi người đều biết rằng tín hiệu
được gửi là “1” và “0” bằng cách sử dụng mức điện áp thấp và cao tương ứng với hai
trạng thái trên. Điều này quả thực có lợi cho một số mục đích dạy học, tuy nhiên nó hoàn
toàn không đúng. Tín hiệu trên Ethernet được gửi bằng sử dụng mã hóa Manchester.
Điều này có nghĩa là “1” và “0” được phát là rise (gò lên) và fall (gò xuống) trong tín
hiệu. Hãy cho phép chúng tôi giải thích thêm. 

Nếu bạn gửi các tín hiệu trên một cáp, mức điện áp cao thể hiện “1” và mức điện áp thấp
thể hiện “0” thì phía đầu thu cũng sẽ cần biết mẫu tín hiệu đó. Điều này được thực hiện
bởi một xung tín hiệu clock được phát đi. Phương pháp này được gọi là mã Non-return to
Zero (NRZ), mã này có một số nhược điểm khá nghiêm trọng. Đầu tiên nếu nhóm tín
hiệu xung clock với tín hiệu phát đi thì sẽ có hai tín hiệu. Nếu bạn không muốn phát tín
hiệu clock thì có thể nhóm một clock trong trong một máy nhận nhưng phải gần đồng bộ
hoàn hảo với clock phía phát. Chúng ta hãy giả định bạn có thể đồng bộ hóa các clock
(thường thực hiện rất khó vì tốc độ truyền tải rất lớn) thì vẫn có vấn đề trong việc giữ
đồng bộ khi có một khoảng dài các bít giống nhau được phát; nó là các quá độ giúp đồng
bộ hóa các clock. 

Những hạn chế của mã NRZ có thể được khắc phục bằng công nghệ đưa ra vào những
năm 40 tại Đại học Manchester, tại Manchester, Vương quốc Anh. Mã Manchester kết
hợp tín hiệu clock với tín hiệu dữ liệu. Không những tăng băng tần tín hiệu, nó cũng làm
cho việc truyền tải dữ liệu dễ dàng hơn và tin cậy hơn. 

Tín hiệu được mã hóa Manchester sẽ phát dữ liệu như các góc lên và xuống. Góc hiện
diện là “1” và “0” cần phải được quyết định trước nhưng cả hai cần phải xem xét các tín
hiệu được mã hóa Manchester. Các chuẩn Ethernet và IEEE sử dụng góc lên là mức logic
“1”. Mã Manchester ban đầu sử dụng góc xuống là mức logic “1”. 

Một tình huống mà bạn có thể nghĩ về nó là nếu cần phát hai tín hiệu “1” trong một hàng
thì tín hiệu sẽ đều ở mức điện áp cao và cách nhận diện ra hai tín hiệu này phía đầu thu là
khó. Điều này hoàn toàn được giải quyết ổn thỏa vì góc lên và xuống sẽ tương ứng với dữ
liệu được phát trong khoảng giữa của đường biên bít; góc của các đường biên bít gồm
phát hoặc không, nó đặt tín hiệu vào đúng vị trí cho bit tiếp theo để được phát. Kết quả
cuối cùng ở phần giữa của mỗi bít là một chuyển đổi, hướng của chuyển đổi sẽ thể hiện
“1” hoặc “0” và thời gian của chuyển đổi bằng với chu kỳ của xung clock. 

Mặc dù có nhiều cơ chế mã hóa khác có thể có nhiều ưu điểm hơn NRZ hoặc
Manchester, tuy nhiên với sự đơn giản và tin cậy thì mã Manchester vãn có được giá trị
và vẫn được sử dụng rộng rãi. 
Phát và nhận dữ liệu 

Dù môi trường mạng là một cáp điện, cáp quang hoặc sóng vô tuyến thì vẫn cần phải có
thiết bị để truyền phát tín hiệu vật lý. Ngược lại, cũng cần có thiết bị để thu nhận các tín
hiệu vật lý đó. Trong mạng không dây, việc phát và nhận này được thực hiện bởi các
anten có tác dụng phát hoặc nhận các tín hiệu với các tần số được ấn định từ trước với
băng tần được đặt trước. 

Các đường truyền dẫn quang sử dụng thiết bị có thể tạo và nhận các xung ánh sáng, tần
số của xung này được sử dụng để xác định giá trị logic của bit. Thiết bị như các amplifier
và repeater hình chung đều được sử dụng trong truyền dẫn quang đường dài, các thiết bị
này cũng được nhóm vào lớp vật lý trong mô hình tham chiếu OSI. 

Topo mạng và thiết kế mạng vật lý 

Topo mạng và thiết kế mạng cũng được nhóm vào lớp vật lý. Dù mạng của bạn là token
ring, star, mesh, hoặc hybrid topology vẫn nằm trong lớp vật lý. 

Cũng một thành phần được nhóm vào trong lớp vật lý nữa là layout cluster với khả năng
có sẵn. 

Nhìn chung tất cả những thứ bạn cần nhớ ở đây là nếu một mẩu phần cứng không biết dữ
liệu đang được truyền tải trên nó thì nó sẽ được nhóm vào lớp vật lý trong mô hình tham
chiếu 7 lớp OSI. Trong phần tiếp theo của loạt bài này chúng tôi sẽ giới thiệu cho các bạn
về lớp Data link – lớp liên kết dữ liệu, và giới thiệu sự khác biệt của nó với các lớp khác
và phần cứng của nó trong mô hình tham chiếu này.

Phần cứng trong mô hình tham chiếu OSI: Lớp 2

Trong phần trước của loạt bài này, chúng tôi đã giới thiệu cho các bạn về mô hình tham
chiếu 7 lớp OSI và về lớp đầu tiên, đó là lớp vật lý. Trong phần hai của loạt bài này
chúng tôi sẽ giới thiệu về lớp thứ hai, lớp liên kết dữ liệu hay Data Link, từ góc độ phần
cứng. 
Lớp liên kết dữ liệu cung cấp các phương pháp mang tính chức năng và thủ tục cho việc
truyền tải dữ liệu giữa hai điểm với nhau. Có đến 5 chức năng chung mà lớp này phải
chịu trách nhiệm. Các chức năng đó là:

 Điều khiển liên kết logic


 Điều khiển truy nhập môi trường
 Đóng khung dữ liệu
 Định địa chỉ
 Phát hiện lỗi

Điều khiển liên kết logic (Logical Link Control - LLC) 

Logical Link Control (LLC) thường được coi như một lớp con của lớp liên kết dữ liệu
(DLL), trái với chức năng của DLL, lớp con LLC này có liên quan chính với việc ghép
các giao thức để gửi đi trên lớp con MAC (điều khiển truy nhập môi trường). LLC thực
hiện nhiệm vụ này bằng cách phân chia dữ liệu được gửi thành các khung dữ liệu nhỏ
hơn và bổ sung thêm vào đó các thông tin mô tả về khung, gọi là các tiêu đề khung hay
header. 

Điều khiển truy nhập môi trường (Media Access Control - MAC) 

Giống như LLC, Media Access Control (MAC) cũng được coi là một lớp con của DLL
nhưng trái với chức năng của DLL, gồm có trong lớp con này là địa chỉ MAC. Địa chỉ
MAC cung cấp cho lớp con này một bộ nhận dạng duy nhất để mỗi điểm truy cập mạng
có thể truyền thông với mạng. Lớp con MAC cũng có trách nhiệm cho việc truy cập cáp
mạng, hoặc môi trường truyền thông. 

Đóng khung dữ liệu 

Nếu ai đó gửi dữ liệu vào một mạng. Người nhận sẽ phải biết được cách thức, thời gian
để đọc dữ liệu đó. Vấn đề này có thể xảy ra theo một số cách và là mục đích duy nhất của
việc đóng khung. Theo thuật ngữ chung, việc đóng khung chính là cách tổ chức dữ liệu
để được truyền tải và để nhận dạng dữ liệu này là các thông tin chỉ dẫn, được gọi là các
header. Những gì và bao nhiêu thông tin có bên trong các header để có thể nhận dạng
bằng giao thức đã được sử dụng trên mạng, giống như Ethernet. 
Cấu trúc của một khung liên quan chặt chẽ với giao thức Ethernet được hiển thị trong
hình bên dưới.

Định địa chỉ 

Việc định địa chỉ trong lớp 2 xảy ra với địa chỉ MAC của lớp con MAC. Bạn không được
nhầm lẫn điều này với việc định địa chỉ mạng hoặc địa chỉ IP. Việc kết hợp địa chỉ MAC
với một điểm truy cập mạng nào đó và địa chỉ mạng hoặc IP được kết hợp với toàn bộ
một thiết bị (ví dụ như máy tính, máy in hoặc router). 

Nói về các router, bạn cần lưu ý rằng các router hoạt động trong lớp 3 chứ không phải lớp
2. Các Switch và hub hoạt động trong lớp 2, chính vì vậy việc gửi dữ liệu được dựa vào
việc định địa chỉ lớp 2 (địa chỉ MAC) và không hề quan tâm đến địa chỉ IP hoặc địa chỉ
mạng. Tuy nhiên một số router có thực hiện một số chức năng của lớp 2, với các router
này chúng tôi sẽ giới thiệu kỹ về nó trong một bài khác.

Quản lý và phát hiện lỗi 

Bất cứ khi nào dữ liệu được gửi trên phương tiện truyền dẫn thì cũng đều tồn tại trường
hợp phía người nhận sẽ không nhận được dữ liệu chính xác như nó đã được gửi. Điều này
xảy ra do nhiều lý do, ví dụ như việc xuyên nhiễu, trong một số trường hợp đường truyền
dẫn quá dài nên có thể làm yếu tín hiệu. Chính vì vậy cách bên phía máy nhận biết dữ
liệu đã được nhận có lỗi hay không rất quan trọng. Có một số phương pháp để thực hiện
điều này. Một số phương pháp này là những phương pháp đơn giản tuy nhiên cũng có
nhiều hiêu quả. 

Các bit chẵn lẻ là một ví dụ của giao thức phát hiện lỗi đơn giản mặc dù có hiệu quả hơi
hạn chế, tuy nhiên nó lại được sử dụng rất rộng rãi. Một bit chẵn lẻ là môt bit mở rộng
được thêm vào trong một gói dữ liệu. Có hai giá trị cho mỗi một bit này. Giá trị này được
chọn sẽ phụ thuộc vào cách phát hiện bit chẵn lẻ mà nó sử dụng. Có hai cách phát hiện
chẵn lẻ. Nếu sử dụng tính chẵn thì bit chẵn phải lẻ được thiết lập (‘1’ hoặc ‘0’) để làm
cho số lượng ‘1’ trong gói dữ liệu là chẵn. Ngược lại, nếu sử dụng tính lẻ thì bít chẵn lẻ
phải được thiết lập theo giá trị cần thiết để làm cho số ‘1’ trong gói dữ liệu là lẻ. 

Khi sử dụng phát hiện lỗi bit chẵn lẻ, bên nhận sẽ kiểm tra tất cả các bít ‘1’ trong khung
dữ liệu, có trong đó cá bít chẵn lẻ. Bên nhận sẽ có một thiết lập cho tính chẵn hoặc tính
lẻ; nếu số bit ‘1’ trong khung không tương xứng với thiết lập thì có nghĩa là khung dữ
liệu này truyền đi đã bị lỗi. Tuy nhiên hiệu quả của phương pháp phát hiện lỗi kiểu này bị
hạn chế. Sự hạn chế của nó ở đây là vì nếu có một số lượng chẵn các lỗi trong cùng một
khung dữ liệu thì phương pháp này hoàn toàn mất khả năng phát hiện lỗi – chính vì vậy
cần có một phương pháp phát hiện lỗi tinh vi hơn. 

Phương pháp phát hiện lỗi bằng cách kiểm tra tổng có thể cho chúng ta thấy được hiệu
quả tốt hơn nếu được sử dụng với phương pháp bit chẵn lẻ. Phương pháp kiểm tra tổng là
phương pháp kiểm tra tổng tất cả các bit ‘1’ trong gói dữ liệu và kiểm tra giá trị đó đối
với giá trị tổng được bởi người gửi thêm vào cho gói dữ liệu. Phương pháp kiểm tra tổng
có thể cung cấp một số hiệu quả cho những cố gắng phát hiện lỗi của bạn nhưng nó vẫn
còn một số hạn chế. Cho ví dụ, một tổng kiểm tra không thể phát hiện một số lượng các
lỗi chẵn (vì tổng của chúng sẽ bằng 0), một số byte nào đó bị chèn vào mà tổng của
chúng bằng 0, hoặc thậm chí còn sắp đặt lại thứ tự của các byte trong gói dữ liệu. Để
khắc phục tình trạng này, đã có một số phương pháp mới được đưa ra. 

Một trong những phương pháp nổi bật nhất trong việc phát hiện lỗi là kiểm tra lỗi CRC.
Phương pháp này dùng chuyển đổi một gói dữ liệu thành một kiểu đa thức, trong đó giá
trị của các hệ số tương ứng với các bít trong gói, sau đó chia đa thức đó bằng một khóa
định trước hoặc một khóa chuẩn. Phần còn lại của phép chia được gửi cùng với gói dữ
liệu đến phía nhận. Phía nhận cũng thực hiện việc chia đa thức như vậy với cùng một
khóa với phía gửi, sau đó kiểm tra kết quả nhận được. Nếu hai kết quả này phù hợp thì
quá trình gửi tin đã thành công và không có lỗi. Phương pháp này có hiệu quả khá tốt vì
có rất nhiều khả năng một đa thức có thể sử dụng một khóa tuy vậy không phải đa thức
nào cũng cung cấp sự phát hiện lỗi tốt giống nhau. Một nguyên lý chung ở đây là, các đa
thức càng dài thì khả năng phát hiện lỗi càng tốt nhưng vấn đề toán học liên quan lại khá
phức tạp và nhiều khía cạnh kỹ thuật có một số bàn cãi trong việc thi hành như thế nào để
phương pháp này cung cấp hiệu quả phát hiện lỗi tốt nhất. 

Cuối cùng tôi muốn chỉ ra cho các bạn rằng, các phương pháp phát hiện lỗi này không bị
hạn chế đối với sự truyền tải dữ liệu trong môi trường mạng; chúng có thể được sử dụng
khá tốt trong kịch bản lưu trữ dữ liệu, ở đây người ta muốn kiểm tra xem dữ liệu có bị sai
lệch hay không. 

Trong phần 3 tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn một chút
thông tin chi tiết về tại sao các router hầu như lại nằm ở lớp 3 chứ không phải lớp 2

Phần cứng trong mô hình tham chiếu OSI: Lớp 3

Trong phần hai của loạt bài này chúng ta đã thảo luận về mô hình tham chiếu Open
System Interconnect (OSI) và hai lớp đầu tiên của nó. Phần ba này chúng tôi sẽ giới thiệu
cho các bạn về lớp thứ ba; lớp mạng. Lớp mạng là lớp có liên quan đến việc truyền tải dữ
liệu từ máy tính này sang máy tính khác. Đây chính là sự khác biệt với lớp 2 (lớp liên kết
dữ liệu) vì lớp 2 chỉ liên quan đến việc truyền tải dữ liệu từ một thiết bị này sang một
thiết bị được kết nối trực tiếp khác. Ví dụ, lớp liên kết dữ liệu chịu tránh nhiệm cho việc
truyền tải dữ liệu từ một máy tính đến một hub mà nó kết nối tới, trong khi đó lớp mạng
lại liên quan đến việc truyền tải tất cả dữ liệu đó đến máy tính khác. 

Lớp mạng chuyển dữ liệu từ một đầu cuối này đến một đầu cuối khác bằng cách thực
hiện các nhiệm vụ dưới đây:

 Địa chỉ hóa


 Định tuyến
 Đóng gói
 Chia đoạn
 Quản lý lỗi
 Điều khiển tắc nghẽn

Địa chỉ hóa 

Nếu bạn là những người đã đọc các phần trước của loạt bài này thì có thể sẽ tò mò muốn
tìm hiểu tại sao lớp 3 lại thi hành địa chỉ hóa khi chúng tôi đã nói rằng nó diễn ra trong
lớp 2. Để giải đáp cho sự tò mò này, bạn hãy nhớ chúng tôi đã viết rằng, địa chỉ hóa của
lớp 2 (địa chỉ MAC) tương ứng với điểm truy cập mạng cụ thể, trái với việc địa chỉ hóa
cho toàn bộ thiết bị như một máy tính. Một số thứ cần xem xét ở đây là lớp 3 chỉ địa chỉ
hóa logic độc lập hoàn toàn với phần cứng; còn địa chỉ MAC được kết hợp với phần cứng
cụ thể và các nhà máy sản xuất phần cứng. 

Một ví dụ về việc định địa chỉ của lớp 3 là địa chỉ IP. Dưới đây là minh chứng về địa chỉ
IP trong hình

Định tuyến 

Đây là công việc của lớp mạng nhằm chuyển dữ liệu từ một điểm này tới được đích của
nó. Để thực hiện công việc này, lớp mạng phải lập kế hoạch cho một tuyến để dữ liệu
truyền tải trên đó. Sự kết hợp của phần cứng và phần mềm để thực hiện nhiệm vụ này
được biết đến với tên gọi bộ đinh tuyến. Khi bộ định tuyến nhận một gói dữ liệu từ một
nguồn, nó cần xác định địa chỉ đích và thực hiện công việc này bằng cách remove các
header đã được thêm vào trước đó bởi lớp liên kết dữ liệu và đọc địa chỉ từ một vị trí đã
được xác định trước bên trong các gói như đã được định nghĩa theo chuẩn (cho ví dụ
chuẩn IP). 

Khi địa chỉ đích đã được xác định, router sẽ kiểm tra xem địa chỉ có nằm trong mạng mà
nó quản lý hay không. Nếu địa chỉ này nằm bên trong mạng của chính nó quản lý thì
router sẽ gửi gói này xuống lớp liên kết dữ liệu, lớp này sẽ thêm phần header như chúng
tôi đã giới thiệu trong phần trước và sẽ gửi gói này đến đích của nó. Nếu địa chỉ không
nằm bên trong mạng của nó thì router sẽ tra cứu địa chỉ trong bảng định tuyến. Nếu địa
chỉ có bên trong bảng định tuyến này thì router sẽ đọc mạng đích tương ứng từ bảng và
gửi gói dữ liệu này xuống lớp liên kết dữ liệu và đến mạng đích đó. Nếu địa chỉ này
không có trong bảng định tuyến thì gói dữ liệu sẽ được gửi cho phần quản lý lỗi. Đây là
lỗi có thể thấy trong truyền dẫn trên các mạng, và là một ví dụ tuyệt vời về tại sao việc
kiểm tra lỗi và quản lý lỗi cần thiết đến vậy. 
Đóng gói 

Khi router gửi một gói dữ liệu xuống lớp liên kết dữ liệu, lớp sẽ thêm các header trước
khi truyền tải gói dữ liệu đến điểm tiếp theo, đây là một ví dụ về việc đóng gói cho lớp
liên kết dữ liệu. 

Giống như lớp liên kết dữ liệu, lớp mạng cũng có trách nhiệm đóng gói dữ liệu mà nó
nhận được từ lớp trên nó. Trong trường hợp này, nó sẽ nhận dữ liệu từ lớp 4, lớp truyền
tải. Thực sự mỗi lớp đều có trách nhiệm đóng gói dữ liệu mà nó nhận được từ lớp bên
trên. Thậm chí cả lớp cuối cùng, lớp ứng dụng, vì lớp ứng dụng cũng đóng gói dữ liệu mà
nó nhận được từ người dùng.

Chia đoạn 

Khi lớp mạng gửi dữ liệu xuống lớp liên kết dữ liệu có thể xảy ra một số vấn đề. Những
vấn đề có thể xảy ra ở đây là, phụ thuộc vào kiểu dữ liệu của công nghệ lớp liên kết dữ
liệu đang được sử dụng mà dữ liệu có thể quá lớn. Điều này yêu cầu lớp mạng phải có
khả năng phân chia dữ liệu này ra thành các gói nhỏ hơn. Quá trình này được biết đến với
tên gọi chia đoạn. 

Quản lý lỗi 

Quản lý lỗi là một khía cạnh quan trọng của lớp mạng. Như chúng tôi đã đề cập ở trên,
một lỗi có thể xuất hiện khi các router không tìm thấy địa chỉ đích trong bảng định tuyến
của chúng. Trong trường hợp đó, router cần phải tạo một lỗi thông báo không có đích
đến. Một lỗi khác cũng có thể xuất hiện ở đây là giá trị TTL (thời gian tồn tại) của gói.
Nếu lớp mạng quyết định rằng TTL đã đạt đến một giá trị zero thì một lỗi quá hạn thời
gian sẽ được tạo. Cả hai thông báo lỗi không có đích đến và lỗi vượt quá thời gian đều
tuân theo các chuẩn cụ thể đã được định nghĩa trong Internet Control Message Protocol
(ICMP). 

Việc chia đoạn cũng có thể gây ra lỗi. Nếu quá trình chia đoạn diễn ra quá dài thì thiết bị
có thể đưa ra một lỗi quá thời gian theo ICMP. 

Điều khiển tắc nghẽn 


Một trách nhiệm nữa của lớp mạng đó là điều khiển tắc nghẽn. Có thể bạn đã biết, bất cứ
thiết bị mạng nào cũng đều có một giới hạn trên đối với số lượng thông lượng mà thiết bị
có thể quản lý. Giới hạn trên này luôn tăng dần dần nhưng đôi khi có một số lần có quá
nhiều dữ liệu được gửi đến thiết bị. Điều này đặt ra cần biện pháp điều khiển tắc nghẽn. 

Có nhiều lý thuyết về cách thực hiện tốt nhất vấn đề điều khiển tắc nghẽn, hầu hết trong
số các phương pháp đều khá phức tạp và vượt xa phạm vi của bài này chính vì vậy chúng
tôi sẽ không đề cập ở đây. Ý tưởng cơ bản trong tất cả các phương pháp này là bạn muốn
làm cho người gửi dữ liệu ganh đua đối với các thông báo của họ để nó là những thông
báo sẽ được chấp nhận trong thông lượng. Thiết bị điều khiển tắc nghẽn muốn thực hiện
điều này theo cách hạ thấp số lượng toàn bộ dữ liệu mà nó đang nhận. Điều này có thể
được thực hiện bằng cách 'punishing' người gửi, hành động này có thể làm giảm hành
động gửi dữ liệu của họ để tránh hiện tượng tắc nghẽn. 

Trong phần tiếp theo của loạt bài này chúng tôi sẽ giới thiệu cho các bạn về lớp 4 của mô
hình tham chiếu OSI; lớp truyền tải.

Phần cứng trong mô hình tham chiếu OSI: Lớp 4

Lớp Transport đóng vai trò truyền tải dữ liệu từ điểm này sang điểm khác trong mạng.
Chịu trách nhiệm cho việc điều khiển luồng và khôi phục lỗi. Các lớp bên trên trong mô
hình tham chiếu coi lớp truyền tải như một dịch vụ tin cậy, hoàn toàn độc lập và xuyên
suốt từ đầu đến cuối (end-to-end). Dịch vụ “end-to-end” bên trong lớp truyền tải được
chia thành một trong 5 mức dịch vụ khác nhau; từ Transport Protocol (TP) class 0 đến TP
class 4. 

TP class 0

TP class 0 là mức cơ bản nhất trong 5 mức phân loại. Các dịch vụ ở lớp này thực hiện sự
phân đoạn và đóng gói trở lại. 

TP class 1

Các dịch vụ TP class 1 thực hiện tất cả các chức năng của các dịch vụ được phân loại ở
TP class 0 thêm vào đó là việc khôi phục lỗi. Dịch vụ ở mức này sẽ truyền lại các khối dữ
liệu nếu bên nhận không nhận đúng gói dữ liệu cần nhận. 

TP class 2

Các dịch vụ TP class 2 thực hiện tất cả các chức năng của các dịch vụ được phân loại TP
class 1 thêm vào đó là việc ghép kênh và giải mã kênh, …
TP class 3 
Các dịch vụ TP class 3 thực hiện tất cả các chức năng của các dịch vụ TP class 2 thêm
vào đó là việc xắp xếp các khối dữ liệu để gửi.

TP class 4 

Các dịch vụ TP class 4 thực hiện tất cả các chức năng của các dịch vụ TP class 3 thêm
vào đó là khả năng cung cấp các dịch vụ của nó trên mạng hướng kết nối hoặc không.
Lớp giao thức truyền tải này là lớp chung nhất và rất giống với bộ Transmission Control
Protocol (TCP) của Internet Protocol (IP).

Sở dĩ nói TP class 4 giống với TCP là vì chỉ có một số điểm khác nhau. TP class 4 sử
dụng 10 kiểu dữ liệu trong khi TCP chỉ sử dụng 1. Điều này có nghĩa rằng TCP đơn giản
hơn nhưng không có nghĩa là nó phải chứa nhiều header. Trong khi đó TP class 4 phức
tạp hơn nhiều, có thể gồm đến ¼ số header mà TCP chứa, nên giảm được rất nhiều tải
trọng.

Các mạng hướng kết nối

Các mạng hướng kết nối giống như các mạng điện thoại của bạn. Một kết nối được thiết
lập trước khi dữ liệu được gửi và được duy trì xuyên suốt toàn bộ quá trình gửi dữ liệu.
Với kiểu mạng này, việc định tuyến các thông tin chỉ cần được gửi trong khi thiết lập kết
nối mà không cần trong suốt quá trình truyền tải dữ liệu. Điều này đã giảm được rất nhiều
tải trọng nhằm cải thiện được tốc độ truyền thông. Kiểu truyền thông này cũng rất hữu
ích cho các ứng dụng như thoại và video (kiểu truyền thông có thứ tự của dữ liệu nhận
đặc biệt quan trọng).

Các mạng không hướng kết nối

Các mạng không hướng kết nối lại ngược lại hoàn toàn với mạng hướng kết nối, chúng
không gửi đi một kết nối từ trước để truyền tải dữ liệu. Không duy trì bất cứ một kết nối
nào giữa hai điểm cuối. Mạng này yêu cầu việc định tuyến thông tin được gửi trong mỗi
gói, chính vì vậy tăng tải trọng truyền thông.

Bạn cần lưu ý rằng vấn đề này là vì dữ liệu đang được gửi trong các gói không có nghĩa
đây là một mạng không hướng kết nối, các mạch ảo là một ví dụ của mạng hướng kết nối
trong sử dụng các gói dữ liệu như vậy.

Trong các phần trước, chúng tôi đã giới thiệu cho các bạn về các khía cạnh phát hiện và
khôi phục lỗi, chính vì vậy trong phần này chúng tôi sẽ tập trung vào phần cứng và sẽ
giới thiệu cho các bạn những hướng dẫn cơ bản về khía cạnh này của lớp truyền tải; ghép
kênh và giải mã kênh.

Ghép kênh

Ghép kênh là một trong những từ có lẽ mọi người thường nghe thấy tuy nhiên hiểu rõ về
nói lại chỉ có một số ít. Nhiều người có thể biết rằng việc ghép (trộn) là một quá trình kết
hợp hai hoặc nhiều tín hiệu thành một, tuy nhiên chính xác nó là gì? Có nhiều cách để
thực hiện việc ghép kênh. Các tín hiệu số có thể được trộn trong một hoặc hai cách, ghép
kênh phân chia theo thời gian (TDM) và ghép kênh phân chia theo tần số (FDM). Các tín
hiệu quang lại sử dụng một phương pháp đó là ghép kênh phân chia theo độ dài bước
sóng.

Để minh chứng cho cách ghép kênh làm việc như thế nào, chúng ta hãy lấy một trường
hợp đơn giản trong TDM. Trong ví dụ này, chúng ta giả dụ rằng có hai tín hiệu đầu vào.
Hai tín hiệu đầu vào này được trộn vào một thiết bị có 3 đầu vào; hai đầu vào sử dụng
cho tín hiệu và một đầu cho xung clock để điều khiển. Hai tín hiệu đầu vào được trộn và
cho ra ở một đầu ra.
Hình ở trên thể hiện một bộ ghép kênh hai đầu vào. Hai tín hiệu được thể hiện ở đây là d0
và d1, còn tín hiệu điều khiển được thể hiện là c. Đầu ra của hai tín hiệu đầu vào được thể
hiện là f. Các ký hiệu trong hình này là các ký hiệu chuẩn để trình bày các cổng logic.
Hình dưói là thể hiện ý nghĩa của mỗi cổng này. 
Bộ ghép kênh làm việc bằng cách nhận một tín hiệu số trên đầu vào c. Tín hiệu c này đi
trực tiếp vào đầu vào của cổng 1 'AND' và đến cổng 'NOT'. Cổng 'NOT' sẽ đảo ngược tín
hiệu, sau đó gửi nó đến đầu vào của cổng 2 'AND'. Các đầu ra của các cổng 'AND' sẽ chỉ
có trạng thái cao khi tín hiệu điều khiển và tín hiệu đầu vào (d0 hoặc d1) ở trạng thái cao.
Vì tín hiệu điều khiển được gửi thông qua cổng 'NOT' trước đến cổng 2 'AND' chỉ một
trong hai cổng 'AND' sẽ thấy một tín hiệu điều khiển trạng thái cao tại bất kỳ thời điểm
tức thời nào. Quá trình này có nghĩa rằng đầu ra f sẽ một cách luân phiên giữa tín hiệu d0
và d1với tần số c.

Nếu tần số của tín hiệu điều khiển lớn gấp hai lần (hoặc hơn) tín hiệu đầu vào thì đầu ra f
sẽ có đủ các thông tin của d0 và d1. Và khi đó bên phía giải mã sẽ giải mã thành công
được hai tín hiệu đầu vào d0 và d1 này. Đây chính là ý tưởng cốt lõi của lý thuyết lấy
mẫu Nyquist-Shannon.

Xem xét các cổng logic trong hình 1 và 2, trong số các bạn với những người có kinh
nghiệm lập trình và tạo kịch bản sẽ nhận ra các chức năng logic này như các công cụ
trong phổ biến của một lập trình viên. Cần lưu ý rằng các chức năng này được tìm thấy
trong các chương trình phần mềm nhưng ở đây chúng tôi lại hoàn toàn nói về các chức
năng phần cứng liên quan đến các linh kiện điện tử như các transistor được xắp xếp theo
các cách thông minh để thực hiện các chức năng logic này.

Giải mã kênh
Bộ giải mã kênh cơ bản ngược lại với bộ ghép kênh. Nó sẽ có một tín hiệu đầu vào và
trong trường hợp đã được mô tả ở trên sẽ cần có hai đầu ra cho hai tín hiệu ra. Rõ ràng
cũng cần đến tín hiệu điều khiển (clock) và thường được gọi là tín hiệu địa chỉ. Tín hiệu
điều khiển này được gọi là tín hiệu địa chỉ vì mạch giải mã kênh cũng có thể được sử
dụng để chọn ra chân đầu ra nào cần lấy.

Phần cứng trong mô hình tham chiếu OSI: Lớp 5

Một trong những khía cạnh thú vị về lớp session, đúng hơn là các giao thức thực thi chức
năng là chế độ duplex. Khi hai điểm cuối truyền thông với nhau, chúng có thể truyền
thông trong một chế độ simplex (đơn công), chế độ full-duplex (song công), half-duplex
(bán song công), hoặc mô phỏng full duplex.

SIMPLEX (Đơn công)

Truyền thông đơn công là kiểu truyền thông mà ở đó dữ liệu được truyền tải từ bên phát
sang bên thu. Sóng vô tuyến trong xe car của bạn là một ví dụ như vậy, chiếc radio trong
xe của bạn phát các bài nhạc và tin tức thời sự tổng hợp,… chính là các tín hiệu được
nhận từ trạm phát sóng. Radio trên xe không hề truyền thông trở lại trạm phát sóng trong
bất kỳ hoàn cảnh nào. Hình 1 thể hiện sơ đồ về truyền thông đơn công.

FULL-DUPLEX (Song công)

Full-duplex có nghĩa rằng, việc truyền thông có thể xuất hiên theo cả hai hướng tại cùng
một thời điểm. Ethernet là ví dụ về kiểu truyền thông full-duplex; cáp xoắn có thể được
sử dụng để truyền tải và nhận dữ liệu. Ethernet sử dụng cáp quang cũng ở chế độ full-
duplex. Hình 2 thể hiện sơ đồ của kiểu truyền thông full-duplex.

HALF-DUPLEX (Bán song công)

Truyền thông Half-duplex là kiểu truyền thông giữa hai điểm chỉ có thể xuất hiện theo
một hướng tại một thời điểm nào đó. Thinnet và thicknet Ethernet là các ví dụ về hệ
thống bán song công. Hình 2 cũng thể hiện một sơ đồ về hệ thống truyền thông half-
duplex.

Các hệ thống Half-duplex dường như khá cổ xưa đối với nhiều độc giả đang đọc website
này khi các mạng máy tính hiện đại được xây dựng theo kiểu truyền thông song công,
kiểu truyền thông cung cấp hiệu suất tốt hơn cho người dùng. Mặc dù vậy vẫn có khá
nhiều tình huống sử dụng kiểu truyền thông đơn công và bán song công này. Các mạng
được thiết kế để cung cấp các thông tin từ một nguồn đến nhiều điểm thu có thể không
cần đến khả năng nhận các bản tin từ các điểm cuối. RSS feeds là một ví dụ về hệ thống
gửi các thông tin đến người dùng nhưng không nhận các thông tin, thậm chí khi đang
truyền thông trên cùng một môi trường có khả năng song công.

Nhiều mạng công nghiệp cũng không cần đến kiểu truyền thông song công để giảm bớt
một số thành phần của mạng, từ đó giảm được giá thành chi phí và sự bảo trì bảo dưỡng.

Mô phỏng FULL-DUPLEX

Với nhiều ứng dụng, full-duplex được khao khát cho dù là môi trường chỉ hỗ trợ half-
duplex. Trong nhiều tình huống đó, có một số cách để mô phỏng full-duplex, điều này có
vẻ hấp dẫn hơn việc phải nâng cấp toàn bộ mạng thành full-duplex.

Ghép kênh phân chia theo thời gian (TDD)


TDD rất giống với ghép kênh theo thời gian trong đó nó sử dụng cùng một môi trường để
gửi và nhận các tín hiệu, các tín hiệu này được điều khiển bởi một tín hiệu clock. Trong
TDD, cả tín hiệu thuận và ngược đều sử dụng cùng một môi trường tuy nhiên mỗi một tín
hiệu được gán vào các khe thời gian khác nhau. Ưu điểm lớn của phương pháp mô phỏng
song công này là nếu số lượng dữ liệu chạy theo một hướng nào đó hay thay đổi thì phần
chia của khe thời gian có thể được tối ưu cho sự truyền thông tối ưu đối với hướng cần
nhiều nhu cầu của ứng dụng, điều này mang tính động hơn rất nhiều. Chuẩn IEEE 802.16
cho WiMAX cho phép sử dụng cả ghép kênh theo thời gian TDD và theo cả tần số
(FDD). TDD là giải pháp thích hợp nhất cho truyền thông dữ liệu bất đối xứng, chẳng
hạn như dữ liệu trên Internet vì khả năng phân phối các khe thời gian mang tính động.

Ghép kênh phân chia theo tần số (FDD)

Ghép kênh phân chia theo tần số là một thuật ngữ được sử dụng cho hệ thống truyền
thông gán một tần số cho việc upload và tần số khác cho việc download. Trong kiểu
truyền thông mô phỏng song công này, cả phía nhận và phía phát đều có thể xảy ra trên
cùng một môi trường, nhưng phải là tần số offset (băng thông giữa các tần số upload và
download) để dữ liệu không bị xuyên nhiễu với nhau. Tần số offset này có thể là một ưu
điểm lớn đối với một số hệ thống. Lấy WiMAX là một ví dụ, FDD vẫn được hỗ trợ mặc
dù điều đó có nghĩa rằng truyền thông giữa hai điểm cuối cần đến phổ tần tương đối lớn.

Các hệ thống FDD có ưu điểm đối với các ứng dụng truyền thông yêu cầu băng thông
upload và download phải cân bằng nhau. Chính vì vậy hầu hết các hệ thống điện thoại tổ
ong đều làm việc trên kiểu FDD.

Khử nhiễu tiếng vọng

Khử nhiễu tiếng vọng là một biện pháp kỹ thuật dùng cho phương pháp mô phỏng song
công. Trong chế độ truyền thông sử dụng việc khử tiếng vọng, cả hai điểm cuối đều đặt
dữ liệu lên cùng một môi trường, ở cùng tần số và thời điểm và mỗi điểm cuối nhận tất cả
dữ liệu đã được đặt vào môi trường (gồm có dữ liệu mà bản thân nó đã gửi). Mỗi điểm
đầu cuối này sau đó phải cách ly dữ liệu mà nó tự gửi và đọc tất cả dữ liệu khác. Các
mạng điện thoại đường dài cũng sử dụng biện pháp này. Khả năng khử tiếng vọng này có
thể được thực thi bằng giải pháp phần cứng hoặc phần mềm. Tuy nhiên, vẫn có một số
dạng cần đến tiếng vọng. Cho ví dụ, khi bạn nói vào một phone, giọng nói của bạn sẽ
được truyền tải đến tai của bạn trứoc khi nó được truyền đến người mà bạn đang gọi; điều
này là rất cần thiết vì nếu bạn không thể nghe được những gì mình nó thì bạn sẽ nghĩ rằng
điện thoại không làm việc. Nhưng đối với các ứng dụng khác, chẳng hạn như modem
quay số lại nhậy cảm hơn đối với tín hiệu vọng và cần khử tín hiệu này để cho chất lượng
tốt của mạng.

Phần cứng trong mô hình tham chiếu OSI: Lớp 6


Trong phần này chúng tôi sẽ giới thiệu cho các bạn về lớp trình diễn Presentation, đây là
lớp đầu tiên liên quan đến việc truyền tải dữ liệu trên mạng ở mức trừu tượng hơn.

Trong năm phần trước của loạt bài này chúng tôi đã giới thiệu cho các bạn về 5 lớp thấp
hơn trong mô hình tham chiếu OSI. Trong phần này chúng tôi sẽ giới thiệu cho các bạn
về lớp 6, lớp trình diễn, đây cũng là lớp đầu tiên liên quan đến việc truyền tải dữ liệu trên
mạng ở mức trừu tượng hơn mức 0 và 1; cho ví dụ khi truyền tải các lá thư, cách chúng
được thể hiện bằng 0 và 1 như thế nào (hoặc cách chúng được thể hiện ở các lớp thấp hơn
trong mô hình tham chiếu OSI).

Chức năng này được nói đến như một sự thông dịch và cho phép các ứng dụng khác nhau
(thường là các phần cứng tính toán khác nhau) có thể truyền thông bằng các chuẩn chung
trong việc thông dịch, được gọi là cú pháp truyền tải. Bên cạnh các cú pháp truyền tải có
thể biểu hiện chuỗi các số 0 và 1 còn có các cú pháp truyền tải khác có thể truyền tải dữ
liệu phức tạp hơn, giống như các đối tượng trong các ngôn ngữ lập trình hướng đối
tượng. Extensible Markup Language (XML) là một ví dụ trong trường hợp này.

Nén
Một chức năng quan trọng khác của lớp trình diễn đó là nén. Nén thường được sử dụng
để tối đa hóa hiệu quả sử dụng băng thông trên mạng, hoặc để tối ưu không gian đĩa khi
lưu trữ dữ liệu.

Nén không mất dữ liệu


Có hai kiểu nén chung đó là nén có mất dữ liệu và không mất dữ liệu, như tên được ngụ
ý, nén không mất dữ liệu là cách nén mà ở đó khi giải mã dữ liệu sẽ trở lại y hệt trạng
thái ban đầu trước khi nén; hoàn toàn không bị mất mát dữ liệu. Nén dữ liệu không mất
có hiệu quả nén không lớn bằng các kỹ thuật nén có mất dữ liệu và có thể tiêu tốn nhiều
năng lượng xử lý hơn khi thực hiện nén; chính vì vậy bạn phải cân đối hay tính toán và
xem xét để chọn kỹ thuật nén nào.

Mã hóa từ điển
Cách chung vẫn để thực hiện việc nén dữ liệu liệu không mất là sử dụng một từ điển.
Phương pháp này được gọi là bộ mã hóa thay thế, bộ mã hóa này sẽ tìm kiếm sự hợp lệ
giữa thông điệp được gửi và các thông điệp được nhận trong từ điển. Cho ví dụ, bạn có
thể sử dụng một từ điển và khi muốn nén nội dung của một quyển sách bằng cách thay
thế mỗi từ trong đó bởi một vị trí của từ nào đó trong từ điển. Việc giải nén của thông
điệp đã được nén này được thực hiện theo cách ngược lại, các vị trí được thay thế bằng từ
trong vị trí đó.

Bộ mã thay thế cũng có thể có phức tạp hơn nhiều so với ví dụ trên. Cho ví dụ, các thuật
toán LZ77 và LZ78 làm việc với một từ điển được tham chiếu đến như một cửa sổ trượt
sliding. Một từ điển cửa sổ trượt là một từ điển có thể thay đổi trong suốt quá trình nén.
Khi sử dụng từ điển cửa sổ trình duyệt, dữ liệu nén sẽ cần đến hai giá trị để nhận dạng
chuỗi. Hai giá trị này là vị trí của điểm khởi đầu của chuỗi con và chiều dài của chuỗi
con.

Mã hóa Run-length
Một ví dụ cơ bản khác về mã không mất dữ liệu đó là mã Run-length. Thuật toán mã hóa
này sẽ thay thế một tập nhỏ dữ liệu được lặp đi lặp lại nhiều lần bằng một tập nhỏ dữ liệu
và một số thể hiện số lần lặp của nó. Ví dụ sử dụng mã này rất hiệu quả đó là các máy
fax. Hầu hết các máy fax là các trang bảng trắng với văn bản màu đen. Chính vì vậy lược
đồ mã hóa có thể lợi dụng các dòng và truyền tải một mã cho mày trắng sau đó số pixel,
tiếp đó mã cho mày đen và số pixel,… Vì hầu hết các phần fax là màu trắng nên độ dài
của thông điệp sẽ được giảm đi đáng kể.

Chúng ta phải sử dụng phương pháp nén này thật cẩn thận. Nếu có không nhiều sự lặp lại
trong nội dung bên trong của dữ liệu thì phương pháp này có thể làm gia tăng kích thước
của file.

Nén mất dữ liệu


Rõ ràng không phải lúc nào cũng có thể sử dụng kỹ thuật nén không mất dữ liệu. Trong
một số trường hợp các phương pháp nén mất dữ liệu sẽ không nén đủ dữ liệu hữu dụng,
tuy nhiên trong một số trường hợp khác, các kỹ thuật nén mất dữ liệu lại gây tiêu tốn quá
nhiều công suất cho việc nén và giải mã. Hình 1 bên dưới là biểu đồ về tốc độ nén. 
Hình 1: Biểu
đồ tốc độ nén

Nén ảnh số
Việc nén các ảnh số cần chọn cẩn thận khi sử dụng xem nên sử dụng phương pháp nén
mất dữ liệu hay không mất dữ liệu. Thông thường sự lựa chọn này dựa vào ảnh được nén.
Các ảnh như các ảnh y học, các ảnh này cần phải tinh tế các chi tiết quan trọng sẽ phải
cần đến việc nén không mất dữ liệu. Các ảnh trắng trong các chuyến đi thăm quan của gia
đình có thể sử dụng phương pháp nén mất dữ liệu để giảm bớt kích thước của file ảnh.

Trong trường hợp đối với các ảnh thăm quan của gia đình, việc chọn phương pháp nén
mất dữ liệu không có nghĩa là bạn sẽ phải chịu các ảnh chất lượng tồi. Trong thực tế,
nhiều phương pháp nén mất dữ liệu cho ảnh số có thể lợi dụng đặc điểm mắt người
thường nhậy cảm hơn với độ sáng so với sự thay đổi về các màu sắc. Điều này có nghĩa
rằng phương pháp nén sẽ lưu các màu giống nhau với cùng một màu còn lưu dữ liệu độ
sáng dưới phương pháp mất dữ liệu. Điều này được gọi là lấy mẫu sắc độ.

Nén audio số
Một ví dụ khác mà các phương pháp nén mất dữ liệu có thể phát huy được tác dụng là
nén audio số. Các kỹ thuật nén audio số không mất dữ liệu lợi dụng một lĩnh vực nghiên
cứu được biết đến đó là psychoacoustics. Về cơ bản psychoacoustics chính là nghiên cứu
về cách con người nghe và nhận biết được âm thanh như thế nào.

Một khía cạnh của psychoacoustics có liên quan đến việc nén audio số là, con người chỉ
có thể nghe âm thanh trong khoảng tần số từ 20Hz đến 20kHz. Chính vì vậy nhiều kỹ
thuật nén audio đã sử dụng khía cạnh này và không lưu nhiều thông tin có liên quan đến
các tần số ngoài dải trên.

Cũng liên quan đến dải tần số con người có thể nghe, các âm thanh phải được điều chỉnh
to hơn để có thể nghe được tất cả ở các tần số cao hơn. Điều này có nghĩa rằng các kỹ
thuật nén mất dữ liệu có thể lấy mẫu âm thanh có cường độ thấp ở các tần số đó khắt khe
hơn nhiều để tránh tình trạng mất hết dữ liệu. Cũng có nghĩa rằng các nhà thiết kế các kỹ
thuật nén này có thể ẩn các tạp âm tạo ra trong các tần số cao này (tần số họ không thể
nhận biết được).

Một khía cạnh khác của psychoacoustics là được sử dụng rộng rãi trong việc nén audio số
không mất dữ liệu trong hiệu ứng có tên gọi masking. Đây chính là điểm một âm thanh to
sẽ làm cho âm tĩnh hơn xuất hiện cùng thời điểm bị lấn át. Đây có thể gọi là hiện tượng
nhiễu chèn ép.

Một lĩnh vực việc nén audio số không mất dữ liệu có thể được sử dụng rộng rãi là việc
lưu trữ số. Các kỹ sư audio và các khách hàng muốn lưu một bản copy chính xác các file
audio của họ đang chuyển sang nén audio số không mất dữ liệu. Một lý do cho điều này
là vì giá thành của việc lưu trữ số đang ngày một hạ dần và mọi người có thể cáng đáng
được các không gian lưu trữ lớn.

Mặc dù chi phí thấp đối với các kho lưu trữ số, nhưng việc nén audio số mất dữ liệu vẫn
được sử dụng rất rộng rãi khi nói đến các máy nghe nhạc di động. Cho ví dụ, iPod sử
dụng nén audio số mất dữ liệu vì khi bạn mang chiếc máy nghe nhạc cùng mình thì khi
đó có rất nhiều dữ liệu của bạn đã được lưu trên đó; việc sử dụng nén mất mát dữ liệu lúc
này sẽ cho phép bạn mang thêm nhiều bài hát. Một lĩnh vực khác phương pháp việc nén
này vẫn là ông vua đó là audio streaming. Mặc dù giá thành của băng thông đã giảm đáng
kể trong nhiều năm gần đây nhưng vẫn có nhu cầu giảm băng thông được sử dụng bởi
nhiều ứng dụng. Chính vì vậy, mọi thứ từ radio trực tuyến đến các ứng dụng VoIP đều
thiên về sử dụng các kỹ thuật nén mất dữ liệu.

Phần cứng trong mô hình tham chiếu OSI: Lớp 7


Phần bảy này chúng tôi sẽ giới thiệu cho các bạn về lớp 7 trong mô hình tham chiếu OSI
dưới góc độ phần cứng.

Lớp thứ bảy và lớp cuối cùng trong mô hình tham chiếu OSI là lớp Application. Lớp này
có thể nói rằng là lớp quan trọng nhất trong mô hình tham chiếu OSI, sở dĩ nói như vậy
cũng là do không quan tâm đến các ứng dụng mạng thì sẽ không cần đến việc phải có một
mạng. Tất cả các cách mà chúng ta tương tác với mạng đều thông qua các ứng dụng. Ví
dụ như trình duyệt web, các chương trình email, các ứng dụng IM, Voice Over Internet
Protocol (VoIP) và nhiều ứng dụng khác nữa là tất cả các ứng dụng mạng tương tác với
các lớp thấp hơn trong mô hình tham chiếu OSI và người dùng.

Ba chức năng chung được cung cấp bởi những bởi những thi hành của lớp ứng dụng đó
là:

1. Bảo đảm tất cả các tài nguyên hệ thống cần thiết có sẵn. 
2. So khớp ứng dụng với giao thức ứng dụng thích hợp. 
3. Đồng bộ sự truyền tải dữ liệu từ ứng dụng với giao thức ứng dụng.

Các giao thức lớp ứng dụng

Lớp ứng dụng có chứa cả hai ứng dụng mạng và các giao thức ứng dụng. Các giao thức
ứng dụng cơ bản là các rule về cách truyền thông với ứng dụng đó. Nhiều giao thức lớp
ứng dụng công khai rộng rãi như Hyper Text Transfer Protocol (HTTP). Điều đó có
nghĩa rằng bất cứ website nào sử dụng giao thức HTTP đều có thể truyền tải file từ một
web server thực thi giao thức HTTP. Trình duyệt web, máy chủ web và giao thức HTTP
cùng nhau tạo lên ứng dụng mạng. 

Một số giao thức lớp ứng dụng có quyền sở hữu riêng và vì vậy không có trạng thái
“available ” đối với công chúng; các giao thức VoIP là một ví dụ về trường hợp này. Đây
chính là lý do tại sao bạn không thể sử dụng giao diện cùng một giao diện chung để truy
cập vào tài khoản Skype mà bạn phải sử dụng giao diện người dùng của Skype.

Phần mềm và phần cứng

Hầu hết mọi người đều nghĩ về các giao thức lớp ứng dụng như HTTP, SMTP hoặc
POP3, và nghĩ các ứng dụng phần mềm là giao diện của các ứng dụng này. Tuy nhiên
điều đó không hẳn lúc nào cũng đúng. Chúng ta có thể đưa ra ví dụ mà ở đó giao diện
cho các ứng dụng lại là phần cứng. Cho ví dụ, các điện thoại không dây có khả năng kết
nối với tài khoản VoIP. Ở hệ thống điện thoại này, phần mềm trong nó làm cho người ta
dễ dàng cho rằng đa số công việc đều được thực hiện bởi phần cứng. Tuy nhiên trong
thực tế, giọng nói của bạn được thu lại bằng một microphone và phần cứng sẽ xử lý nó để
sao cho tương thích với giao thức ứng dụng VoIP bởi phần cứng bên cạnh điện thoại.
Phần cứng này có thể là Application Specific Integrated Circuit (ASIC) hoặc Field
Programmable Gate Array (FPGA). 

Một ví dụ khác về sự thực thi của phần cứng của giao thức lớp ứng dụng nữa là ở bên
trong Bluetooth. Bluetooth, trong bản thân nó đã chứa đựng nhiều lớp trong mô hình
tham chiếu OSI nhưng chúng ta sẽ tập trung vào lớp thực thi ứng dụng. Bên trong các
thiết bị Bluetooth, bạn có thể thấy nhiều ứng dụng nằm bên trong lớp ứng dụng. Một
trong những ứng dụng như vậy sẽ là ứng dụng sẽ cho phép thiết bị tai nghe không dây,
giống như thể hiện trong hình 1, để truyền thông với một điện thoại di động trong túi của
bạn. Trong trường hợp này, phần tai nghe có chip Bluetooth nằm bên trong nó, chip này
sẽ chuyển đổi tín hiệu mà nó nhận từ điện thoại thành dạng nghe ở tai nghe thông qua
thành phần phần cứng. Ngược lại, phần tai nghe sẽ nhận một tín hiệu âm thanh của bạn từ
microphone và chuyển đổi nó thành dạng thích hợp với chip Bluetooth, chip này sau đó
sẽ gửi tín hiệu đến điện thoại của bạn. Ở đây tất cả đều được thực hiện thông qua phần
cứng. 

Hình 1: Tai
nghe
Bluetooth

Giao thức truyền tải file 

Một trong những ứng dụng phần mềm hay được sử dụng nhất nằm bên trong lớp ứng
dụng của mô hình tham chiếu OSI là File Transfer Protocol (FTP); hoặc đúng hơn là các
ứng dụng phần mềm thực thi FTP nằm trong lớp ứng dụng. 

FTP cho phép truyền tải các file trên mạng. FTP yêu cầu hai điểm kết cuối, một đóng vai
trò như một máy chủ FTP và một đóng vai trò như một máy khách FTP. FTP cũng yêu
cầu hai cổng, một cho dữ liệu và một cổng điều khiển. Cổng điều khiển FTP là cổng số
21 và cổng dữ liệu FTP là cổng 20. Rõ ràng máy khách FTP từ các cổng được chọn một
cách ngẫu nhiên và không phải là các cổng đặc biệt. 

Có hai kiểu FTP; active và passive. Trong active FTP, một FTP client sẽ gửi một FTP
request đến một cổng điều khiển của máy chủ FTP. Sau đó FTP server sẽ gửi dữ liệu đã
được yêu cầu từ cổng dữ liệu của nó đến cổng đã được chỉ định bởi máy khách (trên cổng
điều khiển). Đây là cách nguyên bản mà FTP được thiết kế như vậy. Mặc dù vậy cách
thức này có thể gây ra một số vấn đề. Vấn đề ở đây là vì, khi máy chủ bắt đầu gửi dữ liệu
từ cổng dữ liệu của nó đến một cổng trên máy khách rất giống như một kẻ xâm nhập
đang loading dữ liệu từ máy khách. Với cách thức này, nhiều tường lửa đã không cho
phép kiểu truyền tải dữ liệu như vậy. 

Passive FTP được phát triển có hội tụ đủ các nhu cầu bảo mật cần thiết cho máy khách.
Passive FTP không sử dụng cổng dữ liệu FTP chuẩn. Máy chủ FTP nhờ vào việc nhận
yêu cầu từ một FTP client sẽ reply với một cổng thông thường, trên cổng đó dữ liệu sẽ
được gửi. Sau đó FTP client sẽ gửi một yêu cầu đến cổng này, tiếp đến sau đó cổng này
sẽ reply bằng dữ liệu được yêu cầu. 

Giọng nói trên giao thức Internet 

Như những gì chúng tôi đã đề cập đến ở phần trên của phần này, VoIP cũng là một ứng
dụng mạng nằm trong lớp ứng dụng. VoIP được định nghĩa là một giao thức được dùng
để tối ưu hóa việc truyền tải giọng nói trên các mạng dựa trên các gói tin. Mặc dù vậy ở
đây chúng tôi chỉ nhắc đến tính toàn vẹn của các ứng dụng thực thi các giao thức như
vậy. 
VoIP là một ví dụ điển hình trong họ các ứng dụng có nhiều sự thực thi khác nhau. Hình
2 thể hiện những dạng thực thi khác nhau của VoIP. Tất cả các thực thi này đều có thể
truyền thông với nhau vì chúng đều dựa vào các lớp khác trong mô hình tham chiếu OSI.
Trong khi đó mỗi một thực thi lại có thể sử dụng các thực thi khác của các hàm khác
nhau trong các lớp khác và mỗi một thực thi này đều tương hợp với nhau. 

Hình 2:
Những thực
thi của VoIP

Nhìn chung, mô hình tham chiếu OSI là một mô hình khá trừu tượng, mô hình này nên
được sử dụng như một hướng dẫn cho việc tìm hiểu cách hoạt động của mạng cũng như
việc triển khai các ứng dụng mạng. Bằng cách chia từng phần trong một thiết kế vào các
lớp trong mô hình tham chiếu, các thiết kế viên sẽ tăng được khả năng sử dụng của ứng
dụng cũng như làm cho ứng dụng trở nên dễ dàng hơn trong việc duy trì và nâng cấp theo
thời gian.

Các thành phần của một thiết kế không hoàn toàn phải bám chặt vào mô hình tham chiếu
OSI mà trong thực tế vẫn còn có những tranh luận về chức năng nào sẽ thuộc về lớp nào.
Tuy nhiên có một điều trong việc thực hành là dù có nằm ở lớp nào thì điều đó cũng
không quan trọng vì các chức năng này làm việc giữa các lớp. Các chức năng khác được
cung cấp bởi các lớp có thể không cần thiết và đôi khi sẽ không được hiện diện trong
thiết kế; việc mã hóa là một ví dụ cụ thể cho vấn đề này.

You might also like