Tại sao địa chỉ IP được cung cấp cho từng giao diện mà không phải thiết bị? Ý nghĩa của việc đó là gì?


12

Tại sao chúng ta cần cung cấp địa chỉ IP cho mỗi giao diện? Sẽ không cung cấp một cho mỗi thiết bị là đủ?


3
Một số thiết bị chỉ nhận được IP để quản lý mà nó không bị ràng buộc với bất kỳ giao diện cụ thể nào. Những người khác làm việc theo cách bạn mô tả. Nó thay đổi theo thiết bị, kiểu máy và phần mềm / phần sụn. Ngoài ra, bạn có thể cần chỉ định địa chỉ IP khác nhau cho mỗi giao diện tùy thuộc vào yêu cầu của tác vụ.
Jesse P.

3
Câu trả lời ngắn - để làm cho bộ định tuyến có thể. Một bộ định tuyến chỉ là một máy tính (ngày nay rất có thể là Linux) cần kết nối với các mạng khác nhau - do đó phải có khả năng có nhiều địa chỉ IP. Nhiều IP trên mỗi thiết bị xuất hiện gần như cùng lúc với phát minh của bộ định tuyến.
slebetman

Không có câu trả lời với thông tin lịch sử? Thất vọng :-)
Daniel W.

Câu hỏi này không có ý nghĩa, hoặc không phải là tuyên bố logic cụ thể hoặc đầy đủ. Nó chỉ là sự kết hợp của các từ. Địa chỉ IP là một số nguyên được sử dụng trong giao thức internet được xác định trong các yêu cầu nhận xét khác nhau. Tôi không tin một khái niệm về giao diện "thiết bị" hay "đã từng được định nghĩa.
soái ca thủ công

Ví dụ, hai ứng dụng windows chạy trên cùng một máy vật lý có thể sử dụng mạng sử dụng giao thức ip để liên lạc. Có những ưu và nhược điểm này. Điều đó nói rằng, một lần nữa giao thức ip là một thứ logic trừu tượng chạy trên đầu các lớp bên dưới mà chúng chọn có thể trừu tượng giống như IP.
soái ca thủ công

Câu trả lời:


25

Kết nối một giao diện với một mạng làm cho nó trở thành một phần của mạng đó. Do đó, địa chỉ IP là một thuộc tính của kết nối, không phải máy chủ lưu trữ.

Tương tự, một máy chủ có thể có nhiều kết nối mạng và theo đó là địa chỉ IP. Các giao diện khác nhau thường có các chức năng khác nhau, do đó, điều quan trọng là phải phân biệt giữa chúng (ví dụ: bảng điều khiển nội bộ, dịch vụ công cộng, iSCSI).

Bộ định tuyến yêu cầu nhiều địa chỉ IP cho giao diện của họ.


14

Không.

Điều đó nói rằng, hãy xem một ví dụ đơn giản:

Tôi có một máy tính với ba giao diện: eth0(Ethernet có dây), wlan0(wifi) và vboxnet0(hộp ảo). Một trong các giao diện được kết nối với mạng nội bộ, một giao diện được kết nối với internet và giao diện cuối cùng được kết nối với mạng máy tính ảo. Giả sử tôi chỉ có một địa chỉ, 10.1.2.3 và muốn gửi toàn bộ gói đến 192.168.1.2, có thể truy cập được trên một trong những mạng đó - tôi gửi chúng đến đâu? Không thể gửi chúng ở mọi nơi, hành vi như vậy sẽ tràn ngập tất cả các mạng theo thứ tự ngắn.

Nhưng nếu giao diện eth0 có 192.168.1.3, wlan0 có 10.1.2.3 và vboxnet0 có 172.0.0.1, thì bảng định tuyến mặc định có thể sẽ nói "gửi nó ra eth0". (Điều này rõ ràng có thể trở nên phức tạp hơn nhiều với các quy tắc định tuyến phức tạp hơn).

Và ngược lại, tôi có thể chỉ muốn chạy một dịch vụ trên giao diện mở cho mạng riêng - vì vậy khi một yêu cầu xuất hiện trên một giao diện khác, nó hoàn toàn không được xử lý.


1
Tại sao bạn không thể biết những gì có thể truy cập tại mỗi giao diện mà không có những địa chỉ IP khác nhau?
Paŭlo Ebermann

