🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages Started by Rosso Sun, 06 Mar 2011 22:41
Sterownik urządzenia sieciowego, test ping
#72106
Author: Rosso
Date: Sun, 06 Mar 2011 22:41
37 lines
2651 bytes
Próbuje zrozumieć zagadnienie sterownika sieciowego. Mam taką o to
sytuację. Mam kod źródłowy bardzo prostego sterownika sieciowego.
Kompiluje go do dwóch modułów, oba są identyczne:
lab1_network.c -> lab1_network.ko
lab1_network2.c -> lab1_network2.ko

Ładuje oba poleceniem insmod.

Następnie dodaje interfejsy sieciowe:

$ ifconfig mynet0 10.0.0.5 up
$ ifconfig mynet1 10.0.0.6 up

Test ping:
$ ping -c 2 10.0.0.5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=0.030 ms

$ ping -c 2 10.0.0.6
PING 10.0.0.6 (10.0.0.6) 56(84) bytes of data.
64 bytes from 10.0.0.6: icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from 10.0.0.6: icmp_seq=2 ttl=64 time=0.028 ms

Do tej pory wszystko działa. Nie rozumiem dlaczego jak robię to w taki
sposób:

$ ping -I mynet0 -c 2 10.0.0.6
PING 10.0.0.6 (10.0.0.6) from 10.0.0.6 mynet0: 56(84) bytes of data.
>From 10.0.0.5 icmp_seq=1 Destination Host Unreachable
>From 10.0.0.5 icmp_seq=2 Destination Host Unreachable

Czy ja źle rozumiem zagadnienia sieciowe? Dlaczego podając jakiego
interfejsu ma użyć program ping, on nie odnajduje hosta? Oba
interfejsy są przecież w tej samej podsieci?

Kod źródłowy bardzo prostego sterownika http://pastie.org/1640904
Re: Sterownik urządzenia sieciowego, test ping
#72119
Author: Michal Jaegermann
Date: Mon, 07 Mar 2011 00:49
10 lines
1241 bytes
Rosso <ammate@gmail.com> wrote:
> 
> $ ifconfig mynet0 10.0.0.5 up
> $ ifconfig mynet1 10.0.0.6 up
...
> Oba interfejsy są przecież w tej samej podsieci?

Tak?  Może i są ale niby dlaczego?  Skąd wiadomo jaki jest netmask?

   M.
Re: Sterownik urządzenia sieciowego, test ping
#72149
Author: Rosso
Date: Mon, 07 Mar 2011 09:51
21 lines
2115 bytes
On Mar 7, 1:49 am, Michal Jaegermann <mic...@gortel.phys.ualberta.ca>
wrote:
> Rosso <amm...@gmail.com> wrote:
>
> > $ ifconfig mynet0 10.0.0.5 up
> > $ ifconfig mynet1 10.0.0.6 up
> ...
> > Oba interfejsy są przecież w tej samej podsieci?
>
> Tak?  Może i są ale niby dlaczego?  Skąd wiadomo jaki jest netmask?
>

za ifconfig:
mynet0:
inet addr:10.0.0.5  Bcast:10.255.255.255  Mask:255.0.0.0

mynet1:
inet addr:10.0.0.6  Bcast:10.255.255.255  Mask:255.0.0.0

Całość:
http://pastie.org/1642545
Re: Sterownik urządzenia sieciowego, test ping
#72146
Author: Adam Osuchowski
Date: Tue, 08 Mar 2011 11:20
15 lines
1599 bytes
Rosso wrote:
> Czy ja źle rozumiem zagadnienia sieciowe? Dlaczego podając jakiego
> interfejsu ma użyć program ping, on nie odnajduje hosta?

Jak pingujesz normalnie (bez wymuszania interfejsu) system sam wybiera
którędy ten pakiet ma wyjść na podstawie adresów jakie są skonfigurowane
w systemie, tablic routingu, reguł itp. Wtedy idzie to po loopbacku bo
pingujesz swój własny adres. Jeśli wymusisz wysyłanie z konkretnego
interfejsu, ten pakiet tamtędy wyjdzie, tylko że coś po drugiej stronie
musiałoby go odebrać i odesłać odpowiedź, a tego czegoś jak widać nie ma
(bo ten adres jest u Ciebie).

> Oba interfejsy są przecież w tej samej podsieci?

A jakie to ma znaczenie w tej sytuacji?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads