1.1 Computer Network
Mạng điện toán (Computer Network) là một
tập hợp gồm nhiều máy vi tính cá nhân, các máy cung cấp dịch vụ
(servers) thông tin liên lạc với nhau qua nhiều loại thiết bị truyền và
nối mạng khác nhau. Mạng chuyển vận dữ kiện trong nhiều môi trường khác
nhau, tỷ như: nhà, thương nghiệp nhỏ và lớn, công tư sở, đại học, ...
Nếu mạng trãi rộng, có thể chia thành đơn vị như trụ sở trung ương (main
office) và các chi nhánh phụ (branch office), ngay cả home office và các
người dùng máy vi tính lưu động (mobile users).
Tại sao ta cần mạng điện
toán (Computer Network)?
Mục đích để trao đổi hay dùng chung tài nguyên, cương
liệu cũng như nhu liệu với nhau, tỷ như: máy in, file server, application server,
email server, chỗ chứa dữ kiện, backup devices, cơ sở dữ liệu (Database)
hay các ứng dụng (application), các dữ kiện, các thông tin, hình ảnh,
...
Vào năm 1960,
ARPA (U.S. Department of Defense's Advanced
Research Projects
Agency) lưu tâm vận dụng các nghiên
cứu về packet switched networks vì mạng này có khả năng cắt các chuỗi dữ kiện (data stream) thành các đơn
vị nhỏ hơn và chuyển vận từng đơn vị đó một cách độc lập xuyên qua một
mạng chung (shared network).
Nhắc lại, mạng điện thoại cổ điển dựa
trên phương thức circuit switching, nghĩa là phải thiết lập một nối
thường trực với băng truyền cố định giữa 2 máy. Đến khi nào, không còn
dùng để thông tin nữa, nối mới được tháo bỏ. Như vậy, nếu không đủ
thiết bị để nối, ta không thể nào gọi được. Tuy nhiên, một khi nối được
thành lập, chất lượng tải được bảo đảm vì nối được dành riêng với băng
truyền cố định. Circuit
switching còn cho phép máy của người dùng thiết kế 1 cách đơn giản, tỷ như: máy điện
thoại với một vài công dụng vì tổng đài sẽ quản lý và kiểm tra mọi
chuyện.
Ngược lại, packet switching network yểm
trợ băng truyền chung 1 cách công bằng giữa các người dùng. Tuy nhiên,
không bảo đảm chất lượng truyền và có thể chậm trể. Nhưng, khi truyền dữ
kiện, ta đâu cần sự đáp ứng tức khắc mặc dù trên thực tế sự truyền và
đáp ứng này rất nhanh. Khi nào, các đơn vị chuyên chở dữ kiện đó tới nơi
tới chốn bình an, ta sẽ ... 'hạ hồi phân giải'. Hiển nhiên, packet
switching network đặt nhiều hy vọng vào sự thông minh của máy vi
tính ở nơi gởi và nơi nhận (end nodes or end hosts) và mạng chỉ đơn giản thực hiện
sự chuyển vận các đơn vị dữ kiện nhỏ từ nơi này đến nơi khác qua đủ 'vạn
nẻo đường ... phù sa'. Như vậy, còn gì thích hợp cho mạng điện toán
hơn. Packet switching network không những vận dụng hiệu quả tài nguyên
mạng (vì dùng mọi băng truyền chứ không để dành cho riêng một ai) mà còn dễ
dàng thiết kế mạng để kiểm tra, rà tìm các nối hay thiết bị hư hỏng,
ngoài ra mạng còn dễ dàng bành trướng nhanh chóng với ngân sách tiết
kiệm.
1.2 Kiểu Mẫu OSI (OSI
Model)
Theo truyền thống, mọi giải thích về mạng
điện toán (Computer Network) đều bắt đầu với kiểu mẫu
OSI (Open System Interconnection) do
ISO (International Organisation for
Standardisation) thành hình.
Tuy nhiên, không giống như cách
trình bày của đa số tài liệu đã có từ trước, bắt đầu với
tầng
(hay lớp, layer) thứ nhất là tầng Network lần lượt đến tầng 2, 3, ... rất khó hiểu,
ta bắt đầu với tầng thứ 7 (tầng Application) trước.
Trước tiên, ta cần biết kiểu mẫu OSI đã dùng
khái niệm về công dụng khác nhau chia làm 7 tầng ( 7 layers) khi chuyển vận
dữ kiện từ 1 máy này đến máy kia. Mỗi tầng đều riêng biệt, có công dụng
và trách nhiệm khác nhau. Mỗi tầng chỉ có thể thông tin với tầng trên và
tầng dưới nó mà thôi.
Nhưng tại sao, ISO lại làm chia như vậy?
Xin thưa, cho đời ta ... bớt khổ.
Nhờ chia công việc và trách nhiệm rõ ràng
như thế, ta có thể quản lý, thiết kế hay kiểm tra, tìm lỗi dễ dàng trong
mạng điện toán (Computer Network).
Hãy quan sát kiểu mẫu OSI như sau:

