cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1179
Views
0
Helpful
6
Replies

Question about TCP/IP stack functioning..

Alexander Demin
Level 1
Level 1

Hello!

We got a test sheme:

PC1 -- switch --- (Fa0/0) router (Fa 0/1) ---- switch --- PC2

PC1 and PC2 are in different networks, ip routing is on.

PC1is 10.2.1.2 /24

Router Fa0/0 is 10.2.1.1 /24

PC2 is 11.3.1.2 /24

Router Fa0/1 is 11.3.1.1 /24

Assume I generate a ping traffic from PC1 to PC2 but modify L2 header in such a manner, that frames,

that leave PC1 interface have a broadcast destination MAC address (FFF.FFF.FFF) and unicast ip address of PC2 (11.3.1.2).

The question is: will the Router proccess this frame and route it to PC2 ?

Thanks,

wbr, Alex.

DAO21-RIPE
6 Replies 6

Atif Awan
Cisco Employee
Cisco Employee

26051980DAO wrote:

Hello!

We got a test sheme:

PC1 -- switch --- (Fa0/0) router (Fa 0/1) ---- switch --- PC2

PC1 and PC2 are in different networks, ip routing is on.

PC1is 10.2.1.2 /24

Router Fa0/0 is 10.2.1.1 /24

PC2 is 11.3.1.2 /24

Router Fa0/1 is 11.3.1.1 /24

Assume I generate a ping traffic from PC1 to PC2 but modify L2 header in such a manner, that frames,

that leave PC1 interface have a broadcast destination MAC address (FFF.FFF.FFF) and unicast ip address of PC2 (11.3.1.2).

The question is: will the Router proccess this frame and route it to PC2 ?

Thanks,

wbr, Alex.

No it should not.

I find the question from Alex a bit strange - how (and why) would you send a unicast packet with an Ethernet header coded as a local broadcast while the IP destination address is a remote address?

And I think that I do not agree with the response from Atif. It seems to me that the logic would be like this:

- the frame has a broadcast MAC destination address, so the router interface should receive the frame and pass it up the stack.

- the stack would recognize that the payload of the Ethernet frame was an IP packet with a remote destination address.

- the router would then forward the packet to the remote destination address subnet.

HTH

Rick

HTH

Rick

rburts wrote:

I find the question from Alex a bit strange - how (and why) would you send a unicast packet with an Ethernet header coded as a local broadcast while the IP destination address is a remote address?

And I think that I do not agree with the response from Atif. It seems to me that the logic would be like this:

- the frame has a broadcast MAC destination address, so the router interface should receive the frame and pass it up the stack.

- the stack would recognize that the payload of the Ethernet frame was an IP packet with a remote destination address.

- the router would then forward the packet to the remote destination address subnet.

HTH

Rick

Hello Rick,

The question is indeed strange but I guess Alex is trying to experiment

I did consider the logic you have mentioned but to be honest I personally think this particular case should not result in packets being routed. There needs to be some OS logic which calls the forwarding routine and I am not sure how it will be linked with this. That being said I can be wrong and it will be nice to actually have this tested out.

Atif

The more I think about it I am inclining towards Rick's analysis so I stand corrected.

Alex,

If you do test it, it would be nice to hear about the results.

Atif

Yes - if Alex (or anyone else) can test this and post the results it would be most helpful.

HTH

Rick

HTH

Rick

Atif

It is indeed a question that makes us think And I am certainly not certain of what is the correct answer.

But I believe that one of the fundamental principles of the layered network model, is that the code at one layer operates quite independently of what has happened at other layers. In that sense the layer 2 logic (Ethernet) looks at the frame and determines whether this is a frame that I should receive and process. If it is an Ethernet broadcast then the answer is that yes it is a frame that the Ethernet logic should receive and process. So the Ethernet logic strips off the Ethernet framing and passes the result up the stack. So the layer 3 logic (IP) receives a packet and determines what to do with it. Since the packet is an IP packet with a remote destination address, I believe that they layer 3 (IP) logic will forward the packet toward the remote destination.

HTH

Rick

HTH

Rick