Làm thế nào để bộ định tuyến biết làm thế nào để định tuyến các gói đến thiết bị đầu cuối của tôi?


10

Giả sử tôi có một mạng gồm 2 máy tính, mỗi máy tính có một địa chỉ mạng riêng là 192.168.1.101 và 192.106.1.102.

Đối với địa chỉ IP công cộng của tôi, nó là 10.2.10.172.

Khi tôi thực hiện một yêu cầu http đến google.com, máy tính của tôi sẽ gửi một gói có địa chỉ IP nguồn 192.168.1.101 đến bộ định tuyến và NAT sẽ thay đổi nó thành 10.2.10.172.

Câu hỏi của tôi là, khi google.com nhận được yêu cầu và gửi trả lời trở lại 10.2.10.172, làm thế nào để bộ định tuyến biết máy tính nào sẽ định tuyến đến? (192.168.1.101 hoặc 192.168.1.102).

Lúc đầu tôi đã nghĩ về số cổng nhưng tôi nghĩ rằng chúng ta có thể duyệt trên cùng một trang web cùng một lúc nên tôi không biết nó hoạt động như thế nào ở đây.



1
Mạng 10 cũng là "không thể định tuyến nội bộ" - Tôi đang làm việc nhanh chóng trong hàng đợi tối nay, vì vậy có lẽ tôi là người hâm mộ ... có một lớp NAT khác phải xảy ra để biến số 10 mạng đó thành một định tuyến publick . Dù sao ... McKevin, chào mừng bạn đến với Net Eng! Đây là một quả bóng mềm Q cho ở đây, nhưng nó đủ về chủ đề tôi cho rằng ...
Craig Constantine

@CraigConstantine Tôi chỉ là một sinh viên CCNA, tôi đoán điều đó giải thích trên bóng mềm Q :)
Mc Kevin

Câu trả lời:


7

NAT
Nếu bạn đang sử dụng tĩnh (one-to-one) NAT , router sẽ gán 11.2.10.172IP công cộng với máy PC đầu tiên (ví dụ 192.168.1.101) cố gắng để đạt google.com. Trong trường hợp này, hai PC sẽ không thể liên lạc với google.com cùng một lúc, vì IP công khai có sẵn duy nhất đã được phân phối.
Bảng NAT trong bộ định tuyến:
11.2.10.172 -> 192.168.1.101

PAT
Trong trường hợp của bạn PAT (NAT quá tải) là giải pháp.
Với PAT, nhiều địa chỉ có thể được ánh xạ tới một IP riêng. Khi một thiết bị khởi tạo phiên TCP / IP, thiết bị sẽ tạo số cổng nguồn TCP hoặc UDP để xác định duy nhất phiên. Khi bộ định tuyến nhận được gói này, nó sử dụng số cổng nguồn đó để xác định bản dịch duy nhất.

Ví dụ
PC1 ( 192.168.1.101) tạo một yêu cầu HTTP đến google.com ( 64.233.161.1) với số cổng nguồn ngẫu nhiên (1444). PC1 sẽ gửi một gói với DA: 64.233.161.1:80 | SA: 192.168.1.101:1444. Khi bộ định tuyến nhận được gói này, nó sẽ chèn 11.2.10.172:1444 -> 192.168.1.101:1444vào bảng NAT, sau đó thay đổi địa chỉ L3 của gói thành DA: 64.233.161.1:80 | SA: 11.2.10.172:1444và chuyển tiếp nó tới google.com.
Google trả lời với DA: 11.2.10.172:1444 | SA: 64.233.161.1:80. Bộ định tuyến nhận gói tin này và dịch nó sang DA: 192.168.1.101:1444 | SA: 64.233.161.1:80sau đó chuyển tiếp sang PC1.

Nếu PC2 ( 192.168.1.102) gửi một gói có cùng số cổng nguồn như PC1 đã làm, bộ định tuyến chỉ cần tăng số cổng lên 1. Trong trường hợp đó, bảng NAT sẽ giống như thế này

11.2.10.172:1444 -> 192.168.1.101:1444
11.2.10.172:1445 -> 192.168.1.102:1444

Tôi hy vọng nó sẽ giúp một chút.

CẬP NHẬT
Như @CraigConstantine nhận thấy, 10.2.10.172vẫn còn trong không gian địa chỉ riêng tư nên tôi đã đổi nó thành 11.2.10.172.


vậy ý ​​bạn là chúng ta sẽ có 2 số cổng trong gói? Một cho NAT và một cho thiết bị đầu cuối (cổng http 80)?
Mc Kevin

1
Đúng. PC gửi một gói có <mệnh: 64.233.161.1:80, nguồn 192.168.1.101>. Bộ định tuyến dịch nó thành <Dest: 64.233.161.1:80, nguồn: 10.2.10.172:1317> và gửi nó đến Google. Google trả lời bằng <mệnh: 10.2.10.172:1317, nguồn: 64.233.161.1:80>. Bộ định tuyến nhận gói tin, tìm kiếm ánh xạ 10.2.10.172:1317 trong bảng NAT. Tìm đúng hàng, dịch và gửi gói đến PC với <Dest: 192.168.1.101, nguồn: 64.233.161.1:80>
Adam Hornyak

1
Chỉ có một trong gói. bộ định tuyến ghi lại địa chỉ đích và số cổng khi dịch.
Ron Trunk

1
Nếu chúng tôi muốn có được tất cả các kỹ thuật (và ai sẽ không?), PC sẽ chỉ định một cổng nguồn được thiết bị NAT dịch. Vì vậy, trong nhận xét của Adam, nguồn đầu tiên thực sự sẽ giống như 192.168.1.101:33123, và tương tự, đích đến cuối cùng tương ứng ở cuối bình luận của anh ta sẽ là 192.168.1.101:33123.
Todd Wilcox

1
@ToddWilcox Bạn nói đúng. Tôi đã quên điều đó. Tôi sẽ cập nhật câu trả lời của tôi.
Adam Hornyak

4

Bộ định tuyến của bạn biết nơi định tuyến lưu lượng truy cập vì nó duy trì một bảng các kết nối trạng thái là IPaddress nguồn: cổng và IPaddress đích: mối quan hệ cổng. Chúng được thiết lập dựa trên các quy tắc tường lửa, chính sách NAT của bạn và một vài cài đặt khác (như thời gian chờ TCP và UDP). Có 4 trạng thái có thể: MỚI, LIÊN QUAN, THÀNH LẬP và LIÊN QUAN. Dựa trên các quy tắc tường lửa của bạn, tường lửa của bạn sẽ xác định trạng thái của một kết nối. Vì vậy, thông thường, bạn có thể tạo các kết nối MỚI theo mặc định, nhưng chỉ các kết nối LIÊN QUAN hoặc THÀNH LẬP mới được phép gửi vào nếu bạn tạo quy tắc NAT hoặc PAT phù hợp với chính sách tường lửa để cho phép điều này.

Sau đó, dựa trên các quy tắc bạn đã định cấu hình (đối với trường hợp kết nối MỚI) hoặc bảng kết nối hiện có (đối với trường hợp kết nối THÀNH LẬP), một gói sẽ được cho phép hoặc không được phép thông qua.

Hơn nữa, bảng [ARP] được duy trì giúp tường lửa biết địa chỉ MAC vật lý mà địa chỉ IP tương ứng với.

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.