Mô hình OSI và Mối quan hệ giao thức mạng


27

Khi hầu hết các sinh viên mạng lần đầu tiên tìm hiểu về mô hình OSI, họ dành rất nhiều thời gian để cố gắng tìm ra lớp nào của mô hình mà một giao thức cụ thể phù hợp. Chúng tôi nhận được rất nhiều câu hỏi về các lớp OSI trên diễn đàn này và chúng thường giống như:

  • Lớp OSI nào IS-IS hoạt động tại?
  • HTML là một giao thức trình bày hoặc ứng dụng?
  • Là đường hầm VPN lớp 2 hoặc 3?

Làm thế nào một sinh viên (hoặc chuyên nghiệp cho vấn đề đó) hiểu mối quan hệ giữa mô hình OSI và các giao thức mà anh ấy / cô ấy làm việc với?

Câu trả lời:


35

Có hai sự thật quan trọng về mô hình OSI cần nhớ:

  1. Đó là một mô hình khái niệm. Điều đó có nghĩa là nó mô tả một nhóm lý thuyết, trừu tượng, lý thuyết về các chức năng mạng. Nó không mô tả bất cứ điều gì mà ai đó thực sự xây dựng (ít nhất là không có gì được sử dụng ngày nay).

  2. Nó không phải là mô hình duy nhất. Có nhiều mô hình khác, đáng chú ý nhất là bộ giao thức TCP / IP (RFC-1122 và RFC-1123), gần với những gì hiện đang sử dụng.

Một chút về lịch sử: Có lẽ tất cả các bạn đã nghe về những ngày đầu của mạng gói, bao gồm ARPANET, tiền thân của Internet. Ngoài những nỗ lực của Bộ Quốc phòng Hoa Kỳ để tạo ra các giao thức mạng, một số nhóm và công ty khác cũng tham gia. Mỗi nhóm đang phát triển các giao thức riêng trong lĩnh vực chuyển mạch gói hoàn toàn mới. IBM và các công ty điện thoại đã phát triển các tiêu chuẩn riêng của họ. Ở Pháp, các nhà nghiên cứu đang thực hiện dự án mạng riêng của họ có tên là Cyclades.

Hoạt động trên mô hình OSI bắt đầu vào cuối những năm 1970, chủ yếu là phản ứng với ảnh hưởng ngày càng tăng của các công ty lớn như IBM, NCR, Burroughs, Honeywell (và các công ty khác) và các giao thức và phần cứng độc quyền của họ. Ý tưởng đằng sau nó là tạo ra một tiêu chuẩn mở sẽ cung cấp khả năng tương tác giữa các nhà sản xuất khác nhau. Nhưng vì mô hình ISO có phạm vi quốc tế, nó có nhiều lợi ích chính trị, văn hóa và kỹ thuật cạnh tranh. Phải mất hơn sáu năm để đi đến thống nhất và công bố các tiêu chuẩn.

Trong khi đó, mô hình TCP / IP cũng được phát triển. Nó đơn giản, dễ thực hiện và quan trọng nhất là nó miễn phí. Bạn đã phải mua các thông số kỹ thuật tiêu chuẩn OSI để tạo phần mềm cho nó. Tất cả sự chú ý và nỗ lực phát triển được thu hút vào TCP / IP. Kết quả là, mô hình OSI không bao giờ được triển khai như một bộ giao thức và TCP / IP trở thành tiêu chuẩn cho Internet.

Vấn đề là, tất cả các giao thức được sử dụng ngày nay, bộ TCP / IP; các giao thức định tuyến như RIP, OSPF và BGP; và lưu trữ các giao thức HĐH như Windows SMB và Unix RPC, được phát triển mà không có mô hình OSI trong tâm trí. Đôi khi chúng có một số điểm tương đồng với nó, nhưng các tiêu chuẩn OSI không bao giờ được tuân theo trong quá trình phát triển của chúng. Vì vậy, đó là một việc vặt để cố gắng phù hợp với các giao thức này vào OSI. Họ chỉ không phù hợp chính xác.

