CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Tổng quan mạng Internet [1] Internet là hệ thống mạng máy tính toàn cầu sử dụng bộ giao thức TCP/IP để kết nối các mạng và các thiết bị. Nó là một mạng lưới bao gồm mạng tư nhân, công cộng, học thuật, doanh nghiệp và chính phủ trên phạm vi địa phương đến toàn cầu, được liên kết bởi các đường truyền theo các công nghệ truyền dẫn khác nhau, có thể là có dây, không dây và quang học. Internet cung cấp một loạt các tài nguyên và dịch vụ thông tin, chẳng hạn như các tài liệu siêu văn bản được liên kết với nhau và các ứng dụng của World Wide Web (WWW), thư điện tử, điện thoại, chia sẻ tệp và đặc biệt các ứng dụng mạng xã hội đang rất phát triển hiện nay.
Hầu hết các phương tiện truyền thông truyền thống, bao gồm điện thoại, phát thanh, truyền hình, thư giấy và báo chí được định hình lại, xác định lại hoặc thậm chí bị loại bỏ. Qua Internet, nhiều dịch vụ mới như email, VoIP, truyền hình Internet, hội thảo video từ xa trên Internet, âm nhạc trực tuyến, báo kỹ thuật số và các trang web truyền phát video đã xuất hiện và trở nên phổ biến. Báo, sách và xuất bản in khác đang thích ứng với công nghệ trang web hoặc được định hình lại thành blog, web feed và tổng hợp tin tức trực tuyến. Internet đã cho phép và tăng tốc các hình thức tương tác cá nhân mới thông qua tin nhắn tức thời, diễn đàn Internet và mạng xã hội.
Mua sắm trực tuyến đã tăng theo cấp số nhân cho cả các nhà bán lẻ lớn và các doanh nghiệp nhỏ và doanh nhân, vì nó cho phép các công ty mở rộng sự hiện diện sản phẩm của họ để phục vụ thị trường lớn hơn hoặc thậm chí bán hàng hóa và dịch vụ hoàn toàn trực tuyến. Các dịch vụ từ doanh nghiệp đến doanh nghiệp và tài chính trên Internet ảnh hưởng đến chuỗi cung ứng trên toàn bộ các ngành công nghiệp. Bộ giao thức Internet TCP/IP [2] Bộ giao thức Internet là mô hình khái niệm và tập hợp các giao thức truyền thông được sử dụng trong Internet và các mạng máy tính tương tự. Nó thường được gọi là TCP/IP vì các giao thức nền tảng trong bộ này là giao thức điều khiển truyền (TCP) và giao thức Internet (IP).
Bộ giao thức Internet cung cấp các quy tắc về việc truyền dữ liệu end-to-end, cách dữ liệu sẽ được đóng gói, định địa chỉ, truyền, định tuyến và nhận. Chức năng này được tổ 14 chức thành bốn lớp trừu tượng, phân loại tất cả các giao thức liên quan theo phạm vi mạng. Các tầng gia thức và chức năng của chúng so với mô hình OSI được thể hiện trong Hình 1-1. TCP/IP Model OSI Model 7 Application Application 6 Presentation 5 Session Transport 4 Transport Network 3 Network 2 Data Link Network Access Layer 1 Physical Hình 1-1: Mô hình TCP/IP và OSI Truyền thông giữa các thực thể giao thức trong mạng TCP/IP được miêu tả theo Hình 1-2.
Gói tin khi được gửi từ lớp ứng dụng xuống các lớp phía dưới sẽ được đóng gói thêm các thành phần dữ liệu mà tầng giao thức quản lý, được gọi là header, việc đóng gói và xử lý gói tin qua các chồng giao thức TCP/IP được thể hiện trong Hình 1-3. 15 Hình 1-2: Truyền thông giữa các thực thể giao thức trong mạng TCP/IP Hình 1-3: Việc đóng gói gói tin của các tầng giao thức TCP/IP Lớp truy cập mạng (Network Access Layer) Lớp này tương ứng với sự kết hợp của Lớp liên kết dữ liệu và Lớp vật lý của mô hình OSI. Nó tìm kiếm địa chỉ phần cứng và các giao thức có trong lớp này cho phép truyền dữ liệu vật lý. 16 Các giao thức của lớp liên kết hoạt động trong phạm vi kết nối mạng cục bộ mà máy chủ được gắn vào.
Chế độ này được gọi là liên kết dữ liệu (data link) và là lớp thành phần thấp nhất của bộ giao thức. Liên kết bao gồm tất cả các máy chủ có thể truy cập được mà không cần qua bộ định tuyến. Do đó, kích thước của liên kết được xác định bởi thiết kế phần cứng mạng. Về nguyên tắc, TCP/IP được thiết kế để độc lập với phần cứng và có thể được thực hiện trên hầu hết mọi công nghệ lớp liên kết.
Điều này không chỉ bao gồm triển khai phần cứng mà còn bao gồm các lớp liên kết ảo như mạng riêng ảo và đường hầm mạng. Lớp truy cập mạng được sử dụng để di chuyển các gói giữa các giao diện lớp MAC (Ethernet) của hai máy chủ khác nhau trên cùng một liên kết. Quá trình truyền và nhận các gói tin trên liên kết có thể được điều khiển trong trình điều khiển thiết bị cho card mạng, cũng như trong phần mềm tương tác trực tiếp với phần cứng (firmware) hoặc bởi các chipset chuyên dụng. Các chức năng này bao gồm: Đóng khung tin (frame), để chuẩn bị các gói tin ở lớp Ethernet để truyền, và cuối cùng là truyền các khung đến lớp vật lý và qua một phương tiện truyền dẫn.
Mô hình TCP/IP bao gồm các thông số kỹ thuật để dịch các phương pháp đánh địa chỉ mạng được sử dụng trong bộ giao thức Internet sang các địa chỉ lớp liên kết, chẳng hạn như địa chỉ lớp điều khiển truy cập phương tiện truyền (MAC). Tuy nhiên, tất cả các khía cạnh khác bên dưới mức đó đều được giả định là tồn tại và không được xác định rõ ràng trong mô hình TCP/IP. Lớp Network hay còn gọi là lớp Internet Kết nối Internet yêu cầu gửi dữ liệu từ mạng nguồn đến mạng đích. Quá trình này được gọi là định tuyến và được hỗ trợ bởi địa chỉ máy chủ và nhận dạng bằng cách sử dụng hệ thống địa chỉ IP phân cấp.
Lớp Internet cung cấp một phương tiện truyền dữ liệu không đáng tin cậy giữa các máy chủ đặt trên các mạng IP có khả năng khác nhau bằng cách chuyển tiếp các gói dữ liệu tới một bộ định tuyến next-hop thích hợp để chuyển tiếp tới đích của nó. Lớp Internet có trách nhiệm gửi các gói qua nhiều mạng tiềm năng. Với chức năng này, lớp Internet có thể kết nối Internet các mạng IP khác nhau và về cơ bản nó thiết lập Internet. Lớp Internet không phân biệt giữa các giao thức lớp giao vận khác nhau.
IP mang dữ liệu cho nhiều loại giao thức lớp trên khác nhau, ví dụ: Giao thức thông báo điều khiển 17 Internet (ICMP) và Giao thức quản lý nhóm Internet (IGMP) lần lượt có giá trị với trường giao thức ở lớp Internet tương ứng là 1 và 2. Giao thức Internet là thành phần chính của lớp Internet và nó xác định hai địa chỉ IP để xác định các máy chủ mạng và định vị chúng trên mạng. Lớp giao vận (Transport Layer) Lớp giao vận thiết lập các kênh dữ liệu cơ bản mà các ứng dụng sử dụng để trao đổi dữ liệu theo nhiệm vụ cụ thể. Lớp này thiết lập kết nối từ máy chủ đến máy chủ dưới dạng các dịch vụ truyền thông điệp đầu cuối độc lập với mạng bên dưới và không phụ thuộc vào cấu trúc dữ liệu người dùng và logic nghiệp vụ trao đổi thông tin.
Kết nối ở lớp giao vận có thể được phân loại là hướng kết nối, được thực hiện trong TCP hoặc không kết nối, được thực hiện trong UDP. Các giao thức trong lớp này có thể cung cấp khả năng kiểm soát lỗi, phân đoạn (segmentation), kiểm soát luồng, kiểm soát tắc nghẽn và định địa chỉ ứng dụng (theo số cổng). Với mục đích cung cấp các kênh truyền dẫn theo quy trình cụ thể cho các ứng dụng, lớp này thiết lập khái niệm về cổng mạng. Đây là một cấu trúc logic được đánh số và được phân bổ cụ thể cho từng kênh giao tiếp mà ứng dụng cần.
Đối với nhiều loại dịch vụ, số cổng này đã được tiêu chuẩn hóa để các máy khách có thể xử lý các dịch vụ cụ thể của máy chủ mà không cần đến các dịch vụ thư mục hoặc dịch vụ khám phá liên quan. Vì IP chỉ cung cấp dịch vụ phân phối gói tin với nỗ lực tốt nhất (Best-Effort), nên một số giao thức lớp giao vận được bổ sung một số cơ chế để cung cấp dịch vụ giao vận tin cậy. TCP là một giao thức hướng kết nối giải quyết nhiều vấn đề về độ tin cậy trong việc cung cấp luồng byte đáng tin cậy: Dữ liệu được gửi/nhận theo thứ tự; Dữ liệu được đảm bảo tính đúng đắn; Dữ liệu trùng lặp bị loại bỏ; Các gói bị mất hoặc bị loại bỏ được gửi lại; Điều khiển lưu lượng và tắc nghẽn. 18 Giao thức truyền điều khiển luồng (SCTP) mới hơn cũng là một cơ chế truyền tải hướng kết nối đáng tin cậy.
Nó được định hướng theo luồng thông điệp, không phải theo luồng byte như TCP và cung cấp nhiều luồng được ghép kênh trên một kết nối duy nhất. Nó cũng cung cấp hỗ trợ thực hiện multihoming, trong đó một đầu kết nối có thể được biểu diễn bằng nhiều địa chỉ IP (đại diện cho nhiều giao diện vật lý), sao cho nếu một trong những đường đó bị lỗi, kết nối không bị gián đoạn. Độ tin cậy cũng có thể đạt được bằng cách sử dụng giao thức liên kết dữ liệu đáng tin cậy như điều khiển liên kết dữ liệu mức cao (HDLC). Giao thức UDP (User Datagram Protocol) là một giao thức phi kết nối, giống như IP, nó là một giao thức không đáng tin cậy.
UDP thường được sử dụng cho các ứng dụng đa phương tiện, truyền trực tuyến (âm thanh, video, thoại qua IP, v.), trong đó việc truyền gói tin đến đúng giờ quan trọng hơn độ tin cậy hoặc cho các ứng dụng kiểu truy vấn/phản hồi đơn giản như tra cứu DNS, trong đó chi phí thiết lập kết nối đáng tin cậy có độ lớn không tương xứng. Giao thức giao vận thời gian thực (RTP) là một giao thức ứng dụng sử dụng giao thức UDP và được thiết kế cho dữ liệu thời gian thực như phương tiện truyền trực tuyến. Các ứng dụng tại bất kỳ địa chỉ mạng nhất định nào được phân biệt bằng cổng TCP hoặc UDP của chúng. Theo quy ước, một số cổng thường dùng được dành sẵn cho các ứng dụng cụ thể.
Lớp ứng dụng (Application layer) Lớp ứng dụng bao gồm các giao thức được hầu hết các ứng dụng sử dụng để cung cấp dịch vụ người dùng hoặc trao đổi dữ liệu ứng dụng qua các kết nối mạng được thiết lập bởi các giao thức cấp thấp hơn. Chúng có thể bao gồm một số dịch vụ hỗ trợ mạng cơ bản như các giao thức để định tuyến và cấu hình máy chủ.