Tại sao cần có địa chỉ Ethernet / MAC?


16

Tôi không hiểu tại sao cần có địa chỉ MAC Ethernet. Không phải tất cả các máy tính chỉ được kết nối với mạng hợp nhất và sử dụng địa chỉ IP để liên lạc?

Ví dụ, có một cơ chế sau trong Ethernet:

  1. Máy tính có IP 192.168.1.1( X.1) muốn gửi gói đến 192.168.1.2( X.2)
  2. X.1 sử dụng ARP để lấy MAC của X.2
  3. Để làm như vậy, X.1cần gửi một gói đến tất cả các máy tính trong mạng; chỉ có một người sẽ trả lời
  4. X.1 nhận được một MAC và gửi gói

Sẽ không đơn giản hơn nếu chỉ làm một bước:

  1. X.1gửi một gói đến tất cả các máy tính trong mạng; chỉ X.2xử lý nó, những người khác sẽ bỏ qua nó

Câu hỏi bổ sung sẽ là: Tại sao cần có địa chỉ IP, nếu tất cả các thiết bị có địa chỉ MAC duy nhất?


Làm thế nào để máy tính biết rằng họ nên bỏ qua dữ liệu? Không có địa chỉ MAC, họ không thể biết được cái nào trên mạng nên xử lý nó ...
Bakuriu

1
họ có thể sử dụng địa chỉ IP thay vì địa chỉ MAC
user2449761

erm ... máy tính <-> Địa chỉ IP không phải là ánh xạ tiêm. Tôi sẽ điều chỉnh lại câu hỏi của mình: Làm thế nào để máy tính biết rằng chúng nên bỏ qua dữ liệu? Không có địa chỉ MAC, họ không thể biết ai trên mạng nên xử lý nó ... vì nhiều người trong số họ có thể có cùng một IP ?
Bakuriu

4
họ không nên có cùng một IP trong cùng một mạng con ... đây là một cuộc xung đột
user2449761

1
Câu hỏi bổ sung là serverfault.com/q/410626/102768
OrangeDog

Câu trả lời:


31

Các lớp mạng khác nhau ở đó để cho phép chúng được hoán đổi cho các công nghệ khác nhau.

Hai lớp bạn đang nói đến ở đây là lớp 2 và 3. Lớp 2 trong kịch bản này là Ethernet - từ đó phát sinh địa chỉ MAC và Lớp 3 là IP.

Ethernet chỉ hoạt động ở cấp cục bộ, giữa các thiết bị mạng được kết nối với "datalink" của mạng quảng bá, trong khi IP là giao thức có thể định tuyến và do đó có thể nhắm mục tiêu các thiết bị trên mạng từ xa.

Các yêu cầu của mỗi trong số này là khác nhau. Ethernet chỉ định một nhóm các công nghệ cho phép các gói được gửi và nhận giữa các thiết bị mạng, trong khi IP xác định một giao thức cho phép các gói dữ liệu đi qua nhiều mạng.

Không phụ thuộc vào người khác, đó là những gì mang lại cho mạng lưới tính linh hoạt của nó. Ví dụ: bạn có thể chọn kết nối với dịch vụ internet của mình bằng IP qua ethernet, nhưng trong mạng nội bộ của bạn, bạn có thể chọn sử dụng IP qua ... giấy. Khi ai đó ghi lại nội dung của từng gói và chuyển nó sang máy khác và nhập nó vào. Rõ ràng điều này sẽ không đặc biệt nhanh, nhưng nó vẫn sẽ là IP cung cấp cho người mang các bit của các quy tắc định tuyến IP.

Trong thế giới thực, có các giao thức datalink khác nhau mà bạn đang sử dụng hai giao thức khác nhau (mặc dù các sơ đồ địa chỉ của chúng là như nhau): 802.3 - ethernet và 802.11 - wifi.

IP không quan tâm lớp bên dưới là gì.

