TCP/IP đã làm lu mờ tiêu chuẩn kết nối các hệ thống mở - OSI (Open Systems Interconnection) để trở thành giao thức kết nối toàn cầu cho mạng máy tính. Hãy ngược dòng thời gian để thấy rằng để có được mạng kết nối toàn cầu như ngày nay, lịch sử của sự hình thành Internet diễn ra như thế nào và tại sao OSI lại chịu lùi bước trước TCP/IP.
Nếu mọi thứ diễn ra như kế hoạch thì Internet sẽ không phát triển và phủ rộng khắp thế giới như hiện nay. Theo như kế hoạch cách đây 35 năm trước, một tiêu chuẩn cho mạng máy tính đã được vạch ra và nó được gọi là Kết nối các Hệ thống Mở (viết tắt là OSI - Open Systems Interconnection). Cha đẻ của tiêu chuẩn này là một nhóm các chuyên gia đại diện cho ngành công nghiệp máy tính của Anh, Pháp và Mỹ. Các kiến trúc sư này hình dung ra OSI là một hệ thống mở hoàn chỉnh, có nhiều lớp cho phép người dùng từ khắp nơi trên thế giới có thể trao đổi dữ liệu qua lại dễ dàng hơn. Họ kỳ vọng đây sẽ là cơ hội mới cho sự hợp tác và thương mại trên toàn cầu.
Ngay sau đó, hàng ngàn kỹ sư và các nhà hoạch định chính sách trên thế giới đã nỗ lực tham gia vào việc thành lập các tiêu chuẩn OSI. Những động thái bước đầu lúc này cho thấy tầm nhìn của nhóm chuyên gia này có vẻ đã đúng. Họ cũng đã có được sự hỗ trợ nhanh chóng từ các công ty sản xuất máy tính, điện thoại, các tổ chức quản lý, chính phủ của các quốc gia, các cơ quan tiêu chuẩn quốc tế, nhà nghiên cứu và thậm chí cả sự trợ giúp của Bộ Quốc Phòng Mỹ. Vào giữa những năm 1980, tiêu chuẩn OSI bắt đầu được áp dụng trên thế giới.
Tuy nhiên, vào đầu những năm 1990, tất cả những dự án đã bị đình trệ vì vấp phải rào cản giá cả cao và tốc độ chậm. Lúc đó cũng đã có một lựa chọn thay thế là giao thức Transmission Control Protocol và Internet Protocol (TCP/IP). Ngay cả Einar Stefferud – một trong những người ủng hộ OSI – cũng phải thốt lên: “OSI chỉ là một giấc mơ đẹp, và TCP/IP mới là thực tế”.
Chuyện gì đã xảy ra với “giấc mơ đẹp” OSI? Để hiểu rõ nguyên nhân, chúng ta cần phải quay về thời điểm ban đầu của lịch sử mạng máy tính. Đó là thời điểm mà các khái niệm của hội tụ kỹ thuật số (digital convergence) và kết nối toàn cầu (global interconnection) gây ra nhiều tranh cãi, tiêu tốn nhiều thời gian và trí óc của các nhà khoa học máy tính, kỹ sư viễn thông, các nhà hoạch định chính sách và những nhà điều hành ngành công nghiệp. Hãy ngược dòng lịch sử và tưởng tượng rằng Internet chưa bao giờ tồn tại.
Mọi chuyện bắt đầu từ những năm 1960, là thời điểm của sự kiện bức tường Berlin đã được dựng lên, phong trào tự do ngôn luận nở rộ ở Berkeley và quân đội Mỹ tham chiến tại Việt Nam. Lúc này, hệ thống truyền thông máy tính kỹ thuật số đang trong giai đoạn “trứng nước” và các chính phủ, tổ chức đã bắt tay vào những chương trình nghiên cứu lớn… Những năm sau đó, đã có nhiều thành tựu mở đầu cho sự hình thành và phát triển của Internet :
Sự khác biệt giữa mô hình OSI và TCP/IP
Ra đời năm 1984 nhưng thực chất TCP/IP là mô hình rút gọn của mô hình OSI. Có thể phân biệt 2 mô hình này như sau:
Mô hình OSI có 7 tầng gồm:
- Tầng Vật lý (Physical Layer) tìm cách điều biến (modulation), hoặc biến đổi giữa biểu diễn dữ liệu số (digital data) của các thiết bị người dùng và các tín hiệu tương ứng được truyền qua kênh truyền thông (communication channel).
- Tầng Liên kết dữ liệu (Data Link Layer) xác định địa chỉ vật lý của các thiết bị trên mạng và quy định cách thức mà dữ liệu sẽ được đưa xuống môi trường truyền. Đơn vị dữ liệu do lớp này quản lý gọi là frame. Lớp Liên kết dữ liệu bao gồm 2 lớp con là LLC (Logical Link Control) và MAC (Media Access Control). Lớp LLC liên kết với lớp Mạng để xác định loại địa chỉ logic đang dùng là gì và sẽ đóng gói frame theo kiểu tương ứng. Lớp MAC lại kết hợp với lớp cuối cùng là lớp Vật lý để biết môi trường truyền dẫn bên dưới là gì để có cách thức sử dụng phù hợp. Ví dụ: nếu môi trường truyền dẫn là Ethernet, các frame sẽ đóng gói và định địa chỉ theo chuẩn 802.3, và quyết định có sử dụng cơ chế CSMA/CD hay không; nếu môi trường truyền dẫn là không dây thì đóng gói frame theo chuẩn 802.11 và sử dụng cơ chế CSMA/CA,…
- Tầng Mạng (Network Layer) định ra địa chỉ logic cho các thiết bị trên mạng và quy định các nguyên tắc sử dụng địa chỉ logic này. Ví dụ: các giao thức như IP, IPX, Apple Talk có những cơ chế định địa chỉ cho máy tính và mạng máy tính trên mạng, các giao thức như RIP, OSPF, EIGRP, BGP chịu trách nhiệm định tuyến hay nói cách khác là tìm đường để dẫn gói tin đi đến đúng địa chỉ đích. Lớp Mạng sẽ đóng gói các segment do lớp Vận chuyển đẩy xuống thành các gói tin (packet).
- Tầng Giao vận (Transport Layer) đảm bảo truyền thông chính xác giữa các thiết bị. Các máy tính phải sử dụng kiểu truyền như thế nào cho phù hợp với môi trường truyền (môi trường ít lỗi hay nhiều lỗi), phải bắt tay kết nối trước khi truyền hay không,… đều do lớp Vận chuyển quy định. Dữ liệu từ lớp Session đưa xuống sẽ bị phân chia thành các đơn vị dữ liệu lớp Vận chuyển, gọi là segment, các segment được đánh số thứ tự để bên nhận có thể ghép dữ liệu lại một cách chính xác.
- Tầng Phiên (Session Layer) chịu trách nhiệm cung cấp và giải phóng các phiên làm việc thông qua việc cấp port cho các phiên này. Một máy tính trong mạng có thể vừa duyệt web, vừa gửi mail, vừa truyền file cho máy tính khác,… Các hoạt động trên diễn ra đồng thời và lớp Phiên phải phân biệt và cấp port cho các hoạt động này. Ví dụ, phiên truy cập web sẽ được cấp port là 80, phiên gởi mail được cấp port 25, phiên truyền file (FTP) được cấp port 20 và 21.
- Tầng Trình diễn (Presentation Layer) chịu trách nhiệm chính về phần mã hóa và định dạng dữ liệu. Ví dụ, để máy tính Linux có thể giao tiếp với máy tính Windows, lớp Trình diễn phải định dạng dữ liệu sao cho phù hợp với các hệ điều hành. Tên các tập tin thường có phần đuôi mở rộng như .PICT, .MIDI, .MPEG, .RTF, … phần đuôi này do chính lớp Trình diễn thêm vào.
- Tầng Ứng dụng (Application Layer) quy định giao diện giữa ứng dụng và mạng, các giao thức trong thuộc về lớp này rất nhiều, nhưng thường gặp nhất trên mạng là FTP, HTTP, HTTPs, SMTP, Telnet,… Lớp Ứng dụng sẽ đẩy dữ liệu xuống lớp tiếp theo ngay bên dưới là lớp Trình diễn.
Mô hình OSI đã chia nhỏ việc truyền thông phức tạp giữa các máy tính thành những tác vụ nhỏ, rõ ràng và dễ hiểu hơn. Các nhà nghiên cứu dựa vào những lớp con trong mô hình OSI để thiết kế ra các chuẩn mới cho mạng mà vẫn không gây ảnh hưởng lớn đến hoạt động của toàn hệ thống. Tuy nhiên, OSI chỉ là mô hình tham chiếu chứ không được đưa vào sử dụng trong thực tế. Các mô hình sử dụng trong thực tế như TCP/IP, NetBEUI (của Microsoft và IBM), IPX/SPX (của Novell), DECnet (của Digital Equipment Corporation) có biến đổi cho phù hợp hơn với thực tế nhưng vẫn dựa theo mô hình OSI này.
Trong khi đó, mô hình TCP/IP đang được sử dụng để quản lý việc truyền thông cho mạng máy tính khổng lồ Internet. TCP/IP được xem là bản giản lược của mô hình OSI với bốn tầng sau: Ứng dụng (tích hợp 3 tầng trên cùng của mô hình OSI), Giao vận (tương đương với tầng giao vận của OSI), Internet (tương đương với tầng Mạng nhưng chỉ sử dụng giao thức IP để định địa chỉ logic cho các máy tính) và Truy cập mạng (bao gồm 2 tầng dưới cùng của mô hình OSI).
Một số giao thức thường gặp trong mô hình TCP/IP như: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Message Protocol), TCP, UDP, Telnet, FTP, WWW, SMTP,…
Mô hình TCP/IP gọn nhẹ hơn mô hình tham chiếu OSI, đồng thời có những biến đổi phù hợp thực tế hơn. Ví dụ, tầng Vận chuyển của mô hình OSI quy định việc truyền dữ liệu phải đảm bảo độ tin cậy hoàn toàn. Tuy nhiên, một số ứng dụng mới phát triển sau này như thoại Voice over IP, Video Conference (hội nghị truyền hình),… đòi hỏi tốc độ cao và cho phép bỏ qua một số lỗi nhỏ. Nếu vẫn áp dụng mô hình OSI vào thì độ trễ trên mạng rất lớn và không đảm bảo chất lượng dịch vụ. Trong khi đó, mô hình TCP/IP, ngoài giao thức chính của lớp Vận chuyển là TCP (Transmission Control Protocol), còn cung cấp thêm giao thức UDP (User Datagram Protocol) để thích ứng với các ứng dụng cần tốc độ cao.
|
Tên của bảy tầng trong giao thức mô hình của OSI (Physical, Data link, Network, Transport, Session, Presentation và Application) có thể được ghi nhớ nhanh bằng các cách viết tắt vui thông dụng sau: Please Do Not Throw Sausage Pizza Away,All People Seem To Need Data Processing, APS TransportsNetwork Data Physically, APS Turds Never Develop Pubes, PleaseDo Not Tell Secret Passwords Anytime, A Perfect Student NeedsTo Drink Port hay tiếng Việt với câu: Anh Phải Sống Tới NgàyĐộng Phòng. |
Giao thức quan trọng nhất trong mô hình TCP/IP là TCP và UDP. TCP đảm bảo độ tin cậy truyền thông bằng cách ép buộc máy nhận phải hồi báo cho máy gửi biết về những segment nào đã nhận được, segment nào bị lỗi,… để máy gửi tiếp tục truyền segment mới hay gửi lại segment bị lỗi. Các gói tin hồi báo này gọi tắt là ACK. Nếu đường truyền bị lỗi quá nặng, các gói tin hồi báo này không đến được máy gửi thì sau một khoảng thời gian quy định trước, segment sẽ được truyền lại, và nếu một segment được truyền lại quá nhiều lần, TCP sẽ ngắt kết nối với máy nhận và dừng việc truyền lại. UDP không có cơ chế tin cậy (hồi báo bằng ACK), nên việc kiểm soát độ tin cậy phải do lớp Application đảm trách. Tuy nhiên, đối với các ứng dụng yêu cầu tốc độ cao và chấp nhận tỷ lệ lỗi ở mức nào đó, sử dụng giao thức UDP là rất thích hợp do không phải hồi báo ACK nhiều lần. Việc linh động sử dụng giao thức TCP hay UDP trong các ứng dụng mạng phụ thuộc vào nhiều yếu tố như chất lượng đường truyền, độ quan trọng của thông tin cần truyền,…
Tuy nhiên, để hỗ trợ thêm tính tin cậy của UDP, năm 1998, các nhà nghiên cứu đã đề xuất cơ chế tránh nghẽn có tên là TCP – Friendly Rate Control, TFRC (chuẩn RFC 3448, năm 2003). Ý tưởng của cơ chế này là tìm cách báo hiệu cho máy gửi biết về tình trạng nghẽn ở máy nhận, từ đó máy gửi sẽ chủ động giảm tốc độ truyền xuống, các gói tin sẽ tới máy nhận chậm hơn một chút nhưng đảm bảo không để gói tin bị đánh rớt do máy nhận xử lý không kịp. TCP – Friendly thích hợp cho các ứng dụng truyền thoại, hội nghị truyền hình, xem phim qua mạng và một số ứng dụng khác yêu cầu tốc độ và tính trơn tru của dữ liệu.
Vào những năm cuối thập niên 1980, ISO đã tiến cử việc thực thi mô hình OSI như một tiêu chuẩn mạng. Tại thời điểm đó, TCP/IP đã được sử dụng phổ biến trong nhiều năm. TCP/IP là nền tảng của ARPANET, và các mạng khác - là những cái được tiến hóa và trở thành Internet. Hiện nay chỉ có một phần của mô hình OSI được sử dụng. Nhiều người tin rằng đại bộ phận các đặc tả của OSI quá phức tạp và việc cài đặt đầy đủ các chức năng của nó sẽ đòi hỏi một lượng thời gian quá dài, cho dù có nhiều người nhiệt tình ủng hộ mô hình OSI đi chăng nữa. Mặt khác, có nhiều người lại cho rằng, ưu điểm đáng kể nhất trong toàn bộ cố gắng của công trình mạng truyền thông của OSI là nó đã thất bại trước khi gây ra nhiều tổn thất.
Nguồn: PCWorld