Có phải tất cả mọi thứ được kết nối Internet đều sử dụng cùng một Ứng dụng nhóm - TCP - IP - Phần cứng xếp chồng để liên lạc?


15

Tôi không đặc biệt am hiểu về internet và các công nghệ IoT đặc biệt khó hiểu đối với tôi. Tôi đang đọc này Stanford giấy trắng trên cấu trúc internet. 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?

  • Hệ điều hành có vấn đề?

  • (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ị đơ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.



3
Sẽ tốt hơn nhiều nếu chỉ hỏi một câu hỏi cho mỗi câu hỏi - tuy nhiên điều đó thật khó đối với những câu hỏi rất cơ bản này. Nếu bạn có câu hỏi tiếp theo, hãy chắc chắn thử và làm cho chúng cụ thể hơn.
Sean Houlihane

Tất cả các thiết bị có một lớp ứng dụng. Lớp ứng dụng cho một lightwitch được kết nối web là phần mềm bật và tắt đèn khi nhận được lệnh.
user253751

@immibis điều này sẽ nghe có vẻ khủng khiếp, nhưng các lớp ngăn xếp giao thức không phải là thuộc tính mà một thiết bị có thể sở hữu. 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 giữa các quá trình trên mạng máy tính IP. Một thiết bị có thể lưu trữ một hệ thống và hệ thống đó có thể đang thực thi các ứng dụng, nhưng một thiết bị không có lớp ứng dụng. TCP / IP chính nó là một mô hình khái niệm.
julian

@SYS_V Khi tôi nói "thiết bị có lớp ứng dụng" Ý tôi là "thiết bị có một số thành phần phần mềm thực hiện những gì TCP / IP mô tả là lớp ứng dụng"
user253751

Câu trả lời:


26

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:

Trực quan đường dẫn

  • 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.

Bộ giao thức TCP / IP

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.

Phần mềm ứng dụng

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

  1. 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.


  1. 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

  1. (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ơ đồ:

Sơ đồ TCP / IP shitty

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 ):

Sơ đồ cao cấp của ngăn xếp 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 .


  1. Đ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 ):

IoT và TCP / IP 1

IoT và TCP / IP 2

Để 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


Ở cấp độ chi tiết này, phía netadmin của tôi rất buồn vì không có từ nào về TCP / IP có nghĩa là TCP trên IP, TCP hoàn toàn không bị ràng buộc với IP, nó cũng đã được triển khai trên các mạng IPX (ngay cả khi sigle là gần, chúng là 2 giao thức rất khác nhau)
Tensibai

1
@Tensibai Sẽ không TCP trên IPX giống như SPX (tức là phiên bản vận chuyển dựa trên cổng và đáng tin cậy)? - Nhưng điều đó nhắc nhở tôi rằng tuyên bố rằng hai máy chủ muốn liên lạc qua internet (nghĩa là trên các mạng khác nhau) phải thực hiện TCP / IP không hoàn toàn đúng: Máy chủ A trên mạng 1 và máy chủ B trên mạng 3 có thể nói ví dụ: IPX / SPX ngay cả khi mạng kết nối 2 là TCP / IP thuần túy, miễn là có các cổng đường hầm trong mạng 1 và 3 ...
Hagen von Eitzen

2
@hagen không, SPX tương đương với TCP, nhưng hoàn toàn không thể kết nối với hệ thống TCP, do đó tại sao TCP qua IPX đã được phát triển, để cho phép kết thúc giao tiếp TCP cho các hệ thống trên IP và IPX với bộ định tuyến lớp 3 đơn giản ở giữa . Và vâng, internet dựa vào IP, MPLS và các giao thức định tuyến là chủ yếu (tôi có thể quên một số), TCP không chơi gì trong định tuyến tổng thể, nó chỉ lưu hành trên đó.
Tensibai

@Tensibai Nếu tôi có lỗi hoặc sai sót, vui lòng cho tôi biết và tôi sẽ cố gắng hết sức để sửa lỗi
julian

@SYS_V không thực sự là một lỗi, một số phím tắt làm phiền tôi một chút. hãy nói rằng nó ổn trong quan điểm giao tiếp TCP :) Có tất cả thông tin cần thiết cho ai đó sẵn sàng đào vấn đề. Tôi cảm thấy bạn hơi thô lỗ đối với OP trong đoạn đầu tiên của mình, tôi sẽ cố gắng đề xuất một chỉnh sửa vào ngày mai (từ máy tính) để giải quyết các mối quan tâm của tôi :)
Tensibai

12

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?

Đối với một cái gì đó để trao đổi trên internet, nó sẽ phải đi qua một ngăn xếp IP ở đâu đó.

Hệ điều hành có vấn đề?

Giao thức IP được xác định bởi RFC 791 , do đó, OS / Firmware phải tuân thủ nó, bất kể đó là gì.