Tương tự, IP có thể được hoán đổi cho các giao thức lớp mạng khác nhau (miễn là nó xảy ra cho tất cả người tham gia). Chẳng hạn như ATM .

Mặc dù không có gì ngăn cản trực tiếp việc tạo ra một giao thức bao gồm cả lớp 2 và lớp 3, nhưng nó sẽ kém linh hoạt hơn, do đó kém hấp dẫn hơn và do đó khó có thể được sử dụng.


2
Đối với mạng nội bộ, bạn nên sử dụng RFC1149 . ( Mô tả ít kỹ thuật hơn )
Scott Chamberlain

2
Điều gì, giống như sử dụng cờ tín hiệu tay ?
Scott Chamberlain

1
@ScottChamberlain: Tôi yêu nghệ thuật ASCII trong tay cờ hiệu!
Fred Larson

5
IPoAC là một lựa chọn kém cho truyền thông nội bộ; chim bồ câu làm việc ngoài trời tốt hơn trong nhà
cpast

2
@ user2449761 mọi người chỉ liệt kê những cái ngớ ngẩn. Thay vì ethernet, bạn có thể sử dụng bluetooth, quay số, GPRS, LTE, USB, DSL, vòng mã thông báo, v.v.
OrangeDog

8

Trường hợp nào quyết định này sẽ xử lý hoặc bỏ qua gói được thực hiện? Không có câu trả lời nào thực sự thỏa đáng:

1) Trong công tắc? Chà, điều đó có nghĩa là các thiết bị chuyển mạch phải hiểu mọi giao thức xác định máy tính nào quan tâm đến gói nào. Điều đó sẽ không chỉ làm tăng chi phí của các thiết bị chuyển mạch và giảm tốc độ của chúng mà còn khiến những thay đổi trong giao thức IP trở nên khó khăn hơn nhiều.

2) Trong phần cứng của giao diện Ethernet? Chà, điều này sẽ làm cho mạng chậm hơn rất nhiều vì mọi gói dữ liệu phải đến mọi máy. Các công nghệ như WiFi và kết nối mạng với các cầu chậm hơn là không thể. Có Ethernet chạy ở tốc độ khác nhau tương tác sẽ là không thể. Các công nghệ như IPv6 hoặc IP multicast sẽ yêu cầu thay đổi phần cứng để triển khai trong tất cả các trạm cuối Ethernet.

3) Trong phần mềm? Chà, điều này sẽ làm cho máy tính chậm hơn rất nhiều vì chúng phải đối phó với số lượng ngắt giao diện mạng cao hơn nhiều. Tất cả các mối quan tâm bắc cầu, VPN và Wifi được đề cập ở trên cũng sẽ là vấn đề.

Tất cả những điều này sẽ làm cho Ethernet không thể sử dụng được nếu không có IP và có nghĩa là những thay đổi trong Ethernet sẽ là cần thiết để thực hiện thay đổi trong IP. Kinh quá.

Tách biệt mối quan tâm là tốt.


Thêm vào đó, nó có thể làm giảm đáng kể hiệu suất mạng tổng thể. Đối với tùy chọn 3, tôi gửi một tệp khổng lồ bão hòa mạng 1GBit của mình và đột nhiên mọi người khác trên mạng cũng nhận được tệp đó và phải bỏ qua nó, và không có băng thông để gửi tệp cho người khác không tham gia của việc chuyển tập tin hiện tại.
PlasmaHH

tùy chọn thứ hai không mô tả cách thức hoạt động của Ethernet? Tất cả các giao diện đều nhận được các gói giống nhau, nhưng chỉ có một máy sẽ không bỏ qua nó (ngoại trừ các máy này ở chế độ lăng nhăng). Các công tắc đang ở đó để tăng tốc mọi thứ ...
user2449761

2
@ user2449761 Tất cả các gói chỉ đi đến tất cả các máy tính nếu bạn đang sử dụng phần cứng mạng cổ có các hub thay vì các bộ chuyển mạch. Hub ban đầu là một lựa chọn vì lý do chi phí; nhưng bây giờ công tắc rẻ tiền không ai sử dụng chúng nữa.
Dan Neely

@Dan đó là những gì tôi đang nói về ...
user2449761

2
Tùy chọn 1 đã xảy ra. Nó không thay thế việc sử dụng địa chỉ MAC, ít nhất là chưa. Nhưng một số phần cứng chuyển đổi có thể được cấu hình để sử dụng địa chỉ MAC đích hoặc sử dụng địa chỉ IP đích để chọn giao diện gửi đi. Có thể trong 10 hoặc 20 năm nữa, địa chỉ MAC sẽ chỉ còn lại cho các mục đích lịch sử và tất cả việc định tuyến các gói sẽ được thực hiện chỉ dựa trên địa chỉ IP. Dù sao đi nữa, phần thay đổi đối với IP khó triển khai hơn vì các bộ định tuyến đường trục đã được định tuyến dựa trên địa chỉ IP đích trong phần cứng trong nhiều năm.
kasperd

3

Địa chỉ IP và địa chỉ MAC hoạt động trên các lớp khác nhau của bộ giao thức internet . Địa chỉ MAC được sử dụng để xác định các máy trong cùng một mạng phát trên lớp 2, trong khi các địa chỉ IP được sử dụng trên lớp 3 để xác định các máy trên các mạng khác nhau.

Ngay cả khi máy tính của bạn có địa chỉ IP, nó vẫn cần một địa chỉ MAC để tìm các máy khác trên cùng một mạng, vì mọi lớp đều sử dụng các lớp bên dưới. Trên trang được đề cập trước đó, bạn có thể tìm thấy một số sơ đồ đẹp giải thích chi tiết về bộ giao thức.


2

Vấn đề tắc nghẽn phải đối mặt với mạng ethernet khi chúng tăng kích thước. Inturn này có thể bóp nghẹt mạng và giới thiệu sự chậm trễ. Đây là một trong những yếu tố mang lại khái niệm mạng con. Nhưng, với các mạng con, chúng ta cần một thực thể bổ sung được gọi là bộ định tuyến để cho phép gói dữ liệu đi từ một máy trong một mạng con đến một máy trong một mạng con khác.

Khoảng cách được kéo dài bởi cáp ethernet là một mối quan tâm lớn khác vì nó có thể hạn chế sự thành công của truyền nếu vượt quá giới hạn nhất định. Điều này mang lại thêm các thực thể mới dưới dạng hub / repeater.

Lưu ý rằng tất cả các cơ chế truyền thông không sử dụng địa chỉ MAC để liên lạc. PPP & HDLC không sử dụng địa chỉ MAC để nhận dạng.

Ngoài ra, lưu ý rằng một số mạng không sử dụng ethernet. Mạng vòng mã thông báo yêu cầu một lớp liên kết dữ liệu khác nhau.

Nếu bạn gửi một gói từ mạng A đến một thiết bị trong mạng B bằng cách đánh địa chỉ qua địa chỉ mac của thiết bị trong mạng B, nó sẽ bị rơi trong mạng A. Lưu ý rằng ngay cả khi có bộ định tuyến giữa mạng A và mạng B, bộ định tuyến sẽ bỏ gói vì bộ định tuyến hoạt động bằng cách nhận các gói được gửi đến địa chỉ mac của nó nhưng cho địa chỉ IP khác nhau.

Từ các kịch bản trên, rất rõ ràng rằng, internet không phải là một mạng phẳng do các mạng cục bộ / riêng tư khác nhau. Ngoài ra còn có các thực thể mạng khác nhau giữa nguồn và đích.

