01/10/2018, 09:26

Hỏi đáp về mô hình osi

Mình đang tìm hiểu về network, mình thấy mô hình OSI hơi mơ hồ tý, có 7 tầng nhưng không biết ngoài đời thật những tầng đó tương ứng với những gì? Các tiền bối cho mình xin ít hiểu biết về OSI được ko?

Trần Hoàn viết 11:35 ngày 01/10/2018

Ờ, thì mô hình OSI (tiêu chuẩn lý thuyết) gồm 7 tầng, thì nó tương đương với mô hình TCP/IP (sử dụng trong thực tế) gồm 4 tầng trong hệ thống mạng hiện nay.
Nói thật là mình học qua môn này mà vẫn không hình dung rõ được 2 mô hình này nó thế nào, chỉ hình dung được một cách mơ hồ như sau:

  1. Tầng 1: gồm dây dẫn, cáp mạng, hub, repeater và những thứ “vô tri vô giác”.
  2. Tầng 2: gồm bridge, switch, access point (những thứ tốn điện và dùng để phân chia luồng tín hiệu đến đúng các cổng)
  3. Tầng 3: gồm L3 switch (bọn mà có thể config để tạo VLAN), router, modem (những thứ giúp định hướng đường truyền trên mạng)
  4. Tầng 4: (Hình như) do Network Interface của thiết bị mạng xử lý, tuỳ theo yêu cầu của các tầng trên mà nó tạo ra các gói tin TCP (chính xác) hoặc UDP (nhanh) để thể hiện cách truyền tin giữa 2 máy.
  5. Tầng 5, 6: 2 tầng này thuộc quản lý của application, mỗi app sẽ có cách xử lý khác nhau, và có thể không đầy đủ hoặc không có trong các liên kết thực tế.
  6. Tầng 7: Đây là những gì người sử dụng nhìn thấy và tương tác (ví dụ windows, trình duyệt…)

http://www.hocmangcoban.com/2014/04/mo-hinh-osi-va-tcpip.html

Tuan Anh Le viết 11:36 ngày 01/10/2018

Cám ơn bạn, đọc bài viết trên mạng với wiki thấy mơ hồ quá.

Tâm Ninja viết 11:36 ngày 01/10/2018

Mô hình OSI là một standard chung được đưa ra nhằm phân chia một ứng dụng mạng thành các module nhỏ. Chủ yếu chuẩn này dùng để mô tả cách để chia nhỏ một ứng dụng mạng như thế nào, các thành phần giao tiếp với nhau ra sao, dữ liệu được mô hình hóa thế nào…

Tùy vào các protocol (giao thức) hay các triển khai cụ thể mà cách vận dụng OSI khác nhau. Tuy nhiên nhờ có một chuẩn chung như vậy mà khi tập trung phát triến ứng dụng lõi của một tầng thì vẫn có thể giao tiếp tốt với những ứng dụng khác viết trên các tầng khác nếu tôn trọng theo chuẩn. Về cơ bản thì không có một triển khai cụ thể hay giao thức cụ thể nào có đủ cả 7 tầng này cả. Ví dụ như TCP/IP thì chỉ có 5 tầng bằng cách gộp tầng ứng dụng, tầng trình diễn và tầng phiên vào cùng một cái với nhau và thứ tự các tầng cũng có đôi chút khác biệt (Một trong những sai lầm của người học là cố định các tầng này với nhau. Đây chỉ là cách chia vì dữ liệu có thể chạy vòng vèo giữa các tấng. Ngoài ra mấy bức tranh mô tả vẽ hai mô hình OSI rồi giao tiếp với nhau cũng gây ngộ nhận sai).

Để nhớ thì bảy tầng OSI có thể nhớ như sau:“Anh phải sống tới ngày động phòng” “Application Presenter Session Transport Network Data link Physic” “Ứng dụng Trình diễn Phiên Giao vận Mạng Dữ liệu kết nối Vật lý”

Về ví dự dễ hiểu thì bài toán thông dụng nhất thường dùng cho mô tả là bài toán người đưa thư và ví dụ về email. Vì việc mỗi triển khai email lại khác nhau nên đây chỉ là mô tả ví dụ chung chung.

Ví dụ cho tầng đầu tiên là tầng ứng dụng. Tầng này là tầng làm việc trực tiếp với người dùng. Người viết ứng dụng Gmail sẽ dùng tầng này. Sẽ viết ra trình soạn thảo mail, hộp thư, thông báo… Các tính năng của ứng dụng thì không nằm trong việc làm việc mạng. Tuy nhiên việc gửi nhận tin nhắn lại nằm trong phạm vi của tầng này. Tầng này sẽ triển khai các giao thức HTTP, FTP… Khi có một message được gửi đến thì xử lý ra sao, phản hồi lại thế nào sẽ do tầng này quyết định. Trong việc gửi thư, thì đây là người thủ thư.