Bạn có thể (và thực sự có thể có các quy tắc định tuyến như vậy), nhưng sau đó bạn sẽ ở mức độ trừu tượng thấp hơn, thay vì nói "gửi bất cứ thứ gì không khớp với 10.1.2.1" và được thực hiện với nó (lớp OSI 3), bây giờ bạn cần xử lý "giao diện nào tôi muốn (lớp 2)". Cũng có thể , nhưng sự trừu tượng đơn giản hóa các vấn đề.
Piskvor rời khỏi tòa nhà

2
Và một điều nữa - các địa chỉ IP cũng được chỉ định để người khác liên lạc với bạn. Giả sử bạn được kết nối qua wifi và qua ethernet; mỗi giao diện đi vào một mạng khác nhau, nhưng cả hai mạng đều có thể truy cập internet. Bây giờ bạn gửi một gói đến 1.2.3.4 từ 10.1.2.3 của bạn - tuyến đường trở về là gì? Wifi hay có dây? Bạn có thể đoán, nhưng nếu bạn đoán sai, gói tin quay lại qua giao diện sai và có thể bị loại bỏ. (Có, có những trường hợp bạn muốn có nhiều giao diện với cùng một địa chỉ IP hoặc một iface có nhiều địa chỉ IP hơn hoặc một iface hoàn toàn không có addr - không bình thường)
Piskvor rời khỏi tòa nhà vào

5

Trường hợp 1: Bộ định tuyến

Về mặt lý thuyết điều này sẽ có thể.

Tuy nhiên, thông thường một gói IP được gửi "trực tiếp" đến đích khi địa chỉ IP "khớp" với mặt nạ mạng nhất định (ví dụ: 10.0.0.0/28); nếu không thì gói được gửi qua bộ định tuyến.

Điều này có nghĩa là:

  • Một bộ định tuyến kết nối hai mạng; mỗi trong hai mạng có một mặt nạ mạng
  • Các gói được gửi từ máy tính này sang máy tính khác trong một trong hai mạng không vượt qua bộ định tuyến.

    Điều này có nghĩa là địa chỉ IP của mỗi máy tính khớp với mặt nạ mạng của mạng mà chúng được kết nối.

  • Các gói được gửi đến bộ định tuyến (bao gồm các gói được định tuyến bởi bộ định tuyến!) Không được gửi từ máy tính đến bộ định tuyến qua bộ định tuyến thứ hai.

    Điều này có nghĩa là địa chỉ IP của bộ định tuyến phải khớp với mặt nạ mạng của cả hai mạng.

  • Tuy nhiên, các gói IP được gửi từ một máy tính trong một mạng tới một máy tính trong mạng khác được gửi qua bộ định tuyến.

    Điều này có nghĩa là địa chỉ IP của các máy tính trong một mạng không được khớp với mặt nạ mạng của mạng khác.

Gần như không thể chọn một địa chỉ IP và hai mặt nạ mạng theo cách một địa chỉ IP khớp với cả hai mặt nạ mạng nhưng rất nhiều địa chỉ IP chỉ khớp với một mặt nạ mạng.

Trường hợp 2: Mạng riêng khác nhau

Chúng ta có thể có trường hợp một máy tính được kết nối với hai mạng riêng không thể trao đổi dữ liệu giữa nhau.

Trong trường hợp này, một máy tính có thể có cùng một địa chỉ IP trong cả hai mạng.

Trong trường hợp của IPv4, hầu hết các HĐH sẽ không hỗ trợ điều này vì các HĐH sử dụng mặt nạ mạng của hai mạng để phân biệt giữa chúng. Các mạng cần phải có mặt nạ mạng khác nhau ...

Trong trường hợp IPv6 (sử dụng địa chỉ "liên kết cục bộ"), một máy tính có thể có cùng một địa chỉ IP (liên kết cục bộ) trong hai mạng khác nhau - và do đó hai thẻ mạng có thể có cùng một địa chỉ IP!


Trong một trường hợp cụ thể, thông số kỹ thuật TSN cho ethernet cho phép nhiều giao diện có cùng địa chỉ IP, mặt nạ và địa chỉ MAC để hỗ trợ các đường dẫn dự phòng liền mạch cho ethernet xác định (802.1cb). Sự dư thừa được xử lý ở cấp MAC (phát hiện trùng lặp đóng gói và bỏ qua thông tin dư thừa) vì vậy từ phối cảnh máy chủ, nó là một giao diện.
khủng hoảng

3