Điều đó không có nghĩa là mô hình không có giá trị; nghiên cứu nó vẫn là một ý tưởng tốt để bạn có thể hiểu các khái niệm chung. Khái niệm về các lớp OSI được kết hợp thành thuật ngữ mạng, chúng ta nói về lớp 1, 2 và 3 trong bài phát biểu mạng hàng ngày. Định nghĩa của các lớp 1, 2 và 3 là, nếu bạn nheo mắt một chút, khá đồng ý. Vì lý do đó một mình, nó đáng để biết.

Những điều quan trọng nhất để hiểu về mô hình OSI (hoặc bất kỳ mô hình nào khác) là:

  • Chúng ta có thể chia các giao thức thành các lớp
  • Các lớp cung cấp đóng gói
  • Các lớp cung cấp sự trừu tượng
  • Các lớp tách chức năng từ những người khác

Việc chia các giao thức thành các lớp cho phép chúng ta nói về các khía cạnh khác nhau của chúng một cách riêng biệt. Nó làm cho các giao thức dễ hiểu hơn và dễ khắc phục sự cố hơn. Chúng ta có thể cô lập các chức năng cụ thể một cách dễ dàng và nhóm chúng với các chức năng tương tự của các giao thức khác.

Mỗi chức năng của NỀN TẢNG (nói rộng) đóng gói (các) lớp bên trên nó. Lớp mạng đóng gói các lớp bên trên nó. Lớp liên kết dữ liệu đóng gói lớp mạng, v.v.

Các lớp trừu tượng các lớp bên dưới nó. Trình duyệt web của bạn không cần biết liệu bạn đang sử dụng TCP / IP hay thứ gì khác ở tầng mạng (như thể có thứ gì khác). Đối với trình duyệt của bạn, các lớp thấp hơn chỉ cung cấp một luồng dữ liệu. Cách luồng đó quản lý hiển thị bị ẩn khỏi trình duyệt. TCP / IP không biết (hoặc quan tâm) nếu bạn đang sử dụng Ethernet, modem cáp, đường truyền T1 hoặc vệ tinh. Nó chỉ xử lý các gói. Hãy tưởng tượng sẽ khó đến mức nào khi thiết kế một ứng dụng sẽ phải đối phó với tất cả những điều đó. Các lớp trừu tượng các lớp thấp hơn để thiết kế và vận hành phần mềm trở nên đơn giản hơn nhiều.

Decoupling: Về lý thuyết, bạn có thể thay thế một công nghệ cụ thể cho một công nghệ khác ở cùng một lớp. Miễn là lớp giao tiếp với lớp bên trên và lớp bên dưới theo cùng một cách, điều đó không quan trọng bằng cách nó được thực hiện. Ví dụ: chúng ta có thể loại bỏ giao thức lớp 3 rất nổi tiếng, IP phiên bản 4 và thay thế nó bằng IP phiên bản 6. Mọi thứ khác sẽ hoạt động giống hệt nhau. Đối với trình duyệt hoặc modem cáp của bạn, nó sẽ không có sự khác biệt.

Mô hình TCP / IP là bộ giao thức TCP / IP dựa trên (bất ngờ!). Nó chỉ có bốn lớp, và mọi thứ trên giao thông chỉ là ứng dụng của Google. Nó đơn giản hơn để hiểu và ngăn chặn những câu hỏi bất tận như lớp này là lớp phiên hay lớp trình bày này? cũng không phù hợp với nó, như các giao thức đường hầm (GRE, MPLS, IPSec để đặt tên cho một số).

Cuối cùng, các mô hình là một cách để thể hiện các ý tưởng trừu tượng vô hình như địa chỉ và gói và bit. Miễn là bạn ghi nhớ điều đó, mô hình OSI hoặc TCP / IP có thể hữu ích trong việc hiểu mạng.


1
Tôi đã luôn tự hỏi tại sao chúng ta đề cập đến mô hình OSI khi, trong thực tế, mô hình TCP / IP phù hợp với hóa đơn tốt hơn.
Ryan Foley

5
@RyanFoley, đúng trong nhiều trường hợp. Tuy nhiên, khi nói đến việc khắc phục sự cố (và đặc biệt là dạy nó), tốt hơn là nên có các lớp dữ liệu và vật lý riêng biệt để giải quyết các vấn đề ở mỗi vấn đề một cách riêng biệt. Ví dụ, thật tốt khi biết sự khác biệt trong thiết bị của Cisco giữa giao diện lên / xuống, giao diện lên / xuống và giao diện xuống / xuống.
YLearn

