Tiêu chuẩn TCP/IP

TCP/IP viết tắt của Transmission Control Protocol (TCP) và Internet Protocol (IP) là giao thức cài đặt truyền thông, chồng giao thức mà hầu hết các mạng máy tính ngày nay đều sử dụng để kết nối. 

TCP/IP được đặt theo tên của 2 giao thức là giao thức điều khiển giao vận và giao thức liên mạng. Đây là 2 giao thức đầu tiên trên thế giới được định nghĩa. TCP/IP được phát triển vào năm 1978 bởi Bob Kahn và Vint Cerf.

Bộ giao thức liên mạng xuất phát từ công trình DARPA, từ những năm đầu thập niên kỷ 1970. Sau khi đã hoàn thành việc xây dựng ARPANET tiên phong, DARPA bắt đầu công việc trên một số những kỹ thuật truyền thông dữ liệu khác. Vào năm 1972, Robert E. Kahn đã được thuê vào làm việc tại Văn phòng kỹ thuật điều hành tin tức (Information Processing Technology Office) của DARPA, phòng có chức năng liên quan đến mạng lưới truyền thông dữ liệu thông qua vệ tinh và mạng lưới truyền thông bằng sóng radio trên mặt đất. Trong quá trình làm việc tại đây Kahn đã phát hiện ra giá trị của việc liên thông giữa chúng. Vào mùa xuân năm 1973, Vinton Cerf, kỹ sư thiết kế bản giao thức NCP hiện dùng (chương trình ứng dụng xử lý mạng lưới truyền thông - nguyên tiếng Anh là "Network Control Program"), được phân công cùng làm việc với Kahn trên các mô hình liên kết nối kiến trúc mở (open-architecture interconnection models) với mục đích thiết kế giao thức sắp tới của ARPANET.

Vào mùa hè năm 1973, Kahn và Cerf đã nhanh chóng tìm ra một phương pháp tái hội nhập căn bản, mà trong đó những khác biệt của các giao thức liên kết mạng được che lấp đi bằng một giao thức liên kết mạng chung, và thay vì mạng lưới truyền thông phải chịu trách nhiệm về tính đáng tin cậy, như trong ARPANET, thì các máy chủ (hosts) phải chịu tránh nhiệm (Cerf ghi công của Hubert Zimmerman và Louis Pouzin (thiết kế viên của mạng lưới truyền thông CYCLADES) là những người có ảnh hưởng lớn trong bản thiết kế này.)

Với nhiệm vụ là một mạng lưới truyền thông bị hạ cấp tới mức cơ bản tối thiểu, khiến việc hội nhập với các mạng lưới truyền thông khác trở nên hầu như bất khả thi, mặc dầu đặc tính của chúng là gì, và vì thế, giải đáp nan đề đầu tiên của Kahn. Một câu nói cửa miệng vì thế mà TCP/IP, sản phẩm cuối cùng do những cống hiến của Cerf và Kahn, sẽ chạy trên "đường dây nối giữa hai ống bơ rỉ", và quả nhiên nó đã được thực thi dùng các con chim bồ câu đưa thư (homing pigeons). Một máy vi tính được dùng là cổng nối (gateway) (sau này đổi thành bộ định tuyến (router) để tránh nhầm với những loại cổng nối khác) được thiết bị một giao diện với từng mạng lưới truyền thông, truyền tải gói dữ liệu qua lại giữa chúng.

Ý tưởng này được nhóm nghiên cứu mạng lưới truyền thông của Cerf, tại Stanford, diễn giải ra tỉ mỉ, cụ thể vào khoảng thời gian trong năm 1973-1974. Những công trình về mạng lưới truyền thông trước đó tại Xerox PARC, nơi sản sinh ra bộ giao thức PARC Universal Packet, phần lớn được dùng vào thời kỳ đó, cũng gây ảnh hưởng về kỹ thuật không ít.

