4

So first off, do ethernet sends ack frames or not?

if it doesn't : then how does a router know whether its neighbors are down or not?

if it does : then is it cumulative ack with an ack timer or one ack per received frame?

I'm asking this because in Link state algorithm i read somewhere that the blackhole problem is solved by the router because it will eventually realize that its neighbor is down, but how can it know if there is no ack frames?

8

No, ethernet is connectionless, as is IP, and if you use UDP, the application would need to perform any connection-related handshaking (if needed). Typically, it is the responsibility of the transport or application protocol, e.g. TCP, to establish connections.

how does a router know whether its neighbors are down or not?

Sometimes (statically configured routes), a router has no idea if a neighbor is down. If the routers share a routing protocol, it is up to the routing protocol (at the transport or application layer) to determine that a neighbor is down.

is it cumulative ack with an ack timer or one ack per received frame?

No, ethernet has no idea if frames are dropped or lost. There is no ACK because there is no connection established. Ethernet will silently drop damaged or excess frames. It is the job of upper-layer protocols or applications to notice that data are missing.

  • So how does a router which uses Link state algorithm(OSPF) or uses DVR(RIP) solves the blackhole problem(which it happens when its neighbor is down)? does it periodically send packets to its neighbors to check if they are alive? because i couldn't find any info about such packets – John P Jul 16 '18 at 14:56
  • 3
    RIP detection is at the application layer, based on (very slow) timers. OSPF uses hellos. I believe the default is to send a hello every 10 seconds, and if no hello is seen for 40 seconds, the neighbor is declared dead. That is at the application layer. BGP uses TCP for connections at the transport layer. – Ron Maupin Jul 16 '18 at 15:01
  • thanks for the answer, but one last question, i thought routers operated at network layer and not in the transport and application layer, is that wrong? (can they unpack any received frame up to application layer message and read the message?!) – John P Jul 16 '18 at 15:04
  • 2
    Routers route packets at the network layer. Routing protocols (which do not actually route, but share routing information) operate as applications on the router to share routes between routers. Routers are perfectly capable of routing packets without a routing protocol using directly connected networks or statically configured routes (static doesn't scale well). Routing protocols are the third way of populating routing tables, but routers route by what is is their routing tables. – Ron Maupin Jul 16 '18 at 15:07
  • 2
    A router will look at the destination IP address. It will try to find a corresponding entry in its routing table, and it will send the packet to the interface indicated by the routing table. If no match is found, it simply drops the packet. That is why you must use a default route (0.0.0.0/0) for the public Internet; you probably do not have the full Internet routing table in your router, and the default route will match any destination address. – Ron Maupin Jul 16 '18 at 15:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.