Vì internet không phải là mạng phẳng, nên địa chỉ MAC không được sử dụng cho tất cả các loại truyền thông và một số mạng yêu cầu lớp liên kết dữ liệu khác ngoài ethernet, chúng tôi cần địa chỉ IP để định tuyến đến nút mong muốn bất kể vị trí của nút và điều này đạt được với lớp mạng.

Ngoài ra, hãy tham khảo một cuộc thảo luận tương tự trong /programming/26290069/arp-vs-ip-why-do-we-need-both


Ngoài các ví dụ "người vận chuyển gia cầm", "tín hiệu tay" và "giấy và bút chì" của Lớp 2 thay thế, có một số điều kỳ lạ đôi khi hữu ích . IP qua SMS, hoặc qua Facebook, hoặc thậm chí qua email. Sau đó, có các standbys cũ SLIP, PPP và PPPoE. Cả ba đều KHÔNG có cùng một kiểu mặt như kết nối Ethernet hoặc WIFI - tuy nhiên tất cả các mặt này đều có IP thông qua và hoàn toàn có thể định tuyến.
Ross Presser

2

Như những người khác đã giải thích, bạn cần các giao thức Lớp 2 để kiểm soát tắc nghẽn trong mạng cục bộ của bạn. Lớp 3 được sử dụng để định tuyến và địa chỉ giữa các mạng.

Như đã nói, một câu hỏi hợp lệ có thể là: Tại sao cả hai lớp không thể sử dụng cùng một lược đồ địa chỉ?

Câu trả lời đầu tiên: Như những người khác đã đề cập, điều này cho phép bạn chuyển đổi công nghệ L2 và / hoặc L3 và mọi thứ vẫn hoạt động.

Câu trả lời thứ hai: Ngay cả khi mọi người đồng ý để các giao thức Lớp 2 sử dụng địa chỉ IP, thì bạn vẫn sẽ phải sử dụng hai địa chỉ IP, một cho Lớp 2 và một cho Lớp 3. Tại sao? NATting. Nếu máy tính của bạn có địa chỉ IP công cộng, thì địa chỉ L2 và L3 có thể giống nhau. Tuy nhiên, nếu bạn sử dụng NATting, thì địa chỉ L2 và L3 của bạn sẽ khác.

Nhận xét cuối cùng: Khi bạn nói mọi người nhận được tin nhắn và những người không nhận được bỏ qua chúng, bạn đang nói về WiFi. Ethernet có dây không hoạt động như vậy nữa. Nó đã từng như thế khi chúng ta sử dụng cáp đồng trục và sau này khi chúng ta sử dụng các hub. Chuyển đổi chỉ gửi tin nhắn / gói đến cổng thích hợp (trừ khi bạn thực hiện một cuộc tấn công vào chúng và bão hòa các bảng của chúng).


Tôi rất vui vì bạn đã thêm nhận xét cuối cùng. Như bạn đã chỉ ra: tắc nghẽn có thể được quản lý bởi các công tắc. Các bộ chuyển mạch chỉ có thể sử dụng sơ đồ địa chỉ IP. Tôi cũng không hiểu đối số NATing: chúng ta luôn cần hai địa chỉ IP ở cả hai phía của NAT. Tôi nghĩ câu hỏi hợp lệ sẽ là: tại sao chúng ta cần các lớp DataLink và Network riêng biệt trong các mạng hiện đại? Tôi hiểu sự tách biệt là cần thiết trong những năm 70, khi vòng mã thông báo, chim bồ câu và giấy tờ được sử dụng.
dùng2449761

0

Địa chỉ MAC và địa chỉ IP hoạt động trên các lớp mạng khác nhau cho các mục đích khác nhau. Loại bỏ một trong các lớp có thể gây ra vấn đề, tạo sự nhầm lẫn hoặc ngăn không cho mọi thứ hoạt động.