Sau đó DARPA ký hợp đồng với BBN, Stanford, và Trường đại học chuyên nghiệp Luân Đôn (The University College London - viết tắt là UCL) kiến tạo một số phiên bản của giao thức làm việc được, trên các nền tảng phần cứng khác nhau. Có bốn phiên bản đã được xây dựng - TCP v1, TCP v2. Phiên bản 3 được tách ra thành hai phần TCP v3 và IP v3, vào mùa xuân năm 1978, và sau đó ổn định hóa với phiên bản TCP/IP v4 - giao thức tiêu chuẩn hiện dùng của Internet ngày nay.

Vào năm 1975, cuộc thử nghiệm thông nối hai mạng lưới TCP/IP, giữa Stanford và UCL đã được tiến hành. Vào tháng 11 năm 1977, một cuộc thử nghiệm thông nối ba mạng lưới TCP/IP, giữa Mỹ, Anh và Na Uy đã được chỉ đạo. Giữa năm 1978 và 1983, một số những bản mẫu của TCP/IP đã được thiết kế tại nhiều trung tâm nghiên cứu. Ngày 1 tháng 1 năm 1983, ARPANET đã hoàn toàn được chuyển hóa sang dùng TCP/IP.[2]

Vào tháng 3 năm 1982,[3] Bộ Quốc phòng Mỹ chấp thuận TCP/IP thành một tiêu chuẩn cho toàn bộ mạng lưới vi tính truyền thông quốc phòng. Vào năm 1985, Uỷ ban kiến trúc Internet (Internet Architecture Board) đã dành 3 ngày hội thảo về TCP/IP cho công nghiệp điện toán, với sự tham dự của 250 đại biểu từ các công ty thương mại. Cuộc hội thảo này đã làm tăng thêm uy tín và sự nổi tiếng của giao thức, khiến nó ngày càng phổ biến trên thế giới.

Ngày 9 tháng 11 năm 2005 Kahn và Cerf đã được tặng thưởng Huy chương Tự do Tổng thống (Presidential Medal of Freedom) cho những thành tích cống hiến của họ đối với nền văn hóa của Mỹ.

Bản chất của TCP/IP là một chuẩn phổ biến mà các mạng nội bộ và diện rộng có thể giao tiếp, cho phép các máy tính kết nối với nhau và cho các ứng dụng để gửi dữ liệu đi và về.

Để hoạt động nhịp nhàng, TCP/IP phải có 4 lớp/tầng trừu tượng (TCP/IP layers), mỗi lớp có một bộ giao thức riêng.

Các tầng của TCP/IP. (Nguồn: tenten.vn)

3.1. Tầng 1 - Tầng Vật lý (Physical)

Đây là sự kết hợp giữa tầng Vật lý và tầng liên kết dữ liệu của mô hình OSI. 

Tầng này chịu trách nhiệm truyền dữ liệu giữa hai thiết bị trong cùng một mạng. 

Tại đây, các gói dữ liệu được đóng vào khung (gọi là Frame) và được định tuyến đi đến đích đã được chỉ định ban đầu.

3.2. Tầng 2 - Tầng mạng (Internet) - IP

Cũng gần giống như tầng mạng của mô hình OSI. 

Tại TCP/IP, tầng 2 – tầng mạng (Internet) cũng được định nghĩa là một giao thức chịu trách nhiệm truyền tải dữ liệu một cách logic trong mạng.

Các phân đoạn dữ liệu sẽ được đóng gói (Packets) với kích thước mỗi gói phù hợp với mạng chuyển mạch mà nó dùng để truyền dữ liệu. 

Lúc này, các gói tin được chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục được chuyển đến tầng tiếp theo. 

Tầng 2 của TCP/IP. (Nguồn: tenten.vn)

Các giao thức chính trong tầng là IP, ICMP và ARP.

  • IP – Internet Protocol.
  • ICMP – Internet Control Message Protocol.
  • IGMP- Internet Group Message Protocol.

3.3. Tầng 3 - Tầng Giao vận (Transport layer) - TCP