"Ví dụ: chúng tôi có thể xóa giao thức lớp 3 rất nổi tiếng, IP phiên bản 4 và thay thế nó bằng IP phiên bản 6. Mọi thứ khác sẽ hoạt động giống hệt nhau. Đối với trình duyệt hoặc modem cáp của bạn, nó sẽ không có gì khác biệt. " Đáng tiếc là nó không tạo sự khác biệt bởi vì trừu tượng là bị rò rỉ. Các ứng dụng và giao thức vận chuyển cần biết về địa chỉ được sử dụng bởi giao thức internet.
Peter Green

Vâng, đó là lý do tại sao mô hình chỉ là mô hình.
Ron Trunk

1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstrilities Chúng tôi xây dựng các bản tóm tắt để che giấu các chi tiết xấu xí của điều cơ bản, nhưng một số chi tiết về sự cố bên dưới bị rò rỉ và gây ra vấn đề. Một thứ bị rò rỉ ngay trên đỉnh ngăn xếp là hệ thống đánh địa chỉ.
Peter Green

2

Có một số nhầm lẫn ở đây. Chỉ vì một chức năng dường như không phù hợp với một lớp không có nghĩa là nó không. OSI rất linh hoạt và cho phép các đối tượng và lớp con nơi triển khai thực tế ánh xạ lên mô hình. Một số chức năng của một lớp cũng có thể được nhân đôi ở các lớp khác. Ngoài ra xử lý không phải xảy ra ở lớp Ứng dụng. Cuối cùng, OSI không chỉ là một mô hình, nó được một số nhà sản xuất triển khai toàn bộ. Tôi đã làm việc trong dự án DEC. Thực tiễn có nghĩa là chỉ một số phần nhất định của OSI được sử dụng ngày nay.


1

Tất cả các giao thức định tuyến IGP (Giao thức cổng bên trong) hoạt động ở lớp 3. BGP bên ngoài hoạt động ở lớp 4, trong khi các hoạt động bên trong ở lớp 3.

Lớp vật lý - Thỏa thuận với các thiết bị mạng phần cứng, ví dụ: máy tính xách tay, điện thoại di động, máy tính để bàn. Lớp 1 được biết đến là miền va chạm, PDU lớp 1 (đơn vị dữ liệu giao thức là bit).

Lớp dữ liệu / liên kết - Lớp này liên quan đến các bộ chuyển mạch lớp 2, miền quảng bá, VLans, STP, VTP. Đơn vị dữ liệu giao thức của lớp này được gọi là khung.

Lớp mạng - Đây là khi định tuyến xảy ra, hầu hết các giao thức định tuyến hoạt động ở lớp này. Đây còn được gọi là lớp IP, nơi giao tiếp với VLans. PDU cho lớp này được gọi là các gói.

Lớp vận chuyển - Lớp vận chuyển xử lý các cổng TCP và UDP, đây là nơi các gói từ lớp 3 được gửi đến cổng đích của chúng. Điều quan trọng cần nhớ là TCP là giao thức hướng kết nối trong khi UDP là giao thức hướng kết nối không kết nối (phân phối dữ liệu không đảm bảo). PDU cho lớp này là datagram.

Lớp phiên - Lớp phiên là nơi các gói được gói gọn khỏi bị giải mã từ lớp 3. Lớp này xử lý nhiều ngôn ngữ lập trình phía máy chủ nơi bạn có thể tạo các ứng dụng dựa trên phần mềm và chuyển đổi chúng thành ->

Lớp bản trình bày - Lớp này là về các mã phía máy khách bạn thấy trên trình duyệt web hoặc khi bạn nhấp chuột phải và xem nguồn, đây chủ yếu là các mã HTM / CSS / Javascript cho phép bạn xem ->

Lớp Ứng dụng - Đây là nơi GUI (Giao diện người dùng đồ họa) dịch mã HTML / CSS từ lớp 6 sang lớp này. Những gì bạn thấy trên trình duyệt web của bạn là GUI giao diện người dùng. Lớp 5,6,7 PDU được gọi là tin nhắn.