(Về vấn đề này) có sự khác biệt nào giữa Internet di động và Wifi / Ethernet không?

Đơn giản hóa một chút, sự khác biệt ở đây sẽ nằm ở tín hiệu vô tuyến lớp 1 (Vật lý) so với tín hiệu điện trên dây dẫn. Thêm chi tiết về trang wikipedia mô hình kết nối hệ thống mở (mô hình OSI) .

Tất cả đều phục vụ để hoán chuyển lớp 3 (Mạng), IP trong trường hợp ở đây, trên các phương tiện cụ thể của họ.

Đ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.

Lớp ứng dụng liên quan đến một giao thức giao tiếp cụ thể (HTTP, SSH, v.v.), ví dụ, nó không phải là một ứng dụng như Chrome hoặc Firefox.
Thông thường, các giao thức đó sẽ được triển khai trên TCP , một số giao thức nằm trên UDP khi muốn không chờ đợi xác nhận hoặc khi nhận được gói tin lỗi thời (cuộc gọi thoại, phát trực tuyến). Có các giao thức lớp 4 khác nhưng thường dành cho các cách sử dụng cụ thể, như ICMP cho ping. TCP là giao thức được lựa chọn khi bạn muốn đảm bảo một số dữ liệu được gửi đến đích.

Đối với một 'thiết bị từ xa', như ví dụ về bộ điều nhiệt trong ví dụ của bạn, nó có thể sử dụng các giao thức đã có sẵn như HTTP hoặc sử dụng một giao thức độc quyền để gửi dữ liệu của nó, thông thường vẫn sẽ ở lớp Ứng dụng vì nó sẽ không chỉ là phương tiện vận chuyển giao thức.
Nó chỉ có thể được thực hiện ở lớp 4, nhưng điều đó cần tạo ra một giao thức mới và chi phí chung thường không có giá trị và làm cho hệ thống không tương thích với các hệ thống khác, sử dụng các tiêu chuẩn mở là một cách tiếp cận tốt hơn theo quan điểm khiêm tốn của tôi.


3
Có lẽ đáng để làm rõ rằng TCP-IP là một thứ 'phải có' khá phổ biến trong bất kỳ HĐH nào (từ mbed / arduino cho đến MC Windows và Linux).
Sean Houlihane

Thật vậy, âm thanh ngụ ý cho tôi về các giao thức cấp cao hơn mà tôi quên nó.
Tensibai

câu trả lời 1 và câu trả lời 2 là câu trả lời không và câu trả lời 3 được giải thích bằng Mô hình tham chiếu OSI thay vì bộ giao thức TCP / IP. Không có câu trả lời nào trong bài đăng này giải quyết các lỗi khái niệm được đưa ra trong câu hỏi.
julian

2
@Sys_v Tôi không có ý định viết một Novell :)
Tensibai

5

Mặc dù sự thật là bất kỳ thiết bị kết nối internet nào cũng sẽ sử dụng TCP / IP (hoặc UDP) để liên lạc, nhưng đây thực sự là cấp độ tiếp theo trong ngăn xếp nơi mọi thứ trở nên thú vị.

Bất kỳ thiết bị IoT hiện đại nào cũng sẽ sử dụng TLS để cung cấp mã hóa và xác thực. Điều này ngăn cản (về lý thuyết) bất kỳ ai khác quan sát hoặc can thiệp vào các thông điệp đang được truyền đi. Một xem xét quan trọng của ngăn xếp TCP / IP là phần lớn thông tin được truyền có thể được quan sát một cách tầm thường - và điều này thường dẫn đến rất dễ xảy ra lỗi bảo mật.

Các thiết bị không cần kết nối với internet 'tại nguồn', do đó không cần thiết phải triển khai TCP qua bluetooth (làm ví dụ). Bạn cũng có thể xem các thiết bị IoT sử dụng giao thức điện thoại di động (như SMS hoặc văn bản thông thường) là bước nhảy cuối cùng của chúng. Cuối cùng, các giao thức này (được chọn theo một cách nào đó cho môi trường được cài đặt) có khả năng được kết nối với 'internet' bởi một thiết bị trung tâm.


Về tiền đề của đoạn thứ hai, tôi sợ rằng chúng ta có thể bắt gặp ngay cả các thiết bị được thiết kế muộn hơn ngày hôm nay và vẫn bỏ qua tiền điện tử
Hagen von Eitzen

1
Ý nghĩa hiện đại được thiết kế bằng cách sử dụng thực tiễn tốt nhất ngày nay, không chỉ là bất cứ điều gì dễ dàng.
Sean Houlihane

4

Tất cả các thiết bị muốn sử dụng TCP qua IP cần có ngăn xếp TCP / IP.

Giao thức được chuẩn hóa, để các thiết bị từ các nhà sản xuất khác nhau hoặc sử dụng các hệ điều hành khác nhau có thể hiểu nhau.