Layer 7: Application
Layer
Giả dụ như ta dùng ứng dụng (application)
Internet Explorer ở máy vi tính A, nhập 1 URL (Universal Resource Locator) tỷ như:
http://a.com vào hộp
chữ Address để theo học khóa Tự Học TCP/IP của a. Internet
Explorer (IE) chạy trong máy A muốn đối thoại trực tiếp với
Web Server của a (máy vi tính B) để yêu cầu gởi về trang chủ và hiển thị trang
này trên máy A của ta.
Tuy nhiên, tầng ứng dụng thứ 7 này
(Application Layer) chỉ chịu trách nhiệm về ứng dụng (application) và
giao diện của người dùng (user interface) chứ không nối trực tiếp với
ứng dụng (application) của Web Server trên máy B nên máy A đành ...
'ngậm ngùi đưa em sang sông' bằng cách đóng thùng gởi xuống tầng kế dưới
là tầng thứ 6: tầng Trình Bày (Presentation Layer). Đó là lý do ta biểu
hiện một đường nối không liền lạc giữa 2 tầng Application.
Khi đóng thùng gởi đi như vậy,
application layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào 1 chổ gọi là
Header. Trong thí dụ ở đây, Layer 7
Header bao gồm mọi thông tin về ứng dụng (application) IE để
web server ở máy B hiểu phải làm những gì (hay cung cấp dịch vụ gì) hầu
đáp ứng thỏa đáng yêu cầu máy A.

Lưu ý: ứng dụng (application) dùng trong
tầng này không chỉ có IE mà còn e-mail, chuyển vận tập tin (file
transfer), terminal emulaition, ... Ngay cả ứng dụng chứng thực người dùng
(user authentication) cũng nằm trong tầng 7.
Layer 6: Presentation
Layer
Tầng Presentation chịu trách nhiệm phiên
dịch hay chuyển nguồn mã từ dạng này qua dạng khác, mục đích cho người
gởi (máy A) và người nhận (máy B) hiểu nhau, tỷ như: máy A có thể dùng EBCDIC (Extended
Binary Coded Decimal Interchange Code) nhưng máy B lại dùng ASCII hay
Unicode.
Cũng giống như tầng Application, tầng
Presentation của máy A không đối thoại trực tiếp với tầng
Presentation của máy B (web server) nên lại đóng thùng gởi xuống tầng kế
dưới là tầng thứ
5: tầng Session (Session Layer). Khi đóng thùng gởi đi như vậy,
presentation layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào
Layer 6 Header (hay Presentation
Layer Header).
Trong trường hợp này, user
data ở tầng 6 bao gồm Header tầng 7 cộng với user data tầng 7 (hay còn
gọi là payload của tầng 6). Cứ như thế, tiếp tục cho tới tầng cuối cùng
trước khi đem con bỏ chợ, ... à không, 'đưa em vào siêu xa lộ thông
tin'.

Layer 5: Session Layer
Tầng Session chịu trách nhiệm thành lập,
quản lý và kiểm tra các nối giữa 2 máy A và B. Tầng này cũng chịu trách
nhiệm trao đổi, quản lý các đối thoại hay trao đổi, quản lý dữ kiện giữa
các tầng presentation của máy A và B. Ngoài ra, còn cung cấp các dự tính
sao cho việc chuyển vận dữ kiện hiệu quả, chất lượng (CoS - Class of
Service) và quản lý, báo cáo các ngoại lệ nếu có (exception reporting).
Cũng giống như tầng Presentation, tầng
Session của máy A không đối thoại trực tiếp với tầng
Session của máy B (web server) nên lại đóng thùng gởi xuống tầng kế dưới là tầng thứ
4: tầng Transport (Transport Layer). Khi đóng thùng gởi đi như vậy,
session layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào
Layer 5 Header (hay Session Layer
Header).

