Gói tin nào di chuyển nếu tôi sử dụng địa chỉ IP bên ngoài cho máy chủ nhà của mình?


1

Câu hỏi

Nếu tôi kết nối với máy chủ nhà của mình thông qua tên miền (tức là thông qua địa chỉ IP bên ngoài), các gói sẽ đi đâu? Họ có đi đến bộ định tuyến gia đình, đến bộ định tuyến ISP của tôi và sau đó quay lại không? Có lẽ nếu họ chạm vào bộ định tuyến ISP của tôi, thì tôi sẽ bị tính phí cho việc sử dụng này.

Lý lịch

Tôi đã thiết lập ownCloud trên máy chủ nhà của mình. Tôi sẽ thường kết nối từ cùng một mạng nội bộ và có thể sử dụng 192.168.1.1. Tuy nhiên, nếu tôi ở một mạng khác, tôi sẽ kết nối thông qua một tên miền được gán động cho địa chỉ IP. Để dễ cấu hình, tôi đã nghĩ đến việc chỉ định máy chủ bằng cách sử dụng tên miền mọi lúc.

Một số thử nghiệm

Tôi đã kiểm tra bằng cách ping, và nhận được kết quả nhanh hơn một chút khi sử dụng địa chỉ IP nội bộ.

$ ping -c 10 192.168.1.1
...
rtt min/avg/max/mdev = 1.064/1.173/1.263/0.072 ms
$ ping -c 10 myname.dynu.com
...
rtt min/avg/max/mdev = 1.191/1.459/2.549/0.375 ms

Tôi đã thử sử dụng traceroute trên cả hai. Địa chỉ IP nội bộ hết thời gian (có lẽ do cài đặt tường lửa?). Bên ngoài có một bước nhảy my-external-ip-address.dyn.iinet.net.au. Tôi không chắc chắn nếu điều này đề cập đến bộ định tuyến của tôi, hoặc nút tại trao đổi.

Câu trả lời:


2

Nếu bạn có cấu hình NAT / PAT thông thường, khi bạn cố gắng tạo kết nối từ bên trong, máy chủ được nối mạng riêng, với hàng xóm của nó, cũng ở bên trong, mạng riêng, qua bên ngoài, địa chỉ IP công cộng trong DNS:

Máy chủ trình duyệt của bạn cố gắng thiết lập kết nối TCP trên IP A.B.C.D, cổng X. Nó truy cập bảng định tuyến cục bộ của nó, không có kết quả khớp cụ thể cho A.B.C.D, và do đó đi đến cổng mặc định của nó.

Cổng mặc định của bạn nhận được một gói từ giao diện bên trong của nó, được gửi đến A.B.C.D, truy cập bảng định tuyến của nó và có một kết quả khớp chính xác với giao diện công khai bên ngoài. Các gói không được chuyển tiếp hơn nữa, vì nó đã đạt đến đích rõ ràng của nó. Trong trường hợp PING (yêu cầu tiếng vang ICMP) ở trên, không phải là gói TCP và do đó không yêu cầu NAT hoặc PAT, bộ định tuyến đã lấy lại phản hồi tiếng vang ICMP và gửi lại, thêm vài phần mười giây RTT.

Thật không may, hầu hết các triển khai PAT chỉ có thể xử lý các bản dịch từ bên ngoài sang bên trong và không thể xử lý từ bên trong sang bên trong bản dịch. Trong trường hợp yêu cầu TCP từ bên trong, đến IP công cộng của bộ định tuyến, bộ định tuyến sẽ bỏ gói tin. Nó có thể hoặc không thể gửi tin nhắn ICMP để thông báo cho máy chủ yêu cầu: yêu cầu sẽ hết thời gian nếu không; nó sẽ bị từ chối ngay lập tức nếu có.

Trường hợp lưu lượng truy cập cụ thể này sẽ không đi qua kết nối ISP của bạn.

Dưới đây là thông tin bổ sung về mục tiêu thiết lập kết nối 'tóc giả' của bạn: https://superuser.com/a/444207/214597


Câu trả lời tốt đẹp! Tôi đoán tôi may mắn rồi; trong cấu hình mặc định của nó, Billion 7300ra của tôi tự động kẹp tóc cho tôi. .
Sparhawk

1
Chà, khi bạn ping IP riêng của máy chủ, nó sẽ nằm trên cùng một mạng; có các tuyến đường trực tiếp và các mục ARP địa phương. Với IP công cộng, chỉ còn một vài bước nữa, như trên một mạng IP khác. Cấu trúc chuyển đổi / bộ xử lý / kiến ​​trúc của nó có lẽ cũng khác biệt đáng kể, cũng như ưu tiên trả lời ICMP của nó. Tôi đã không nhướn mày nếu nó đã thêm 5 hoặc 10 ms: bộ định tuyến có nhiều việc phải làm hơn là trả lời ICMP.
Nevin Williams
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.