Lưu ý rằng TCP đảm bảo rằng các gói dữ liệu đến hoặc người gửi sẽ được thông báo về sự mất mát của chúng. TCP sẽ được sử dụng khi bạn không đủ khả năng để mất bất kỳ dữ liệu nào mà không biết về nó (ví dụ: liên lạc với ngân hàng của bạn).

Ngoài ra còn có UDP, gửi các gói và "hy vọng rằng chúng sẽ đến đó". Điều này có thể được sử dụng, ví dụ, để truyền phát nhạc hoặc video, trong đó việc mất một vài khung hình không gây tử vong.

Phần quan trọng là tiêu chuẩn hóa.


2

Bản thân stack là một khái niệm ảo. Mỗi lớp trong ngăn xếp sửa đổi các bit cuối cùng được gửi qua môi trường vật lý (sóng radio hoặc tín hiệu điện tử khác). Không có quy tắc nào nói rằng mỗi lớp trong ngăn xếp phải được thiết kế trong một đơn vị mã hoặc phần cứng riêng biệt. Ví dụ, Chips iEthernet kết hợp các lớp TCP, IP, MAC và PHY, khiến các nhà phát triển có nhiệm vụ triển khai TLS và phần mềm lớp Ứng dụng.

Điều đó nói rằng, tất cả các bit phải tuân thủ các giao thức khác nhau có liên quan và vì lý do này, thường dễ dàng hơn để thiết kế mỗi lớp thành một thực thể riêng biệt, do đó chúng có thể được kiểm tra và xác minh độc lập. Hầu hết các thiết bị, bao gồm điện thoại thông minh, TV thông minh và máy chơi game thường mua chip của họ từ các bên thứ ba có chuyên môn trong một số lĩnh vực. Ví dụ, hầu hết các điện thoại chỉ sử dụng một trong một vài chip bluetooth khác nhau; điều này có nghĩa là nhà sản xuất không phải lo lắng về việc phát minh lại bánh xe với mỗi sản phẩm mới.

Về lý thuyết, một số thiết bị nhỏ, chuyên dụng có thể chỉ có một bộ xử lý với SoC (Phần mềm trên Chip) nhúng, xử lý tất cả các lớp của mạng (ứng dụng, TLS, TCP, IP, PHY) dưới dạng một đơn vị mã riêng lẻ. Tôi không thể tìm thấy bất kỳ ví dụ cụ thể nào ngay bây giờ, nhưng sẽ không làm tôi ngạc nhiên nếu một số thiết bị chức năng nhỏ, năng lượng thấp hoặc chuyên dụng kết hợp tất cả các lớp của ngăn xếp thành một đơn vị để giảm mức tiêu thụ điện năng (kéo dài tuổi thọ pin). Các sản phẩm lớn hơn, phức tạp hơn, như TV, điện thoại và hệ thống trò chơi có thể có ít nhất 3 lớp (ứng dụng, hệ điều hành và phần cứng), trong khi máy nướng bánh mì có thể chỉ có 1 hoặc 2 lớp.


Lưu ý: Tôi không nói rằng máy nướng bánh mì cụ thể mà tôi liên kết có 1 hoặc 2 lớp, chỉ là nó sẽ hợp lý nếu được thiết kế theo cách đó, là một thiết bị đơn mục đích.


Làm thế nào để Toaster có thể không có tất cả các lớp? Bạn có thể cắm cáp mạng vào nó hoặc nó phản ứng với sóng WiFi - do đó nó thực hiện lớp PHY. In có thể giao tiếp với các thiết bị cục bộ và từ xa (như iPhone của bạn) - do đó, nó thực hiện lớp IP. Nó yêu cầu truyền dữ liệu an toàn (hình ảnh) - do đó nó triển khai TCP tốt hơn. Một số phần phải có ý nghĩa của dữ liệu được truyền, vì vậy chúng tôi chắc chắn có một lớp ứng dụng trên đầu trang. --- (Chà, có lẽ là không, thay vì kết nối mạng, họ sử dụng bluetooth ...)
Hagen von Eitzen

@HagenvonEitzen Các giao thức chỉ ra các lớp được đặt, nhưng quan điểm của tôi là một "lớp" trong "ngăn xếp" TCP / IP có thể không phải là một "lớp" riêng lẻ trong ngăn xếp "phần mềm / phần cứng". Tôi đã đưa ra một ví dụ về một chipset thực hiện tất cả bốn lớp. Về phần cứng / phần mềm, đây chỉ là một "lớp" trong "ngăn xếp" thực hiện kết nối. Sử dụng chip đó cộng với một ứng dụng thực hiện TLS của chính nó dẫn đến một ngăn xếp hai lớp; các thành phần vật lý không phù hợp với bốn lớp logic được mô tả trong OP.
phyrfox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.