Giao thức TCP/IP là từ tổ hợp của hai giao thức quan trọng nhất trong bộ giao thức mạng đó là giao thức kiểm soát truyền tải (Transmission Control Protocol - TCP) và giao thức Internet (Internet Protocol - IP).
TCP/IP là một họ các giao thức IP , nó cho phép các máy tính có thể kết nối với nhau và gửi dữ liệu đi và về.
Giao thức TCP/IP được tổ chức thành 4 tầng [ hay 4 lớp ] , mỗi từng lại có một bộ giao thức khác nhau .
[ Sắp xếp theo chiều từ thấp đến cao ]
- Tầng liên kết
- Tầng mạng
- Tầng vận chuyển - giao vận
- Tầng ứng dụng
Mỗi tầng lại có chức năng giải quyết một tập hợp các dữ liệu xảy ra trong quá trình truyền tải và đóng vai trò xử lí các dữ liệu phức tạp từ tầng trên , hay hiểu đơn giản hơn là các giao thức tầng dưới xử lý dữ liệu phức tạp thành những dạng đơn giản mà mạng vật lý có thể truyền đi được . [ Tầng trên cùng là tầng ứng dụng , đây là tầng nhận nhiều thông tin phức tạp nhất do là nơi trực tiếp và gần nhất với người dùng , do đó cần các tầng dưới xử lí để dễ dàng hóa các dữ liệu trước khi nó được gửi đi thông qua tầng liên kết ]
Theo Wikipedia thì sau đây là một số giao thức thường được sử dụng bên trong các tầng của một giao thức TCP/IP :
- Tầng liên kết : Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, Frame Relay, SMDS, …
- Tầng mạng : IP (IPv4, IPv6)
- ARP (Address Resolution Protocol| - tạm dịch là Giao thức phân giải địa chỉ) và RARP (Reverse Address Resolution Protocol - tạm dịch là Giao thức tìm địa chỉ ngược lại) hoạt động ở bên dưới IP nhưng ở trên tầng liên kết (link layer), vậy có thể nói là nó nằm ở khoảng trung gian giữa hai tầng.
- Tầng giao chuyển : TCP, UDP, DCCP, SCTP, IL, RUDP, …
- Các giao thức định tuyến như OSPF (tuyến ngắn nhất được chọn đầu tiên), chạy trên IP, cũng có thể được coi là một phần của tầng giao vận, hoặc tầng mạng. ICMP (Internet control message protocol| - tạm dịch là Giao thức điều khiển thông điệp Internet) và IGMP (Internet group management protocol - tạm dịch là Giao thức quản lý nhóm Internet) chạy trên IP, có thể được coi là một phần của tầng mạng.
- Tầng ứng dụng : DNS, TFTP, TLS/SSL, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, TELNET, ECHO, BitTorrent, RTP, PNRP, rlogin, ENRP, …
- Các giao thức định tuyến như BGP và RIP, vì một số lý do, chạy trên TCP và UDP - theo thứ tự từng cặp: BGP dùng TCP, RIP dùng UDP - còn có thể được coi là một phần của tầng ứng dụng hoặc tầng mạng.
Những tầng trên , càng lên càng gần với người sử dụng hơn , ngược lại, ở các tầng dưới càng xuống , càng gần với thiết bị mạng hơn và mỗi tầng có một giao thức để phục vụ tầng trên nó [ Tức xử lí dữ liệu ] ngoại trừ tầng cao nhất và thấp nhất .
Các tầng này làm việc theo cách : Hoặc là cung cấp hoặc là sử dụng dịch vụ , cách làm này giúp cô lập các giao thức của tầng trên , tránh việc các tầng quan tâm đến bản chất của nhau , mỗi tầng làm việc theo nguyên tắc , việc ai người đó là , không ai quan tâm ai . Việc này cho phép những tầng trên cung cấp những dịch vụ mà các tầng dưới không thể làm được, hoặc cố ý không làm. Chẳng hạn IP được thiết kế với độ đáng tin cậy thấp, và được gọi là giao thức phân phát với khả năng tốt nhất (thay vì với "độ tin cậy cao" hoặc "đảm bảo nhất"). Điều đó có nghĩa là tất cả các tầng giao vận đều phải lựa chọn, hoặc là cung cấp dịch vụ đáng tin cậy, hoặc là không, và ở mức độ nào. UDP đảm bảo sự toàn vẹn của dữ liệu (bằng cách dùng kiểm tra tổng (checksum)), song không đảm bảo sự phân phát dữ liệu tới đích; TCP cung cấp cả hai, sự toàn vẹn của dữ liệu, và đảm bảo sự phân phát dữ liệu tới đích (bằng cách truyền tải lại gói dữ liệu, cho đến khi nơi nhận nhận được gói dữ liệu).
Mô hình này còn thiếu sót một cái gì đó.
- Trong liên kết đa điểm, với hệ thống điền địa chỉ riêng của mình (ví dụ như Ethernet), một giao thức để đối chiếu địa chỉ (address mapping protocol) là một cái cần phải có. Những giao thức như vậy được coi là ở dưới tầng IP, song lại ở trên hệ thống liên kết hiện có.
- ICMP và IGMP hoạt động bên trên IP song không truyền tải dữ liệu như UDP hoặc TCP.
- Thư viện SSL/TLS hoạt động trên tầng giao vận (sử dụng TCP) song ở dưới các giao thức trình ứng dụng.
- Ở đây, tuyến liên kết được coi như là một cái hộp kín. Nếu chúng ta chỉ bàn về IP thì việc này hoàn toàn có thể chấp nhận được (vì bản chất của IP là nó có thể truyền tải trên bất cứ cái gì), song nó chẳng giúp được gì mấy, khi chúng ta cân nhắc đến mạng truyền thông như một tổng thể.
Tóm lại TCP/IP là :
- Là giao thức hướng kết nối (connection-oriented) nghĩa là khi muốn truyền dữ liệu thì phải thiết lập kết nối trước.
- Hỗ trợ cơ chế full-duplex ( truyền và nhận dữ liệu cùng một lúc)
- Cung cấp cơ chế đánh số gói tin (sequencing): để ráp các gói tin cho đúng ở điểm nhận
- Cung cấp cơ chế báo nhận (Acknowledgement) :Khi A gửi dữ liệu cho B, B nhận được thì gửi gói tin cho A xác nhận là đã nhận. Nếu không nhận được tin xác nhận thì A sẽ gửi cho đến khi B báo nhận thì thôi.
- Phuc hồi dữ liệu bị mất trên đường truyền ( A gửi B mà không thấy xác nhận sẽ gửi lại) .
OK ! KẾT THÚC PHẦN 1 . TRONG PHẦN TIẾP THEO TA SẼ TÌM HIỂU CHỨC NĂNG CỦA CÁC TẦNG VÀ CẤU TRÚC MỘT GÓI TIN TCP/IP
[ " Trong cuộc sống, giai đoạn khó khăn nhất không phải là không ai hiểu bạn, mà là… bạn không hiểu chính mình. " ]