Tôi đã tự hỏi, tại sao chúng ta cần cung cấp địa chỉ IP cho mỗi giao diện? Sẽ không cung cấp cho mỗi thiết bị đủ?

Hãy để tôi bắt đầu bằng cách thách thức giả định của bạn. Tại sao bạn nói đây không phải là cách máy móc hoạt động? Nói rằng tôi gán 192.168.1.1/24 cho eth1 và 192.168.2.1/24 cho eth2. Khác với việc cài đặt tuyến đường cho 192.168.1.0/24 ra eth1 và 192.168.2.0/24 ra eth2 và xác định địa chỉ IP nguồn ưa thích cho các gói được gửi dọc theo tuyến đường đó, tôi thực sự giao diện địa chỉ IP nào cho giao diện? Điều gì thực sự thay đổi? Theo nghĩa nào thì máy không hoạt động như thể tất cả các địa chỉ IP được gán cho giao diện trên máy thuộc về máy?

Cả hai phương pháp đều được sử dụng. Cách tiếp cận phổ biến nhất thực sự là sự kết hợp của hai cách tiếp cận này.

Trên thái cực "cung cấp cho thiết bị một địa chỉ IP", bạn có thể tưởng tượng một thiết bị hoạt động như thể tất cả các giao diện của thiết bị được kết nối với một cầu lọc có một địa chỉ IP được gán cho cầu.

Trên thái cực "cung cấp cho mỗi giao diện một địa chỉ IP", bạn có thể tưởng tượng một thiết bị hoạt động như thể mỗi giao diện mà nó có giống như một máy riêng biệt. (Xem tại đây nếu bạn nghĩ đó là cách các thiết bị hiện đang hoạt động hoặc nghĩ về ai đó kết nối với địa chỉ IP được gán cho một giao diện nhưng các gói đến và được gửi đi một giao diện khác.)

Trong thực tế, hầu hết các máy hoạt động ở một nơi nào đó ở giữa. Chúng hoạt động như thể tất cả các địa chỉ IP được sở hữu bởi máy. Việc gán IP cho một thiết bị cụ thể thực sự không làm được gì nhiều ngoài việc yêu cầu HĐH cài đặt tuyến mặc định ra giao diện đó và đặt địa chỉ IP nguồn mặc định cho các gói được gửi ra giao diện nơi địa chỉ IP nguồn không ' t buộc.

Mặt khác, chúng hoạt động như thể tất cả các địa chỉ IP thuộc về máy. Cách một gói được xử lý không phụ thuộc nhiều vào giao diện được nhận trên đó - các gói có địa chỉ IP nguồn được gán cho một giao diện nhận trên giao diện khác là thông lệ. Giao diện nào được gán cho địa chỉ không có ảnh hưởng trực tiếp đến giao diện mà gói tin được gửi đi, bảng định tuyến xác định điều đó.


3

Một thiết bị có địa chỉ IP tồn tại trong một mạng.

Bộ định tuyến là thiết bị có mục đích chính là truyền lưu lượng giữa các mạng .

Để Bộ định tuyến truyền các gói giữa hai mạng, nó phải tồn tại trong cả hai mạng.

Bộ định tuyến sẽ có một "cánh tay" bên trong mỗi mạng - hoặc như chúng ta gọi, một giao diện . Và cách một giao diện tồn tại trong một mạng là bằng cách gán cho nó một địa chỉ IP trong mạng.

Do đó, khi cấu hình một router, mỗi giao diện nhận được một địa chỉ IP để xác định mạng mà rằng Router thuộc trong .

Tuyên bố từ chối trách nhiệm: Liên kết ở trên là vào blog của tôi. Blog của tôi không được kiếm tiền. Tôi không kiếm được lợi nhuận từ việc bạn đọc nó. Tôi đang cung cấp một liên kết đơn giản vì lợi ích của bạn (và bất kỳ độc giả nào khác).


1
Câu trả lời hay và súc tích, cách giải thích rất rõ ràng tại sao .
Stilez

2

Trong trường hợp chung, bạn cần một IP cho mỗi mạng cục bộ mà bạn kết nối và đây chỉ là cách TCP / IP được xác định: mỗi máy chủ trên một mạng cục bộ nhất định có một địa chỉ IP, cho phép:

  • định tuyến lưu lượng truy cập đến mạng cục bộ thích hợp, dựa trên địa chỉ IP đích
  • để hướng lưu lượng truy cập đến thiết bị phù hợp trên mạng cục bộ đó (ví dụ: sau khi tra cứu ARP trên các mạng cục bộ 802.x).