Tầng trình diễn là một tầng khá khó hiểu và dễ nhầm lẫn với tầng Data link nếu chỉ hiểu mơ hồ. Tầng này quyết định giao thức chung trong việc định nghĩa dữ liệu. Ví dụ như là các định dạng dữ liệu dạng UTF-8 hay UTF-16 hay chuẩn codec của video hay các chuẩn của dữ liệu. Tầng này có nhiệm vụ là làm cho tầng ứng dụng chỉ quan tâm tới các message mà không cần quan tâm tới việc giải mã chúng. Ví dụ mail của bạn sẽ toàn các kí tự ô vuông khi viết mail bằng tiếng Nhật và gửi cho những người đang sử dụng phần mềm không có tầng trình diễn. Ví dụ về việc gửi thư thì đây chính là các nhà mật mã học. Tầng này không làm thay đổi dữ liệu hay làm việc với dữ liệu. Nó chỉ giải mã chúng. Tránh nhầm lẫn với tầng Data link.

Tầng tiếp theo là tầng phiên. Tầng này sẽ quyết định phiên làm việc. Cụ thể là trong một khoảng thời gian thì ứng dụng của bạn chỉ giao tiếp với một tập giới hạn các ứng dụng cho trước. Một phiên được tính từ lúc bắt đầu thực hiện kết nối cho đến lúc kết thúc kết nối. Phiên quy định xem mình có muốn giao tiếp với thiết bị đối diện không, các giao thức của thiết bị đối diện có làm hại gì đến các tầng khác hay không, quản lý những gì đang diễn ra trong phiên làm việc, ghi log, ngăn chặn kết nối thứ ba khi đang có phiên tồn tại. Nói chung là tầng này sẽ đảm bảo đúng người đúng việc đúng nhiệm vụ trong một phiên giao tiếp. Về việc gửi thư thì đây sẽ là ông bảo vệ.

Có thể thấy là trong ba tầng trên, để phân tách nó ra được thì sẽ rất khó để một tầng không cần biết đến tầng kia nên TCP/IP thì gộp chúng lại. Còn OSI là chuẩn nên nó phải rõ ràng.

Tầng kế đến là giao vận. Đừng nghĩ tầng này là ông chuyển thư vì ông chuyển thư là tầng vật lý rồi. Tầng này là tầng theo dõi việc vận chuyển. Ví dụ gửi thư thì hơi khó nhưng hãy ví dụ cho việc gọi taxi. Đây chính là mấy em xinh gái phòng call center sẽ ngồi điều phối các xe taxi và lâu lại hỏi có anh nào rảnh không blad blad. Tầng này có thể xuất hiện ở các nhà cung cấp dịch vụ như IPS hoặc chính nằm trong ứng dụng trong việc hỏi các DNS center xem địa chỉ IP tương ứng với Domain như thế nào. Tầng này cũng có thể nằm trong các NAT device như Hub hay Switch thậm trí là modem để phổ cập cho mấy thiết bị này nguồn tri thức về NAT table. Tầng này chính là mấy em ngồi ở phòng tổng đài hướng dẫn địa chỉ cho các anh chuyển phát thư.

Tầng mạng là tầng chịu trách nhiệm định nghĩa ra các phương thức đánh dấu nhà cửa. Đây là công việc của các bác chuyên đi thiết kế lại đường xá làm bên đô thị. Mấy bác này cũng làm việc in hãy vẽ bản đồ.

Vì đến giờ ăn rồi nên viết nhanh chút.
Tầng data sẽ phụ trách vận chuyển dữ liệu, đảm bảo dữ liệu truyền đi là hợp lệ, có các phương thức checksum để xác định toàn vẹn dữ liệu. Đây chính là nhân viên chuyển phát.

Cuối cùng là các anh vật lý. Các anh này không phải là đi kéo dây mạng hay bấm đầu mạng. Viết nên driver, định nghĩa các chuẩn kết nối, là trung gian giao tiếp giữa phần cứng và phần mềm. Admin của diễn đàn đang làm cái này.

End game đi ăn… =))

Tuan Anh Le viết 11:34 ngày 01/10/2018

Ví dụ hay quá, bác phần tích thêm về cách 2 máy tính giao tiếp với nhau được ko?
Kiểu như gửi 1 tin nhắn từ A qua B thì tin nhắn sẽ được xử lý như nào trong máy A rồi ra dây mạng lang thang đâu để đó tới máy B ấy?

Tâm Ninja viết 11:37 ngày 01/10/2018

Cái này sẽ thành Off-topic rồi. Hãy đọc lại nội quy và update một câu hỏi mới. Để viết về cái bên trên sẽ cần thời gian chắc phải hai tuần nữa.

Bài liên quan
0