Layer
4: Transport Layer
Tầng
Transport chịu trách nhiệm quản lý và chuyển vận dữ kiện (end-to-end
transmission of data) giữa 2 máy A và B. Sự chuyển vận có tin cậy hay
không cũng được thực hiện ở tầng này.
Dữ kiện (ở đây là user data) được chia thành các đơn vị
dữ kiện nhỏ hơn gọi là segment trước
khi chuyển đi qua phương thức packet switching (trình bày ở phần 1). Các
đơn vị nhỏ này sẽ được ... tái hợp (như ... Thuý Kiều tái hợp Kim Trọng sau
nhiều năm xa cách) trở lại thành user data ở máy B.
Tầng Transport dùng 2 quy ước:
-
TCP (Transport Control Protocol): cho sự
chuyển vận tin cậy (reliable communication).
-
UDP (User Datagram Protocol): cho sự
chuyển vận cố gắng, hiệu quả tới đâu hay tới đó và không cần biết dữ
kiện đi tới nơi an toàn hay không (best effort communication).
Cũng giống như tầng Session, tầng
Transport của máy A không đối thoại trực tiếp với tầng
Transport của máy B (web server) nên lại đóng thùng gởi xuống tầng kế
dưới là tầng thứ
3: tầng Network (Network Layer). Khi đóng thùng gởi đi như vậy,
transport layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào
Layer 4 Header (hay Transport Layer
Header).

Tầng Transport và tầng Network còn gọi chung ở kiểu mẫu TCP/IP là
TCP/IP (Transport Protocol/Internet Protocol).
Đây chính là kiểu mẫu đuợc tham khảo chi tiết trong khoá học này.
Layer
3: Network Layer
Tầng Network
chịu trách nhiệm quản lý các tuyến đường chuyển vận dữ kiện giữa 2 máy A
và B. Anh Ngữ gọi là routing. Đây
cũng chính là chỗ hoạt động của thiết bị Router
hay Gateway.
Các đơn vị dữ kiện ở tầng này gọi là
packets (network layer packets) được
chuyển vận theo kiểu điện tín (datagram) không tin cậy. Sự chuyển vận dữ
kiện tin cậy hay không được phó thác cho tầng Transport với quy ước TCP.
Ở đây, tầng Network chỉ chuyển các đơn vị dữ kiện tùy theo phán đoán của
mình, tỷ như: điện tín đi Sài Gòn qua cổng A, đi Hà Nội qua cổng B, ...
Nếu điện tín dài quá, tầng này còn có nhiệm vụ cắt thành các đơn vị dữ
kiện nhỏ hơn, có đánh số (sequence number) cho dễ phân biệt. Sự cắt nhỏ
này gọi là fragmentation. Các đơn vị
này sẽ được tái hợp trở lại (de-fragmentation) ở tầng Network của máy B.
Cũng giống như tầng
Transport, tầng Network của máy A không đối thoại trực tiếp với tầng
Network của máy B (web server) nên lại đóng thùng gởi xuống tầng kế dưới là tầng thứ
2: tầng Data Link (Data Link Layer). Khi đóng thùng gởi đi như vậy,
transport layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào
Layer 3 Header (hay Network Layer
Header).
Một trong những thông tin quan trọng trong header tầng này có
thể kể là địa chỉ IP (Internet Protocol
Address) của nguồn gởi (source address) và nguồn nhận
(destination address). Các IP address này phải duy nhất, không được
trùng hợp.

