Computer Network và kiểu mẫu OSI
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.
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ư: 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).