Miễn là bạn có các mạng cục bộ có nhiều thiết bị được kết nối với nó (hầu hết các mạng cục bộ 802.x, bao gồm Ethernet, Wi-Fi), sẽ rất khó để giải quyết vấn đề đó trừ khi bạn thay đổi cơ bản cách thức hoạt động của TCP / IP.

Tuy nhiên, thực sự có thể tránh điều đó, mặc dù nó khá cụ thể.

Hãy xem xét một mạng chỉ có các liên kết điểm-điểm (Ethernet điểm-điểm giữa hai thiết bị không có bộ chuyển mạch hoặc trung tâm, liên kết DSL, liên kết SONET / SDH, Frame Relay hoặc ATM ATM ...).

Quy ước thông thường là sử dụng a / 30 cho mỗi liên kết, vì vậy thiết bị ở mỗi đầu có địa chỉ IP trên liên kết đó.

Nhưng bạn có thể sử dụng "IP không bị đánh số" và không liên kết bất kỳ địa chỉ IP nào với các liên kết đó. Bây giờ, bạn gán IP cho giao diện loopback của thiết bị (thực sự là bất kỳ giao diện nào, nhưng loopback là giao diện dễ nhất cho mục đích này) và bạn sử dụng giao thức định tuyến động (IS-IS, OSPF, EIGRP ...). Giao thức định tuyến này sẽ quảng cáo cách định tuyến lưu lượng truy cập đến địa chỉ IP đó thông qua các liên kết không được đánh số khác nhau.


0

Địa chỉ IP bao gồm thông tin định tuyến. Một địa chỉ IP được chia thành hai thành phần, số mạngsố máy chủ , dựa trên độ dài tiền tố được chỉ định (ban đầu được biểu thị dưới dạng mặt nạ mạng và đây vẫn thường là cách nó được triển khai trong các ngăn xếp mạng).

Để định tuyến hoạt động chính xác, tất cả các thiết bị được kết nối với một mạng cụ thể phải có địa chỉ có cùng số mạng. Người gửi xác định xem người nhận ở trên cùng một mạng hay khác bằng cách so sánh số mạng của họ với địa chỉ của người nhận. Nếu họ ở trong cùng một mạng, họ sẽ gửi trực tiếp; mặt khác, họ gửi đến một bộ định tuyến có nhiệm vụ là đưa thông điệp đến gần đích hơn.

Vì vậy, nếu một thiết bị được kết nối với nhiều mạng, nó cần một địa chỉ trên mỗi mạng đó để các thiết bị trên mạng đó có thể truy cập được.

Điều đó nói rằng, không thực sự cần thiết cho các địa chỉ được chỉ định cụ thể cho các giao diện mạng cụ thể. Thiết bị chỉ có thể có một danh sách tất cả các IP mà nó sở hữu trong một bảng duy nhất. Nhưng các giao diện vẫn cần thông tin về mạng mà chúng được kết nối. Bằng cách chỉ định một IP và mặt nạ mạng cho mỗi giao diện, chúng tôi đặt thông tin này ở một nơi, đơn giản hóa thiết kế. Không cần thêm mã để giữ danh sách IP phù hợp với danh sách các mạng mà giao diện được kết nối.


0

Nó có thể là đủ để có một IP trong trường hợp tiêu chuẩn, nhưng như được nhấn mạnh bởi các câu trả lời khác, có nhiều trường hợp không.

Các câu trả lời khác đã đề cập đến trường hợp của một bộ định tuyến. Một đề cập đến hộp ảo, đó là trường hợp của các máy ảo: bạn có thể đang chạy trên một thiết bị vật lý duy nhất một số thiết bị ảo. Một trường hợp khác là Vlan, bạn thực sự có thể đã kết nối với một card mạng duy nhất, một số mạng LAN ảo khác nhau, với các địa chỉ IP khác nhau. Và thậm chí vì một số lý do, bạn có thể có giao diện với nhiều IP, vì bạn muốn chạy một số máy chủ web trên cổng TCP 80. Cấu hình như vậy không phổ biến đối với máy chủ, phần cứng bạn thuê có thể có một thẻ giao diện mạng duy nhất , nhưng bạn sẽ có một số địa chỉ IP được cấu hình.

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.