Có một số hiểu lầm hoặc hiểu lầm tiềm ẩn trong câu hỏi sẽ được giải quyết trong bài viết này.
Trong Sơ đồ 2, nó hiển thị phần "chồng" phần mềm mà máy tính (PC) sẽ sử dụng để tạo, xử lý và gửi tin nhắn, qua internet, đến một máy tính khác
Có phải tất cả các loại máy tính - điện thoại thông minh / tv / gameconsoles, vv đều sử dụng định dạng này ?
(Về vấn đề này) có sự khác biệt nào giữa Internet di động và Wifi / Ethernet không?
Điều gì về các thiết bị chức năng đơn lẻ dường như không có lớp "Ứng dụng" - ví dụ: camera được kết nối web, đèn chiếu sáng hoặc bộ điều nhiệt.
Sự hiện diện của những quan niệm sai lầm này đòi hỏi phải bao gồm một lời giải thích sau đây (để cung cấp bối cảnh cho các cuộc thảo luận tiếp theo):
- Internet là gì
- Bộ giao thức TCP / IP là gì
- Ứng dụng là gì
Sau đó, các câu hỏi sẽ được giải quyết trực tiếp.
Lưu ý rằng do tầm quan trọng và độ phức tạp của chúng, toàn bộ loạt sách đã được viết trên bộ giao thức TCP / IP. Các định nghĩa và giải thích ở đây sẽ được rút ra chủ yếu từ Wikipedia, TCP / IP Illustrated Tập 1 Ấn bản thứ hai: Các giao thức của Stevens và Fall, và Hướng dẫn kỹ thuật và hướng dẫn TCP / IP của IBM .
1. Internet
Internet về mặt kỹ thuật là Mạng diện rộng (WAN) , nhưng một cách hữu ích hơn để nghĩ về nó như là một loại siêu mạng (một mạng lưới) hoặc tổng hợp của nhiều hoạt động mạng liên kết khác nhau . Dưới đây là hình ảnh về các đường dẫn định tuyến thông qua một phần của Internet:
- Internet bao gồm nhiều mạng được kết nối
- Một mạng có thể bao gồm 1 hoặc nhiều hệ thống ( máy chủ )
- Một hệ thống được kết nối thường chạy trên một số loại nền tảng phần cứng
- có sự khác biệt đáng kể trong các loại hệ thống được kết nối với mạng và phần cứng mà chúng chạy trên
Một cách đọc thú vị về cách Internet hoạt động có thể được tìm thấy trong bài viết của Arstechnica Cách thức Internet hoạt động: Sợi tàu ngầm, não trong lọ và cáp đồng trục .
Vậy làm thế nào các hệ thống khác nhau chạy trên các nền tảng phần cứng khác nhau được kết nối với các mạng khác nhau có thể giao tiếp với nhau? Làm thế nào có thể giao tiếp giữa một hệ thống và mạng lưới rộng lớn, không đồng nhất như vậy? Làm thế nào tất cả những điều này có thể diễn ra đồng thời?
2. Bộ giao thức Internet
Câu trả lời được cung cấp bởi bộ giao thức Internet, còn gọi là bộ giao thức TCP / IP. Những câu hỏi này đã được xem xét trong quá trình thiết kế kiến trúc của Internet (TCP / IP Illustrated, Phần 1.1: Nguyên tắc kiến trúc):
Một số mục tiêu hướng dẫn việc tạo ra kiến trúc Internet. Trong [C88], Clark kể lại rằng mục tiêu chính là để “phát triển một kỹ thuật hiệu quả cho việc sử dụng ghép các mạng kết nối với nhau đang tồn tại.” Bản chất của tuyên bố này là kiến trúc Internet sẽ có thể kết nối nhiều mạng khác nhau và đó là nhiều hoạt động nên có thể chạy đồng thời trên mạng kết nối .
Từ Bộ giao thức Internet (Wikipedia):
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 trên Internet và các mạng máy tính tương tự.
Bộ giao thức Internet cung cấp giao tiếp dữ liệu đầu cuối xác định cách dữ liệu nên được đóng gói, giải quyết, truyền, định tuyến và nhận . Chức năng này được tổ chức thành bốn lớp trừu tượng được sử dụng để sắp xếp tất cả các giao thức liên quan theo phạm vi kết nối mạng.
Một cách để nghĩ về bộ giao thức TCP / IP là một đặc điểm kỹ thuật cho cách các tiến trình chạy trên các hệ thống khác nhau và các mạng khác nhau có thể giao tiếp với nhau. Về bản chất, bộ giao thức TCP / IP cung cấp một tiêu chuẩn cho giao tiếp giữa các quá trình.
Bất kỳ hệ thống nào thực hiện chính xác bộ giao thức TCP / IP đều có thể sử dụng chức năng mà nó cung cấp để cho phép các quy trình của nó giao tiếp qua Internet. Trong thực tế, để các quy trình giao tiếp qua Internet với các quy trình khác chạy trên các hệ thống từ xa trên các mạng khác, một hệ thống phải sử dụng các giao thức bộ TCP / IP tuân thủ tiêu chuẩn.
3. Ứng dụng
Từ phần mềm ứng dụng (Wikipedia):
Một chương trình ứng dụng (viết tắt là ứng dụng hoặc ứng dụng) là một chương trình máy tính được thiết kế để thực hiện một nhóm các chức năng, nhiệm vụ hoặc hoạt động phối hợp vì lợi ích của người dùng. Ví dụ về một ứng dụng bao gồm trình xử lý văn bản, bảng tính, ứng dụng kế toán, trình duyệt web, trình phát phương tiện, trình mô phỏng bay trên không, trò chơi điều khiển hoặc trình chỉnh sửa ảnh. Phần mềm ứng dụng danh từ tập thể đề cập đến tất cả các ứng dụng chung. Điều này trái ngược với phần mềm hệ thống, chủ yếu liên quan đến việc chạy máy tính.
Một ứng dụng có thể được coi là một quá trình không gian người dùng đang chạy trên một hệ thống. Ngoài các ví dụ được liệt kê ở trên, điều này có thể bao gồm các chương trình như virus máy tính (chế độ không phải kernel), máy chủ web, ứng dụng máy ảnh và chương trình tổng hợp dữ liệu cảm biến.
Khi một ứng dụng truyền và nhận dữ liệu qua Internet, nó phải sử dụng triển khai bộ giao thức TCP / IP của hệ thống máy chủ. Từ lớp Ứng dụng (Wikipedia):
Trong TCP / IP, lớp ứng dụng chứa các giao thức truyền thông và phương thức giao diện được sử dụng trong giao tiếp quá trình xử lý qua mạng máy tính Giao thức Internet (IP). Tầng ứng dụng chỉ chuẩn hóa giao tiếp và phụ thuộc vào các giao thức của tầng vận chuyển bên dưới để thiết lập các kênh truyền dữ liệu từ máy chủ đến máy chủ và quản lý việc trao đổi dữ liệu trong mô hình mạng máy khách hoặc máy ngang hàng.
Lớp ứng dụng của bộ giao thức TCP / IP bao gồm các giao thức như Giao thức truyền tệp (FTP), Hệ thống tên miền (DNS) và có lẽ nổi tiếng nhất là Giao thức truyền siêu văn bản (HTTP).
Ví dụ, giao thức lớp ứng dụng HTTP chỉ định cách truyền dữ liệu giữa 2 quy trình chạy trên (thường) các hệ thống khác nhau: ứng dụng khách, trình duyệt web và ứng dụng máy chủ, quy trình máy chủ web.
Làm rõ những quan niệm sai lầm tiềm năng
Trong Sơ đồ 2, nó hiển thị phần "chồng" phần mềm mà máy tính (PC) sẽ sử dụng để tạo, xử lý và gửi tin nhắn, qua internet, đến một máy tính khác.
Bộ giao thức TCP / IP không phải là một chồng phần mềm. Từ Technopedia :
Ngăn xếp phần mềm là một nhóm các chương trình hoạt động song song để tạo ra kết quả hoặc đạt được mục tiêu chung. Ngăn xếp phần mềm cũng đề cập đến bất kỳ nhóm ứng dụng nào hoạt động theo thứ tự cụ thể và được xác định hướng tới một mục tiêu chung hoặc bất kỳ nhóm tiện ích hoặc ứng dụng thông thường nào hoạt động như một bộ. Các tệp có thể cài đặt, định nghĩa phần mềm của sản phẩm và bản vá có thể được bao gồm trong ngăn xếp phần mềm. Một trong những ngăn xếp phần mềm dựa trên Linux phổ biến là LAMP (Linux, Apache, MYSQL, Perl hoặc PHP hoặc Python) .WINS (Windows Server, Internet Explorer, .NET, SQL Server) là một ngăn xếp phần mềm dựa trên Windows phổ biến.
Thay vào đó, nó là một ngăn xếp giao thức, thường được thực hiện bởi kernel (cũng từ Technopedia ):
Một ngăn xếp giao thức đề cập đến một nhóm các giao thức đang chạy đồng thời được sử dụng để thực hiện bộ giao thức mạng.
Các giao thức trong ngăn xếp xác định các quy tắc kết nối cho mô hình mạng lớp, chẳng hạn như trong các mô hình OSI hoặc TCP / IP. Để trở thành một ngăn xếp, các giao thức phải có khả năng tương tác để có thể kết nối cả hai chiều dọc giữa các lớp của mạng và theo chiều ngang giữa các điểm cuối của mỗi phân đoạn truyền.
Có phải tất cả các loại máy tính - điện thoại thông minh / tv / gameconsoles, vv đều sử dụng định dạng này ?
Bộ giao thức TCP / IP là một đặc tả truyền thông độc lập với phần cứng và hệ điều hành, không phải là một định dạng . Nếu một quy trình chạy trên một nền tảng phần cứng cần giao tiếp với một quy trình chạy trên hệ thống từ xa trên nền tảng phần cứng khác và giao tiếp diễn ra qua Internet, thì các hệ thống phải
- thực hiện đúng bộ giao thức TCP / IP và
- các giao thức thích hợp trong bộ này phải được sử dụng để thực hiện giao tiếp giữa các quá trình
(Về vấn đề này) có sự khác biệt nào giữa Internet di động và Wifi / Ethernet không?
Giải thích của tôi về câu hỏi này là "Có sự khác biệt trong cách thiết bị di động kết nối với mạng GSM và cách thiết bị di động kết nối với mạng WiFi không?"
Sự khác biệt là ở lớp giao diện mạng.
Câu hỏi này cho thấy sự mô tả kém của bộ giao thức TCP / IP trong sơ đồ trong bài viết được liên kết đến trong câu hỏi. Để tham khảo, đây là sơ đồ:
Các lớp thấp nhất, được gọi là "phần cứng", nên được gọi là lớp liên kết , lớp điều khiển truy cập phương tiện truyền thông (MAC) hoặc các lớp giao diện mạng .
Từ "Tổng quan về kỹ thuật và hướng dẫn TCP / IP" của IBM trang 34:
Lớp giao diện mạng, còn được gọi là lớp liên kết hoặc lớp liên kết dữ liệu, là giao diện cho phần cứng mạng thực tế. Giao diện này có thể hoặc không thể cung cấp phân phối đáng tin cậy và có thể là gói hoặc hướng theo luồng. Trên thực tế, TCP / IP không chỉ định bất kỳ giao thức nào ở đây, nhưng có thể sử dụng hầu hết mọi giao diện mạng có sẵn, điều này minh họa cho tính linh hoạt của lớp IP. Ví dụ như IEEE 802.2, X.25 (bản thân nó đáng tin cậy), ATM, FDDI và thậm chí SNA.
Dưới đây là mô tả chính xác và vượt trội (từ Hướng dẫn TCP / IP ):
Lý do thảo luận về lớp giao diện mạng có liên quan là vì ở lớp này có sự khác biệt trong cách thiết bị di động / di động kết nối với mạng GSM so với mạng WiFi.
khi kết nối với mạng GSM, giao thức lớp giao diện mạng được sử dụng để xử lý kết nối giữa thiết bị di động và trạm thu phát cơ sở (BTS) thường được chỉ định bởi 3G
khi kết nối với điểm truy cập không dây WiFi (WAP), giao thức được sử dụng được chỉ định bởi tiêu chuẩn IEEE 802.11 .
Điều gì về các thiết bị đơn chức năng dường như không có lớp "Ứng dụng" - ví dụ: camera được kết nối web, công tắc đèn hoặc bộ điều nhiệt
Như được mô tả trước đó, các giao thức trong lớp ứng dụng của bộ giao thức TCP / IP cung cấp một tiêu chuẩn cho cách dữ liệu ứng dụng được trao đổi giữa các quy trình.
Các lớp là khái niệm. Họ không cư trú trong một hệ thống hoặc trên nền tảng phần cứng.
Máy ảnh được kết nối web, công tắc đèn và bộ điều nhiệt có thể có các quy trình chạy trên chúng giao tiếp qua Internet với các quy trình chạy trên hệ thống từ xa (kiểm tra cập nhật chương trình cơ sở, trao đổi dữ liệu với máy chủ, v.v.). Các quy trình hoặc ứng dụng này sẽ sử dụng việc triển khai bộ giao thức TCP / IP để thực hiện giao tiếp giữa các quá trình này.
Bộ giao thức TCP / IP và Hệ thống nhúng ("IoT")
Mặc dù có nhiều ứng dụng khác nhau sử dụng các giao thức tầng ứng dụng khác nhau chạy trên PC hoặc máy chủ truyền thống, nhưng không có nhiều sự khác biệt về cách các nền tảng phần cứng kết nối với các điểm truy cập tương ứng (lớp giao diện mạng / lớp liên kết dữ liệu). Nó chủ yếu được thực hiện có dây hoặc không dây thông qua Ethernet.
Tình hình hơi khác khi nói đến sự đa dạng của các hệ thống nhúng giao tiếp qua TCP / IP. Dưới đây là một minh họa về điều này (từ Postscapes ):
Để biết thêm thông tin, xem các bài viết sau:
Hiểu các giao thức đằng sau Internet của vạn vật
Các tiêu chuẩn và giao thức IoT
Sách hướng dẫn công nghệ IoT