Làm thế nào để một gói IP biết cổng nào sẽ mất?


11

Giả sử hai cổng tồn tại trên cùng một mạng. Nếu tôi hiểu chính xác, bảng định tuyến IP trên máy tính của người gửi sẽ quyết định gói nào được định tuyến qua cổng nào.

Bảng định tuyến IP chứa địa chỉ IP của cổng.

Địa chỉ IP này của cổng được sử dụng như thế nào khi gửi các gói IP?


1
Gói không "biết", bộ định tuyến quyết định cổng nào được gửi đến, qua bất kỳ liên kết nào tồn tại giữa bộ định tuyến và cổng được chọn. (Như câu trả lời đã chỉ ra, ethernet là lớp 2 nổi tiếng và phổ biến cho lưu lượng IP.)
Peter Cordes

Câu trả lời:


13

TL; DR: trong khung Ethernet chứa gói TCP / IP đó

Máy chủ-> chuyển đổi-> lưu lượng bộ định tuyến, cũng như máy chủ-> chuyển đổi-> lưu lượng máy chủ, là nơi địa chỉ IP không thực sự đóng bất kỳ phần có ý nghĩa. Đó là thế giới của giao thức cơ bản, rất có thể là Ethernet. Vì vậy, đó là một thế giới chạy trên địa chỉ MAC.

Vì vậy, bạn chỉ cần giải quyết sự nhầm lẫn rằng một cổng mặc định là một địa chỉ IP. Đó là, loại ... khi khởi động ... nhưng tham số IP gateway đó chỉ cần thực hiện một điều, đó là hỏi: ai có 192.168.1.1 quanh đây? Câu trả lời là cổng vào là MAC 88: 99: aa: bb: cc: dd: ee: ff. (Đó là truy vấn / phản hồi ARP, trình dịch giữa hai thế giới.) Gói đi đến MAC đó ở cấp Ethernet, mặc dù thực tế là nó có thể giữ một đích khác ở cấp IP.

Vì vậy, gói được đánh dấu để đi đến một cổng được chọn bằng cách mã hóa nó trong trường "MAC đích" của khung ethernet. Trường xác định cổng nào trên mạng đó sẽ nhận được nó, nếu có nhiều cổng. ("Khung" là một viên nang nằm bên dưới chứa gói hoặc một phần của gói.)


2
Tôi sẽ đi xa hơn và nói rằng đó là câu trả lời duy nhất ở đây thực sự trả lời câu hỏi.
Peter Green

3
Ngoài ra, nó không chỉ là một cổng mặc định áp dụng cho nó, nó áp dụng cho địa chỉ "bước nhảy tiếp theo" cho bất kỳ mục nào trong bảng định tuyến.
Peter Green

2
Tất nhiên, có các giao thức lớp 1/2 khác so với ethernet được sử dụng. Các giao thức LAN LAN có địa chỉ MAC, nhưng các giao thức khác sử dụng một cái gì đó hoặc không có gì khác.
Ron Maupin

6

Tiêu đề IP datagram chỉ chứa thông tin địa chỉ của nguồn và đích. Dựa trên đích đến, bộ định tuyến sẽ biết nơi chuyển tiếp gói tiếp theo và thông tin này được lưu trữ trong bảng định tuyến.

Có thể có thông tin tuyến tĩnh cho địa chỉ hoặc mạng con của nó và cổng mặc định được sử dụng cho phần còn lại. Đây thường là trường hợp trên mạng cục bộ: có thể có định tuyến tĩnh đến các mạng cục bộ khác và cổng mặc định cho phần còn lại, tức là Internet. Trong trường hợp một số cổng mặc định tức là các tuyến đến 0.0.0.0hoặc ::, cổng hoạt động được chọn theo giá trị Số liệu hoặc Ưu tiên của nó .

Mọi thứ trở nên phức tạp hơn khi có một số tuyến giữa các điểm đến, vì có giữa các ISP trên cấp độ Internet. Có một số phương pháp để chia sẻ thông tin giữa các bộ định tuyến: Giao thức thông tin định tuyến (RIP), Mở đường dẫn ngắn nhất đầu tiên (OSPF) và Giao thức cổng biên (BGP). Bất kể thông tin này được chia sẻ như thế nào, bảng định tuyến biết bước nhảy tiếp theo và gói IP chỉ biết về đích cuối cùng của nó.


1
Cũng đáng đề cập đến định tuyến dựa trên chính sách trong đó các bảng định tuyến khác nhau có thể được chọn dựa trên các tiêu chí khác nhau như ip nguồn hoặc dấu tường lửa.
Bratchley

Đừng quên giải thích rằng trận đấu tiền tố dài nhất được ưu tiên hơn mọi thứ khác khi có hai trận đấu có thể xảy ra.
Ron Maupin

Câu hỏi không phải là về cách bộ định tuyến chuyển tiếp gói, mà là cách người gửi gửi nó đến đúng bộ định tuyến ở vị trí đầu tiên.
Barmar 27/03/18

@Barmar: Phiên bản gốc của câu hỏi này có thể đã được diễn giải theo hai cách và điều này đã trả lời cho cách khác. Quá trình chọn bộ định tuyến dựa trên bảng định tuyến là giống nhau trên máy gốc. Do đó, tôi vẫn thấy câu trả lời này hữu ích trong khi lớp kia giảm xuống một lớp. Họ bổ sung cho nhau.
Esa Jokinen