Layer
2: Data Link Layer
Tầng Data
Link chịu trách nhiệm soạn thảo khuôn dạng việc chuyển vận dữ kiện (how
data is formatted) và kiểm tra sự xuất nhập các
frames vào tầng kế dưới là tầng Physical. Nói gọn lại là
đóng khung chuỗi dữ kiện (framing) trước khi chuyển xuống tầng kế dưới.
Tầng này cũng chịu trách nhiệm rà tìm và điều chỉnh lỗi (error detection
and correction) bảo đảm việc chuyển vận tin cậy. Tầng Data Link kết hợp
chặc chẻ với tầng Physical qua địa chỉ MAC
(Media Access Control address) của
NIC (Network Interface Card) gắn trong máy vi tính. MAC
address gồm 48 bits như sau:
| Broadcast bit |
Local bit |
22 bits OUI |
24 bits VA |
-
Broadcast bit = 1: báo cho nơi nhận là
frame broadcast (truyền cho tất cả) hay multicast (riêng 1 nhóm).
-
Local bit = 1: cho mạng cục bộ
-
22 bits OUI: Organisational Unique
Identifier dành riêng mỗi công ty chế tạo NIC. Mỗi công ty có 1 số OUI
khác nhau do IEEE (Hiệp Hội Kỹ Sư Điện, Điện Tử) quy định.
-
24 bist VA: do mỗi công ty quy định
(Vendor Assigned) cho mỗi NIC.
Cũng giống như tầng Network, tầng Data
Link của máy A không đối thoại trực tiếp với tầng
Data Link của máy B (web server) nên lại đóng thùng gởi xuống tầng kế
dưới là tầng cuối cùng: tầng Physical (Physical Layer). Khi đóng thùng gởi đi như vậy,
data link layer cẩn thận ghi rõ chi tiết thông tin của tầng mình vào
Layer 2 Header (hay Data Link Layer
Header). Một trong những thông tin quan trọng trong header tầng này có
thể kể là địa chỉ MAC (MAC Address)
của nguồn gởi (source address) và nguồn nhận (destination address).

Layer
1: Physical Layer
Tầng này định
rõ các chi tiết kỹ thuật, tỷ như: dòng điện thế (voltage levels), chu
kỳ, tần số, physical data rates, khoãng cách truyền, các đầu nối
(physical connectors), dòng điện tử, cơ khí, phương thức, thủ tục và
chức năng, ... để khởi động, quản lý, bảo trì hay đóng mở các nối nhằm
yểm trợ sự chuyển vận dữ kiện giữa 2 máy A và B. Từ đó, máy vi tính nối
liền vào mạng điện toán (Computer Network) chằng chịt toàn cầu qua đủ
loại thiết bị, tỷ như: internal or external analog modem với
PSTN
(public siwtching telephone network), X25, ISDN, ADSL, Cable, Optical
Fibre, leased line, Frame Relay, ATM, ... và qua các công ty viễn thông
và cung cấp dịch vụ (ISP - Internet Service Provider). Trong trường hợp
mạng cục bộ (LAN - Local Area Network) phổ biến nhất vẫn là
Category 5
cable, còn gọi là UTP (Unshield Twisted Pairs) cable.
Như vậy, một cách tổng quát, tầng Physical chịu trách
nhiệm chuyển vận các chuỗi (streams) những số 0 (đóng hay OFF hay False)
và 1 (mở hay ON hay True) trong hệ thống nhị phân (hệ thống này sẽ được
trình bày trong những bài sau). Các số 0 hay 1 được gọi là
bit. Các chuỗi này bao gồm tất cả
thông tin các tầng 2 đến tầng 7.
Các chuỗi này khi chuyển vận từ máy A đến
máy B, sẽ được xử lý và khai thác theo một chu kỳ nghịch với chu kỳ vừa
trình bày ở trên, nghĩa là bắt đầu từ tầng 1 (tầng Physical) nối với máy
B đi ngược trở lên tầng 7 (tầng Application). Máy B có thể được nối với
máy A qua mạng cục bộ hay mạng toàn cầu. Cứ mỗi khi chuỗi dữ kiện được
chuyển vận đến tầng nào, tầng đó sẽ tham khảo thông tin trong header của
tầng mình, xử lý thích ứng và sau đó tháo bỏ header tầng
(de-encapsulation) của mình để
chuyển lên tầng kế. Cuối cùng, dữ kiện (user data) của máy A được đến
máy B, trong trường hợp này là máy cung cấp dịch vụ về mạng (web server)
của Vovisoft.
Máy B (Vovisoft web
server) hiểu rõ yêu cầu máy A và gởi trả về trang chủ (Home Page) của
Vovisoft. Thế là ... 'bánh xe lịch sử lại tiếp tục xoay vần', các dữ kiện lại đóng
thùng gởi đi một chu kỳ y chang như ở máy A. Cuối cùng, ta có thêm một dịch vụ
thành công trong dòng siêu xa lộ thông tin toàn cầu.
1.3 Kiểu Mẫu Internet (Internet Model of Networking)
Mặc dầu mọi tranh luận về các quy ước
(protocols) trong mạng điện toán (Computer Network) đều trích dẫn từ
kiểu mẫu OSI nhưng kiểu mẫu Internet với quy ước TCP/IP không tuân theo
các tiêu chuẩn đệ trình của ISO. Lý do đơn giản là kiểu mẫu Internet đã
được dùng và phổ biến rộng khắp, ta gọi là tiêu chuẩn de-facto. Tuy
nhiên, kiểu mẫu Internet vẫn phù hợp các đòi hỏi của mạng như kiểu mẫu
OSI. Ta có thể phân chia và xếp loại như sau:

