Sự khác biệt trong nội dung của datagram, khung và gói mạng là gì?


8

Tôi đang xem xét đơn vị bảo mật mạng của lớp tôi đang tham gia và tôi có một câu hỏi.

Tôi biết rằng datagram là các gói ở lớp vận chuyển của mô hình OSI, trong khi các khung là tên của các gói trong lớp vận chuyển và các gói mạng nằm trong lớp mạng. Tôi cũng biết rằng mỗi tiêu đề chứa một tiêu đề có thông tin trên đầu như địa chỉ IP nguồn và đích, cũng như tải trọng dữ liệu. Nhưng tôi không thể tìm thấy bất cứ điều gì về sự khác biệt tinh vi hơn giữa nội dung của datagram, khung và gói mạng. Có bất kỳ tài nguyên hoặc sơ đồ nào bạn có thể chỉ cho tôi để tôi có thể hiểu thêm về các khái niệm này không?

Cảm ơn bạn!


Có câu trả lời nào giúp bạn không? Nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


6

Lưu ý:
thuật ngữ datagramnày được sử dụng theo nhiều cách khác nhau. Nếu chúng tôi dính vào RFC1594, một datagram là

Một thực thể độc lập, độc lập của dữ liệu mang đủ thông tin sẽ được định tuyến từ nguồn tới máy tính đích mà không phụ thuộc vào các trao đổi trước đó giữa máy tính nguồn và đích này và mạng vận chuyển.

và có thể được sử dụng để nói về bất kỳ đơn vị truyền dẫn lớp.

I E

  • a packetlà lớp datagram Internet
  • những framelà mạng lớp truy cập datagram.
  • datagram lớp vận chuyển là một segment

Quay lại câu hỏi

Từ câu trả lời này trên Stack Overflow

nhập mô tả hình ảnh ở đây

Bạn có thể thấy :

  • ứng dụng datanhận được một tiêu đề giao thức vận chuyển (nói chung là UDP hoặc TCP) và trở thành một segment.

  • Nhận segmentđược một tiêu đề IP và bây giờ là mộtpacket

  • Nhận packetđược một tiêu đề khung và chân trang khung để tạo thành mộtframe


Mọi thứ đều rất ổn và bảnh bao cho đến khi bạn biết rằng nếu bạn bước một bước nữa xuống hệ thống phân cấp lớp OSI thành Vật lý trung bình, bạn sẽ gặp packetlại (theo câu trả lời này )
z33k

3

Các thuật ngữ Frame, PacketSegmenttồn tại để tạo ra sự trừu tượng từ những gì một lớp chịu trách nhiệm cho các câu khác.

Để giải thích điều đó và để trả lời câu hỏi của bạn một cách kỹ lưỡng, tôi sẽ bắt đầu "sớm hơn" một chút so với những gì bạn đang thực sự hỏi.

Vì thế...

  • Khi Lớp 4 nhận được dữ liệu, nó sẽ thêm vào tiêu đề tạo điều kiện cho dịch vụ cung cấp dịch vụ như cổng TCP hoặc UDP (trong số những thứ khác) - toàn bộ datagram này được gọi là Phân đoạn .
  • Khi Lớp 3 nhận được dữ liệu, nó sẽ thêm vào tiêu đề tạo điều kiện phân phối từ đầu đến cuối như IP nguồn của người gửi ban đầu và IP đích của người nhận cuối cùng - toàn bộ datagram này được gọi là Gói .
  • Khi Lớp 2 nhận được dữ liệu, nó sẽ thêm vào đó một tiêu đề tạo điều kiện cho việc chuyển phát hop như địa chỉ MAC Nguồn và đích của " hop " hiện tại trong mạng - toàn bộ datagram này được gọi là Khung .

Về cơ bản là quá trình Đóng gói, được minh họa trong hoạt hình này:

nhập mô tả hình ảnh ở đây

  • Một khung sau đó, là tiêu đề L2 cộng bất cứ dữ liệu cần phải được chuyển đến bước kế tiếp:

    • Khung: [L2 HDR][110011001010101011110000...010101]
    • Bạn và tôi biết rằng bên trong khung là tiêu đề L3 và dữ liệu ứng dụng và tiêu đề L4, nhưng theo L2, mọi thứ bên trong chỉ là một chuỗi các 1s và 0s cần được chuyển đến một bước nhảy khác.
  • Một gói sau đó, là tiêu đề L3, cộng với bất cứ dữ liệu cần phải được chuyển giao cho bên kia:

    • Gói: [L3 HDR][1010101011110000...010101]
    • Bạn và tôi biết rằng bên trong khung là dữ liệu ứng dụng và tiêu đề L4, nhưng theo như L3 có liên quan, mọi thứ bên trong chỉ là một chuỗi các 1s và 0s cần phải là điểm cuối khác
  • Sau đó, một Phân đoạn là tiêu đề L4, cộng với bất kỳ dữ liệu nào cần được gửi đến dịch vụ khác:

    • Bộ phận: [L4 HDR][11110000...010101]
    • Bạn và tôi biết rằng bên trong Phân đoạn là dữ liệu ứng dụng sẽ được xử lý bởi dịch vụ nhận

Và dữ liệu ứng dụng, tất nhiên, sẽ khác với mọi ứng dụng. HTTP cho các yêu cầu web, FTP để truyền tệp, v.v.

Thuật ngữ Datagram tự nó chỉ đơn giản là cấu trúc của một tiêu đề và bit. Và các thuật ngữ ở trên chỉ đơn giản là các tên duy nhất cho Datagram cụ thể hoạt động ở mỗi lớp.

  • Khung là Datagram ở L2
  • Gói là Datagram tại L3
  • Phân đoạn là Datagram tại L4

Có một vấn đề với câu trả lời này - giống như với @ JFL (xem nhận xét của tôi ở đó)
z33k
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.