Saya baru-baru ini mulai belajar tentang model OSI, jaringan dan banyak hal.
Karena saya suka coding di C, saya ingin mengirim frame Ethernet saya sendiri.
Sekarang saya membuatnya bekerja; namun, saya masih ragu tentang satu hal:
Saat mengirim Bingkai Ethernet dari mesin SEBUAH ke mesin B (dengan asumsi bahwa kedua mesin berada di jaringan yang sama), alamat MAC apa yang harus saya tentukan sebagai Tujuan Alamat MAC dari frame?
Saya mencoba alamat MAC router saya dan alamat MAC mesin B Kedua cara bekerja. Untuk mendapatkan alamat MAC dari mesin B , Saya hanya membuat permintaan ARP.
Namun, apa jalan yang benar?
Saya memantau lalu lintas dengan Wireshark di mesin SEBUAH dan dengan tcpdump pada mesin B . Itu output pada mesin B ( e0:d5:5e:c6:52:9a
adalah alamat MAC mesin B ):
Saat menentukan mesin B Alamat MAC sebagai alamat tujuan ( a0:ce:c8:10:75:8c
adalah NIC MAC mesin SEBUAH ):
18:42:46.152800 a0:ce:c8:10:75:8c > e0:d5:5e:c6:52:9a, ethertype IPv4 (0x0800), length 64: 192.168.178.21.23455 > 192.168.178.27.23456: UDP, length 5
Saat menentukan alamat MAC router sebagai alamat tujuan ( c8:0e:14:fd:f3:23
adalah NIC MAC dari router):
18:45:04.735375 c8:0e:14:fd:f3:23 > e0:d5:5e:c6:52:9a, ethertype IPv4 (0x0800), length 60: 192.168.178.21.23455 > 192.168.178.27.23456: UDP, length 5
Hasil ini menunjukkan bahwa router menulis ulang Sumber Alamat MAC dan mungkin menggunakan Cache-nya untuk menentukan alamat MAC tujuan yang benar untuk IP tujuan.
Bagaimana router menangani frame tempat alamat MAC dari mesin B ditentukan?
Apakah ada perbedaan antara keduanya?
Apakah ada satu cara yang disukai / benar?