Giả sử tôi có một số phần cứng cổ (giả sử, một máy tiện CNC trị giá hàng triệu đô la) chỉ nói được IPX . Trong mạng chỉ IP của bạn, mọi người sẽ nói chuyện với nó như thế nào? Hoặc giả sử tôi đang kết nối một máy tính chưa được cấu hình với một mạng mới. Trong trường hợp không có địa chỉ MAC, máy chủ DHCP có thể cho máy tính của tôi biết địa chỉ IP nào sẽ sử dụng?

Giả sử tôi đã có một máy chủ có bốn kết nối gigabit đến một công tắc xương sống, được tổng hợp thành một kết nối ảo duy nhất. Trong mạng chỉ MAC của bạn, địa chỉ máy chủ của tôi là gì? Hoặc giả sử tôi đã có một máy tính được kết nối qua modem PPPoA và không có địa chỉ MAC. Làm thế nào bất cứ ai có thể kết nối với nó?


0

Hmmm Tôi nghĩ rằng điều này có thể đã được thực hiện để làm việc (tôi thực sự / thực hiện / giao địa chỉ MAC); tuy nhiên nếu điều này đã được thực hiện, bạn sẽ cần phải mua phần cứng mới cho IPv6 và có khả năng sẽ không có sự chồng chéo. Vì vậy, trong tất cả tôi không thích hậu quả.


0

Chữ I trong IP là viết tắt của Giao thức liên kết mạng .

Có nghĩa là một IP được coi là duy nhất trong số TẤT CẢ các mạng trên toàn thế giới.

Địa chỉ IP được cho là theo nghĩa đen toàn cầu. Nếu bạn gửi lưu lượng truy cập đến 9,9.9.9, bạn nên đến bất kỳ nơi nào 9,9.9.9, bất kể ở đâu trên thế giới, 9,9.9.9 là về mặt vật lý hoặc mạng 9,9.9.9 trên mạng.

(Điều này bị phá vỡ phần nào vì NAT. Khi TCP / IP được phát minh, NAT không phải là một phần của kế hoạch ban đầu và đó là một "hack" cho đến khi IPv6 trở nên phổ biến hơn ở những nơi không cần thiết. Giả sử NAT không tồn tại để hiểu câu trả lời này.)

Một địa chỉ MAC được cho là duy nhất trong mạng cục bộ mà máy chủ lưu trữ. Nó không được thiết kế để cho phép giao tiếp giữa mọi thứ không nằm trên cùng một mạng cục bộ. Vì vậy, có một giới hạn vật lý được giả định với các địa chỉ MAC, nhưng không có giới hạn đó với các địa chỉ IP.

TCP / IP dựa trên khái niệm rằng:

  • có các mạng cục bộ nơi các hệ thống có thể nói chuyện trực tiếp với nhau mà không cần bộ định tuyến
  • đôi khi các máy tính trên một mạng muốn nói chuyện với các máy tính trên mạng khác và cần một bộ định tuyến để thực hiện điều đó.

Nếu một cơ chế cơ bản khác tồn tại khi hai khái niệm trên không áp dụng thì IP và MAC sẽ không cần thiết như hiện tại.

Nếu bạn đang thiết kế một giao thức hoặc một cái gì đó hoàn toàn không bao giờ cần nói chuyện với các máy bên ngoài cùng một mạng cục bộ, thì bạn chỉ nên gắn bó với các địa chỉ MAC. Tôi nghĩ rằng giao thức ATA qua Ethernet là như thế này, vì nó được thiết kế để cho phép chia sẻ các ổ ATA trên cùng một mạng và không thông qua Internet cho mục đích bảo mật.


0

Tôi chỉ có suy nghĩ tương tự. Nhưng tôi nhận ra rằng bạn cần lớp MAC. Thậm chí không cho mục đích chuyển đổi!

Vấn đề không thể tránh khỏi là bạn có ngoài giao thức IP, ngay cả khi chúng ta đang nói về IP, có IPv4 và IPv6. Làm thế nào để thiết bị mạng biết nó là cái gì? Vì vậy, bạn cần MAC làm lớp bootstrapping, trong trường giao thức của nó là lớp tiếp theo, cho bạn biết những gì được mang qua MAC.