Tôi chỉ kiểm tra lịch sử chỉnh sửa. Tôi không thấy sự khác biệt có liên quan trong phiên bản gốc. Câu hỏi là làm thế nào gói đến bộ định tuyến được xác định từ bảng định tuyến.
Barmar 27/03/18

2

Một khả năng là mạng được cấu hình với giao thức dự phòng hop đầu tiên (FRHP), chẳng hạn như VRRP hoặc HSRP. FHRP có một địa chỉ cổng ảo mà máy chủ sử dụng và lưu lượng được gửi đến địa chỉ ảo được chọn bởi một trong các bộ định tuyến vật lý, sau đó chuyển tiếp lưu lượng. Nếu bộ định tuyến chính bị lỗi, bộ định tuyến thứ cấp có thể xác định điều đó và tiếp quản các gói.


Trong mọi trường hợp, các gói không xác định đường dẫn chúng đi. Mỗi gói được chuyển tiếp riêng lẻ và độc lập với bất kỳ gói nào khác, dựa trên thông tin trong bảng định tuyến của bộ định tuyến và các gói đến cùng một đích từ cùng một nguồn có thể có các đường dẫn khác nhau nếu bảng định tuyến thay đổi.

Bộ định tuyến tìm hiểu các tuyến đường theo ba cách:

  1. Mạng kết nối trực tiếp
  2. Các tuyến được cấu hình tĩnh
  3. Thông qua một giao thức định tuyến động

2

Câu trả lời ngắn gọn và đơn giản: Nó không được mã hóa trong gói hoặc đó là địa chỉ đích Ethernet tùy thuộc vào cách bạn nhìn vào nó. Ngăn xếp IP / Ethernet xem cổng nào xử lý địa chỉ IP đích, gửi yêu cầu ARP cho địa chỉ IP cổng để lấy địa chỉ MAC của nó, sau đó nó gửi gói tin đến địa chỉ MAC của cổng. Cổng sau đó chuyển tiếp gói và thực hiện lại điều tương tự. Điều này giả định một mạng Ethernet.

Tôi nghĩ rằng tôi đã trả lời những gì bạn đang hỏi. Tôi đã từng tự hỏi điều tương tự. Câu hỏi của bạn cũng có thể được hiểu là làm thế nào một máy chủ, được đưa ra một bảng định tuyến cụ thể, quyết định cổng nào để gửi một gói gửi đi.


0

Tất nhiên, một chi tiết được xem xét là liệu tuyến đường có khớp hay không. Nếu tôi đang gửi tới 192.0.2.55/24 và một tuyến có sẵn cho lưu lượng truy cập đến 10.55.0.0/16 thì tuyến đó sẽ bị bỏ qua vì không áp dụng.

Các tiêu chí tiếp theo thường được xem xét là có các tuyến cụ thể hơn được ưu tiên hơn các tuyến chung hơn. Theo lộ trình "cụ thể", ý tôi là các mạng con nhỏ hơn. Nói cách khác, số lượng lớn hơn khi sử dụng ký hiệu / CIDR và ​​mặt nạ mạng con lớn hơn khi sử dụng ký hiệu "mặt nạ mạng con". Nói cách khác, các mạng đích có ít địa chỉ hơn.

Vì vậy, một "cổng mặc định", còn được gọi là "cổng cuối cùng", thường chỉ định đích cho tất cả lưu lượng truy cập vào mạng 0.0.0.0/0. Bất kỳ tuyến đường nào cho một mạng nhỏ hơn sẽ "cụ thể" hơn thế và sẽ được ưu tiên. Vì vậy, 192.0.2.0/24 sẽ được ưu tiên hơn.

Thứ ba, các tuyến đường thường có một trường khác gọi là "số liệu" hoặc đôi khi là một tên khác như "mức độ ưu tiên". Nếu bạn có nhiều mạng có cùng kích thước, điều này có thể có tác động.

Các giá trị "số liệu" này có thể là thứ được tạo tự động (ví dụ: theo cách đó, mạng tốc độ cao hơn được sử dụng cho nhiều lưu lượng hơn), nhưng có thể được điều chỉnh thủ công.

Đâu là thông tin về cổng được mã hóa bên trong các gói IP được gửi?

Các gói IP không bao gồm bất kỳ thông tin nào về định tuyến, ngoại trừ chỉ định địa chỉ IP đích. Chi tiết định tuyến được xác định bởi thiết bị xử lý định tuyến trên đường đi và các chi tiết đó thường không được đặt trong gói IP. (Do đó, thiết bị không tìm kiếm chi tiết như vậy, vì nó không có ở đó. Vì thiết bị không tìm kiếm thông tin như vậy, sẽ rất vô nghĩa khi cố gắng đưa thông tin đó vào.)

RFC 791 trang 11 hiển thị bảng kiểu "ASCII ART" về thông tin có trong gói IP. Sau bảng đó, tài liệu đó hiển thị chi tiết (ví dụ: phần "Tùy chọn" được mô tả ở trang 15).

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.