Như
vậy, tầng Network của kiểu mẫu Internet chứa đựng tất cả mọi đặc tính
của các tầng Physical và Data Link mà tầng Internet (hay còn gọi là tầng
IP - Internet Protocol) đòi hỏi. Tầng Internet của kiểu mẫu Internet
tương đương với tầng Network của kiểu mẫu OSI. Tương tự như vậy cho các
tầng Transport và tầng Application của kiểu mẫu Internet.
Tổng quát, ta chia các quy ước thành các tầng riêng biệt
để hoạt động 1 cách độc lập với quy ước của tầng kế trên hay kế dưới.
Giữa các tầng này, đương nhiên là các giao diện
tiêu chuẩn (standardised interfaces) và do đó, có thể áp dụng
rộng rãi mọi kiểu mạng. Chẳng hạn, trong mạng Ethernet, người dùng có
thể sử dụng IP (Internet Protocol) hay IPC hay NetBEUI hay bất cứ một
Layer 3 Protocol nào cũng được. Ngược lại, IP cũng có thể chạy trong
mạng Token Ring, X.25, Frame Relay, PPP (Point-to-Point Protocol), HDLC,
FDDI, ATM hay bất cứ một Layer 2 Protocol nào cũng được, ngay cả trong
mạng Satellite hay vô tuyến (wiresless physical network). Lưu ý ở đây,
TCP/IP hay UDP/IP được cải biên để dùng trong mạng Satellite, vẫn có
nhiều quy ước thích hợp khác, tỷ như: XTP, SCPS, ... sẽ được trình bày
sơ lược ở các bài sau.
Header ở mỗi
tầng và dữ kiện (user data) sẽ trở thành dữ kiện ở tầng kế (ta gọi là
payload). Tiến trình gói / mở bao bì hay đóng
/ mở thùng này gọi là encapsulation /
de-encapsulation. Mặc dù, encapsulation giúp tính linh
hoạt của mạng nhưng đôi khi trở thành vấn đề cho mạng. Thí dụ, trong
mạng ATM, mỗi tổ dữ kiện (ATM cell)
gồm tổng cộng 55 bytes
(với 1 byte bằng 8 bits) mà TCP và IP header chiếm hết 40 bytes, chừa
lại 15 bytes cho payload, quả là quá ít cho việc chuyển vận thông tin
trong mạng, đó là chưa kể vài thông số lựa chọn tùy ý (optional
parameters).
Tóm lại, mặc dù có rất
nhiều quy ước (protocols) hiện hành không tuân thủ các tiêu chuẩn OSI
như đã trình bày ở trên nhưng kiểu mẫu OSI được chấp nhận và khuyến
khích rộng rải khắp nơi nhờ phân chia trách nhiệm rõ ràng cho mỗi tầng
một khiến cho việc thiết kế, phát triển hay kiểm tra mạng dễ dàng hơn.
Nói chung, ta có khuynh hướng dựa vào kiểu mẫu OSI để phân tích và đánh
giá các protocols khác.
Theo Vovisoft
3Cdotcom “Dịch vụ hosting tốt nhất cho dữ liệu" www.hosting.net.vn