-2

Bạn đang bị mắc kẹt khi chỉ nghĩ về một lớp OSI duy nhất. IP chỉ hoạt động vì Ethernet (và các loại khác) tồn tại, giống như cách Ethernet chỉ tồn tại vì có dây dẫn vật lý để mang lưu lượng. Đó không phải là "IP hoặc MAC" - việc định tuyến lưu lượng yêu cầu địa chỉ MAC hoạt động: công nghệ IP (cũng như các công nghệ khác, có liên quan và không liên quan) nằm trên đó. Bạn không thể đơn giản trao đổi cái này với cái kia.


-6

IP động bạn của tôi! Trong môi trường địa phương của bạn (nhà của bạn, trường đại học của bạn, nơi bạn làm việc) bạn có một thiết lập mạng. Nó không được kết nối trực tiếp với Internet (với chữ 'I') mà thông qua bộ định tuyến. Bộ định tuyến này nhận được một IP động (trong hầu hết các trường hợp, trừ khi bạn có một mạng tĩnh) từ ISP của bạn và gán địa chỉ động (giống 'nhưng' như trên) cho tất cả các máy tính được kết nối. Tại sao nó được thực hiện như vậy? Trong một dòng, để cung cấp dịch vụ cho nhiều người dùng hơn IP bạn có. Vấn đề là, bạn cần có khả năng xác định MacBook Pro (: D) của mình trong số tất cả các máy tính khác, vì vậy bạn cần một địa chỉ ĐỘC ĐÁO, không phải là địa chỉ động / chia sẻ. Đó là máy mac của bạn. Và đó là lý do tại sao bạn cần nó.

Bạn có thể đọc thêm ở đây


2
Đó thực sự không có lý do để sử dụng địa chỉ MAC.
Daniel B

1
Vấn đề là: không phải tất cả các máy tính đều có một địa chỉ IP duy nhất, đôi khi bạn thậm chí không muốn điều đó, vì vậy đó là một lý lẽ tốt cho chúng có một địa chỉ LAN riêng, đó chính là địa chỉ MAC.
Revierpost

1
Có họ làm. Tất cả mọi thứ có thể định tuyến internet là, theo định nghĩa, địa chỉ duy nhất. Nếu không thì internet sẽ không hoạt động. Có những thứ như NAT vi phạm nguyên tắc này được gọi là nguyên tắc từ đầu đến cuối. Trong trường hợp NAT bạn cũng có một địa chỉ LAN riêng.
Daniel B

@DanielB Tôi khá chắc chắn điều đó không đúng, nhưng có lẽ tôi hiểu nhầm bạn. Ví dụ: bạn có thể cho tôi biết làm thế nào bạn sẽ giải quyết duy nhất PC này mà tôi đang gõ, trên mạng riêng cục bộ, từ nơi bạn đang ở, không có kết nối nào được thiết lập trước đó không? Nếu bạn muốn giải quyết máy tính bên cạnh cái này thì sao?
SevenSidedDie

@DanielB Chắc chắn đó không phải là lý do. Câu hỏi của OP: Không phải tất cả các máy tính chỉ được kết nối với mạng hợp nhất và sử dụng địa chỉ IP để liên lạc? Câu trả lời của tôi cung cấp thông tin về câu hỏi đó , không phải câu hỏi giả định của bạn , mà sẽ đi theo dòng: "Tại sao chúng tôi sử dụng địa chỉ MAC trên mô hình ethernet?". Kể từ khi anh / cô ấy được hỏi về lý do tại sao chúng ta không thể chỉ sử dụng IP, có câu trả lời của tôi. Xin vui lòng, lần sau hãy đọc cẩn thận trước khi hạ cấp :)
tfrascaroli
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.