Tầng 3 của TCP/IP. (Nguồn: tenten.vn)

Chức năng chính của tầng 3 là xử lý vấn đề giao tiếp giữa các máy chủ trong cùng một mạng hoặc khác mạng được kết nối với nhau thông qua bộ định tuyến.

Đây là lớp điều khiển giao tiếp máy chủ tới máy chủ, còn được gọi là Tầng giao vận.

Tầng  truyền tải sẽ phụ trách luồng dữ liệu giữa 2 trạm thực hiện các ứng dụng của lớp trên. Tầng này có 2 giao thức chính là:

TCP – Transmission Control Protocol: cung cấp luồng dữ liệu tin cậy giữa 2 trạm nhờ nhiều cơ chế.

Ví dụ: chia nhỏ các gói tin ở tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian timeout để đảm bảo bên nhận biết được các gói tin đã gửi đi.

UDP – User Datagram Protocol: gửi dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích.

3.4. Tầng Ứng dụng (Application) 

Tầng ứng dụng của TCP/IP. (Nguồn: tenten.vn)

Đây thực tế là lớp giao tiếp trên cùng của mô hình. 

Tầng Ứng dụng đảm nhận vai trò giao tiếp dữ liệu giữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau như chính tên gọi của nó.

Các dịch vụ mạng đó có thể là duyệt web, chat, gửi email, một số giao thức trao đổi dữ liệu: SMTP, SSH, FTP,…. 

Dữ liệu khi đến đây sẽ được định dạng theo kiểu Byte nối Byte, cùng với đó là các thông tin định tuyến giúp xác định đường đi đúng của một gói tin.

Sau đây là hình ảnh ví dụ điển hình của TCP/IP Model (Mô hình TCP/IP) về bố cục các TCP/IP layers.

Bố cục các TCP/IP. (Nguồn: tenten.vn)

Phân tích từ tên gọi, TCP/IP là sự kết hợp giữa 2 giao thức. Trong đó IP (Giao thức liên mạng) cho phép các gói tin được gửi đến đích đã định sẵn, bằng cách thêm các thông tin dẫn đường vào các gói tin để các gói tin được đến đúng đích đã định sẵn ban đầu. Và giao thức TCP (Giao thức truyền vận) đóng vai trò kiểm tra và đảm bảo sự an toàn cho mỗi gói tin khi đi qua mỗi trạm. Trong quá trình này, nếu giao thức TCP nhận thấy gói tin bị lỗi, một tín hiệu sẽ được truyền đi và yêu cầu hệ thống gửi lại một gói tin khác. Quá trình hoạt động này sẽ được làm rõ hơn ở chức năng của mỗi tầng trong mô hình TCP/IP.

5.1. Ưu điểm

Nó vốn dĩ là một mô hình giao thức mang tính thực tế cao. Những đặc điểm nổi bật của nó có thể được kể đến như:

  • Thiết lập kết nối giữa các loại máy tính khác nhau.
  • Hoạt động độc lập với hệ điều hành.
  • Hỗ trợ nhiều giao thức định tuyến.
  • Kiến trúc client – server, khả năng mở rộng cao.
  • Có thể hoạt động độc lập.
  • Hỗ trợ nhiều giao thức định tuyến.
  • Nhẹ, không gây nhiều áp lực với máy tính hay mạng.

5.2. Nhược điểm

TCP/IP cũng có một số điểm hạn chế cần được khắc phục:

  • Việc cài đặt khá phức tạp, khó để quản lý.
  • Tầng transport không đảm bảo việc phân phối các gói tin.
  • Các giao thức trong TCP/IP không dễ để có thể thay thế.
  • Không tách biệt rõ ràng các khái niệm về dịch vụ, giao diện và giao thức. Do đó nó không hiệu quả để mô tả các công nghệ mới trong mạng mới.
  • Dễ bị tấn công SYN  – một kiểu tấn công từ chối dịch vụ.