Saya mengasumsikan 192.168.0.1 bukan gateway yang digunakan pada router B, melainkan IP sendiri pada antarmuka LAN. Jika router A memberikan alamat melalui DHCP, router juga menginformasikan B gateway apa yang digunakan, dan ini seharusnya 192.168.1.1. Jika Anda dapat mengakses internet dari subnet B, ini masalahnya, kecuali jika Anda memiliki pengaturan yang sangat bagus yang membutuhkan penjelasan yang jauh lebih terperinci.
Untuk menjawab pertanyaan Anda, mesin C dan D berada di jaringan yang terpisah, tetapi D dapat memulai koneksi dengan C dengan baik. Ia tidak dapat menemukan IP 192.168.1.3 pada subnetnya sendiri, sehingga ia meneruskan permintaan ke gateway-nya, yaitu router B, yang memang tahu di mana mesin target berada.
Cara sebaliknya lebih sulit. Baik host D sendiri maupun gatewaynya, router A, tahu bahwa lalu lintas yang dimaksudkan untuk 192.168.0.199 harus melintasi melalui router B. Bahkan jika mereka melakukannya, misalnya dengan menentukan rute '192.168.0.0/24 melalui 192.168.1.2', router B tidak akan membiarkan paket lewat dari antarmuka WAN ke antarmuka LAN.
Meskipun Anda mungkin lebih baik menggunakan B sebagai saklar 'bodoh' daripada router dengan hanya menghubungkan semuanya ke port LAN-nya, adalah mungkin untuk menghindari masalah ini tanpa mengubah topologi jaringan. Anda perlu meneruskan port pada router B yang digunakan dalam komunikasi yang berasal dari luar jaringan 192.168.0.0/24.
Misalnya, jika mesin D menjalankan server web, di mana komunikasi harus dimulai dari mesin C, Anda akan ingin mengkonfigurasi router B untuk meneruskan port 80 menuju 192.168.0.199. Atau, mengingat router Anda mendukung fitur tersebut, Anda dapat menempatkan mesin D di DMZ router B, sehingga meneruskan semua port ke mesin ini, kecuali jika dikonfigurasi sebaliknya. Biasanya, ini dapat dianggap sebagai tidak aman, tetapi dalam kasus ini, mesin masih akan dilindungi melalui router A, kecuali jika jaringan 192.168.1.0/24 terganggu.