Tôi hy vọng những câu trả lời này liên quan đến tất cả các câu hỏi liên quan đến OSI.

Lớp OSI nào IS-IS hoạt động tại? - Lớp 3
HTML có phải là giao thức trình bày hoặc ứng dụng không? - Trình bày
Là đường hầm VPN lớp 2 hoặc 3? -> L2TP là lớp 2 -> Đường hầm VPN thường hoạt động ở lớp 3 như IPSEC.


1
Điều này không trả lời OP; anh ta không bao giờ hỏi mỗi lớp làm gì, anh ta hỏi ai đó nên hiểu gì về các khái niệm cơ bản.
Ryan Foley

1
Thông tin là tuyệt vời, nhưng đây là một trang web vấn đề / giải pháp. Câu trả lời của bạn rất tuyệt nếu câu hỏi là "Các lớp khác nhau của mô hình OSI là gì và mỗi lớp làm gì?" . Câu hỏi là về các nguyên tắc cơ bản ủng hộ mô hình OSI, chứ không phải mô hình OSI trực tiếp. Cái nhìn sâu sắc, nhưng câu trả lời xấu cho câu hỏi cụ thể này.
Ryan Foley

5
Chris, tôi đánh giá cao câu trả lời của bạn, và ở một mức độ lớn, bạn đã đúng. Nhưng ISIS chạy trên IP, điều đó có làm cho lớp 4 không? BGP thì sao? Nó chạy trên TCP. Có phải lớp 5 không? Quan điểm của tôi là mặc dù bạn có thể ép các giao thức vào các lớp, nhưng chúng không thực sự phù hợp. Nếu bạn nhìn vào đặc tả lớp trình bày OSI, tôi không nghĩ HTML sẽ hoàn toàn đủ điều kiện. Ngay cả OSI cũng thừa nhận rằng lớp 2 quá rộng và họ phải chia nó thành hai lớp con.
Ron Trunk

2
Mô hình OSI chỉ là một mô hình lý thuyết. Ngay cả khi giao thức định tuyến <name here> sử dụng các gói (L2 | L3), nó cũng là một phần của L7, vì nó là một ứng dụng và nó phải tính toán bảng định tuyến và có thể cùng một lớp nằm giữa. Không phải tất cả mọi thứ là đen và trắng.
mulaz

3
@Ron, ISIS không phải là giao thức IP gốc. OSPF là. (Chỉ để thêm sự nhầm lẫn. :-))
John Jensen

1

HTTP (không phải HTML) có cả lớp trình bày và ứng dụng. Đường hầm VPN thêm các lớp phủ vào ngăn xếp hiện có: có thể là Lớp 2 hoặc Lớp 3 tùy thuộc vào loại của chúng. Sau đó, bạn sẽ có thể thấy (các) lớp được thêm này hai lần trong gói.


1
Bạn chắc chắn có thể gắn nhãn những thứ mà bạn thấy phù hợp, nhưng HTTP được phát triển mà không liên quan đến mô hình OSI và nó không phù hợp với thông số kỹ thuật. Điều tương tự cũng đúng về VPN - các tiêu chuẩn OSI không bao giờ lường trước được chúng. Vì vậy, bất kỳ sự tương đồng là, như họ nói, hoàn toàn ngẫu nhiên.
Ron Trunk

0

Một trong số rất ít thứ thực sự xuất phát từ mô hình OSI là chứng chỉ X.509 và khối LDAP lớn đến từ X.500. Một điều khác là X.400 để nhắn tin, MS Exchange đã có điều này ít nhất là trong 5.5, không chắc các phiên bản sau có bao gồm nó hay không.

Vì vậy, OSI là một mô hình, trong miền mạng, nó đã thua cuộc đua với TCP / IP và tôi thực sự không hiểu tại sao điều này vẫn được dạy cho sinh viên. Cố gắng đưa những thứ như MPLS vào mô hình này không có ý nghĩa gì.

Đào sâu hơn sẽ dẫn bạn đến nỗi đau của các tổ chức lớn đang cố gắng thực thi các tiêu chuẩn, những điều khủng khiếp như ASN.1 và BER ... áp đảo mọi thứ.

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.