tl; dr Nhiều thiết bị khác nhau có thể gặp nhiều cấp độ OSI. Bất kỳ điểm cuối nào đang yêu cầu một cái gì đó từ giao thức lớp 7 (như HTTP), sẽ sử dụng tất cả 7 lớp trước khi đặt nó lên dây. Các nút trung gian, như bộ định tuyến và bộ chuyển mạch chỉ có thể sử dụng tối đa 3 lớp đầu tiên, tường lửa hoặc bộ tăng tốc WAN có thể ảnh hưởng đến lớp 4, bộ cân bằng tải cũng làm những điều thú vị.
Nếu bạn quan tâm đến câu trả lời chi tiết hơn, hãy xem bên dưới - Tôi đã thử (?) Để giữ cho nó khá đơn giản và sử dụng một ví dụ trong thế giới thực.
Để tham khảo:
Mô hình OSI
Nguồn: Hướng dẫn TCP / IP
Những lớp nào đóng gói dữ liệu phụ thuộc vào những gì tạo ra dữ liệu. Nói chung, việc đóng gói sẽ chỉ xảy ra đối với những gì có liên quan đến vị trí hiện tại của dữ liệu trong mạng (trên bộ định tuyến, trên máy chủ, v.v.)
Ý tôi là, nếu tôi là một bộ định tuyến, tôi không quan tâm rằng có một yêu cầu HTTP được chôn trong gói này nếu tất cả những gì tôi đang cố gắng là định tuyến lưu lượng truy cập qua Lớp 3 - Tôi sẽ chỉ loại bỏ đủ các tiêu đề để có được những gì tôi cần, làm công việc của tôi và chuyển sang gói tiếp theo.
Tất cả chúng ta đều sử dụng internet hàng ngày theo một cách nào đó, vì vậy đây là một yêu cầu HTTP điển hình sẽ như thế nào, đưa mô hình OSI vào tài khoản. Để đơn giản, chúng tôi có thể giả sử mạng có sẵn và không có vấn đề gì.
- Tôi nhập " http://google.com " vào trình duyệt và nhấn enter.
- [Lớp 7] PC / Máy chủ của bạn sẽ tạo một yêu cầu HTTP GET để gửi tới máy chủ web được chỉ định của bạn, trong trường hợp này chúng tôi đang nói về google.com. Vì vậy, nếu bạn nhìn ở trên, chúng tôi có yêu cầu GET, được coi là "dữ liệu". HTTP là giao thức lớp 7, chúng tôi sẽ thêm tiêu đề đó. Bởi vì không có gì khác để làm ở lớp này, hãy chuyển nó xuống lớp 6.
- [Lớp 6] Chúng ta có thể nghĩ lớp 6 là cách định dạng dữ liệu, đối với một trang web sẽ không có gì thực sự xảy ra ở đây, nhưng quản trị viên / nhà phát triển / kỹ sư có thể làm gì đó với điều này nếu họ chọn. PC / Server của chúng tôi vẫn sẽ thêm một tiêu đề ở trên cùng của tiêu đề lớp 7 (HTTP) và gửi nó xuống lớp 5.
- [Lớp 5] Tại thời điểm này vì PC / Server của chúng tôi biết chúng tôi đang cố gắng liên hệ với máy chủ web, chúng tôi cần thực hiện yêu cầu này theo định dạng mà toàn bộ ứng dụng có thể hiểu được, vì điều này chúng tôi sử dụng Giao diện chương trình ứng dụng (API) . Đây là những gì quản lý phiên ứng dụng , vì vậy máy chủ web sẽ biết "luồng" dữ liệu là một phần của. Hãy thêm tiêu đề lớp 5 của chúng tôi và chuyển nó xuống Lớp 4.
- [Lớp 4] Các kỹ sư mạng quan tâm đến tất cả dữ liệu, nhưng đây là lúc nó bắt đầu trở nên rất cụ thể đối với chúng tôi. Lớp 4 là lớp vận chuyển của chúng tôi, đây là nơi chúng tôi quyết định cách dữ liệu của chúng tôi đến đó, không phải đường dẫn, mà là cách thức - tức là TCP hoặc UDP. Trong trường hợp này, PC / Server của chúng tôi cần thiết lập kết nối với máy chủ web. Tôi sẽ bỏ qua một số điều cho đơn giản, nhưng đây là nơi bắt tay 3 bước TCP điển hình của bạn sẽ xảy ra. Chúng tôi gói gọn những gì chúng tôi hiện có trong một tiêu đề TCP, phần này chứa những thứ như số cổng nguồn và số đích, số thứ tự và số xác nhận và thông tin cửa sổ TCP.
- [Lớp 3]Đây là lớp khác mà chúng tôi là các kỹ sư thực sự quan tâm, lớp mạng. Đây là nơi các gói được gửi đến đích của chúng, chúng ta cần địa chỉ IP để đến các địa điểm trên mạng. PC / Server của chúng tôi sẽ thêm địa chỉ IP nguồn và đích của nó. Không chỉ các gói sẽ đến đúng đích, mà điểm cuối đó sẽ sử dụng địa chỉ IP nguồn của chúng tôi để gửi lại cho chúng tôi khi cần gửi dữ liệu cho chúng tôi dưới bất kỳ hình thức nào. Bây giờ, một điều cần lưu ý ở đây là ngay cả PC / Máy chủ cũng có thể có nhiều giao diện, vì vậy chúng tôi cần gửi dữ liệu đến đúng nơi. PC / Server của chúng tôi sẽ có một bảng định tuyến giống như các bộ định tuyến, thông thường nếu máy chủ của bạn thuộc loại nào đó, các gói của bạn sẽ được chuyển đến cổng mặc định của bạn với hy vọng rằng nó sẽ biết cách đưa gói đến đích. Cho phép thêm tiêu đề IP đó và chuyển nó vào lớp liên kết dữ liệu.
- [Lớp 2] Thẻ giao diện mạng PC / Server (NIC) của chúng tôi, không biết cách tự nói IP, do đó, nó sử dụng địa chỉ điều khiển truy cập phương tiện (MAC) để di chuyển dữ liệu đó. PC / Server của bạn sẽ có các mục ARP cho mỗi IP mà nó có thể tiếp cận, vì vậy trong trường hợp này, nó sẽ có một mục cho cổng mặc định của bạn. Địa chỉ IP cổng của bạn, sẽ tương quan với một địa chỉ MAC đích. Vì vậy, hãy thêm tiêu đề L2 của chúng tôi vào địa chỉ MAC đích, tiêu đề này cũng chứa địa chỉ MAC của PC / Server NIC của chúng tôi làm nguồn. Bây giờ chúng ta có mọi thứ chúng ta cần để đưa dữ liệu đó lên dây dưới dạng bit.
- [Lớp 1] Như bạn đã đề cập trong câu hỏi của mình, đây là nơi dữ liệu chảy qua dây, đó là nơi chúng ta thấy các số 1 và 0 thô. Bây giờ không có tiêu đề Lớp 1 mỗi se, nếu bạn nhìn vào sơ đồ trên lớp 2, bạn sẽ thấy điều đó. Dữ liệu cho đến nay có tất cả các tiêu đề từ L7 xuống L2, sẽ được chuyển đổi thành 1 và 0.
- Bây giờ chúng tôi có các bit trên dây, trên đường đến bộ định tuyến cổng của bạn. Cho đến thời điểm này, PC / Server của bạn đã thực hiện TẤT CẢ công việc đóng gói dữ liệu được ràng buộc cho máy chủ web của google.com.
- [Lớp 1] Bây giờ bộ định tuyến cổng của bạn nhận được 1 và 0. NIC (giao diện) trên bộ định tuyến lấy dữ liệu đó và về cơ bản nói rằng "Tôi không biết làm thế nào để đọc cái này!" và đưa nó lên lớp 2 để nó có thể đọc dữ liệu.
- [Lớp 2] Bộ định tuyến cổng hiện kiểm tra khung L2, thông báo "không sao bạn đến từ MAC này, gọn gàng. Tôi thấy MAC đích của bạn được đặt thành địa chỉ MAC của tôi, vì vậy tôi được phép tiếp tục thực hiện công việc. hủy đóng gói tiêu đề L2 để có thể xem tiêu đề IP (lớp 3).
- [Lớp 3] Bộ định tuyến cổng của bạn sẽ xem xét địa chỉ IP nguồn và đích bây giờ. Nó nói "Được rồi, bạn đến từ nguồn này, tuyệt vời. Điểm đến của bạn là địa chỉ IP này. Hmm Tôi không sở hữu địa chỉ IP này, nhưng tôi biết ai làm thế." Nó sẽ tra cứu một tuyến đường cho địa chỉ IP đích (google.com) trong bảng định tuyến và sử dụng mục nhập đó.
- Sau khi tất cả điều này, quá trình chung lặp lại. Nó sẽ kiểm tra giao diện nào cần để gửi gói, sử dụng địa chỉ MAC của giao diện đó, biến nó thành bit và gửi nó. Các bộ định tuyến tiếp theo sẽ làm điều tương tự, và như vậy. Nói chung, các gói này sẽ chỉ bị tước xuống lớp 7 khi đến đích cuối cùng. Như tôi đã đề cập trước đó, các bộ định tuyến chỉ quan tâm đến việc đưa các gói đến đích, vì vậy nó sẽ chỉ quan tâm đến Lớp 3, vì vậy nó sẽ không có lý do để xem xét bất cứ điều gì khác ngoài những gì nó cần để có được để thông tin đó. Vì vậy, nó sẽ thấy thông tin L1 / L2 / L3, nhưng không có gì khác.
- Cuối cùng, dữ liệu hy vọng sẽ đến được máy chủ web đích và tại thời điểm đó, dữ liệu sẽ có các lớp bên ngoài được chuyển xuống tiêu đề HTTP để máy chủ web đọc và làm bất cứ điều gì cần thiết để xử lý yêu cầu đó.
LƯU Ý: Thật công bằng khi đề cập rằng những thứ khác có thể can thiệp vào hành vi điển hình (tường lửa, NAT / PAT, ACL, v.v.) Nhưng tốt nhất là bạn nên hiểu rõ về tất cả các đóng gói và khử đóng gói để hiểu Làm thế nào những người ảnh hưởng đến mạng và lưu lượng.