So guys, going forward now, let us discuss the steps regarding how our protocol actually works.
So here the problem statement is that how the sending machine that is the machine e would know the recipient
machine that is the machine DS Mac address, right?
So it is the source machine and the destination machine is the machine D And for the source machine
E to send a frame to the destination machine, the source machine E should know the destination machine
DS Mac address.
So in this case the source machine e must know the destination Mac address of the machine D which is
MD.
So now let us go through the steps regarding how the source machine can know.
Destination Machine DS Mac Address.
So step one, he wants to send data frame to the destination machine D, whose IP address is 12 .1.1.2.
Right.
So he tries to prepare an ethernet header in order to send a frame to the destination machine D, but
at this point of time the machine e do not know the destination.
Mac address that is machine E do not know D.
So next thing that the source machine does is to look up in its ARP table and check for the entry corresponding
to IP address.
12 .1.1.2.
So we assume that the ARP table of host machine is empty and therefore we do not find MD.
That is the Mac address opposite to 12 .1.1.2 entry in its ARP table.
So after step number three source machine knows that it has to make use of our protocol in order to
know the Mac address of Destination machine D So the next thing that the source machine does is that
it checks whether the destination machine D is in its own subnet or in some distant remote subnet.
So these are the three steps using which the source machine e can know whether the destination machine
D is in local subnet or in remote subnet.
So what are these steps?
E compute its own network ID, right.
So how we can compute its own network ID.
Apply the mask value on its IP address so it will get 12 .1.1.0 slash 24.
So this is the network ID in which source machine E is present.
Next E applies its own mask value that is 24 to this IP address, which is 12 .1.1.2 and it gets 12
.1.1.0 slash 24, which is same as E's network ID, right.
So E concludes that destination machine D is present in its own subnet.
Right?
Now, once the source machine concludes that the destination machine to which it is trying to send a
frame is present in the local subnet.
Therefore, source machine can now launch a broadcast request message to know the Mac address corresponding
to IP address.
12 .1.1.2.
So in step five EA now wants to know these Mac address.
EA sends out ARP request message on all local interfaces operating in the network ID 12.1 .1.0 slash
24.
Now in this topology EA has only one interface, which is IAF and it is operating in the network.
12 .1.1.0 and therefore EA will launch ARP broadcast request message only out of interface IAF.
So in step number six, the host machine EA places its frame on the wire.
Now, let us see in the next slide that what are the various values present in the ARP broadcast request
message that is generated by the host machine?
E.
So you can see that this is the ARP broadcast request message which is generated by the host machine
and is placed on the wire in order to know the Mac address of the destination machine.
D So again, the ARP broadcast request message, end of the day is an Ethernet packet and therefore
it contains an Ethernet header.
The destination Mac address is the broadcast address because it's a because it is a ARP broadcast request
message.
This ARP broadcast request message will be received by all other machines present in the same subnet.
So note that the destination Mac address of our broadcast request message is a broadcast address.
The source Mac address will be the Mac address of an interface on which the broadcast request message
is issued by the source machine.
So in this case, the source Mac address will be M, which is the Mac address of local interface if
of source machine E.
The type field is 806.
So 806 is a standardized value which represents that.
The next header following the ethernet header is actually ARP header.
So this 806 value do not say whether it is our broadcast request message or it is our reply message.
It just says that the next protocol, which is encapsulated by this Ethernet header, is ARP message.
Now coming to the payload part of this Ethernet header that is this is payload.
Now, this payload could be ARP broadcast request message or it can be ARP reply message.
Now the distinction between the ARP broadcast request and ARP reply message is done by reading the value
of the opcode present in the message format of our protocol.
So remember there was a field called Opcode.
If the value of this field is one, then it means that this Ethernet frame is carrying ARP broadcast
request message.
And if this value was two, then this Ethernet frame was supposed to carry the ARP reply message.
I have shown only the important fields, which is important and relevant from the point of understanding
the functioning of our protocol.
So the source Mac address that is present in our broadcast request message will be the Mac address of
the source machine.
E and the source IP address will be the IP address of the source machine E which is 12 .1.1.3.
Now this is the destination Mac address field which actually e wants to know and therefore it is filled
with all zero values.
So it is this field which actually the source machine E is trying to know, and therefore the source
machine E is taking all the pains of issuing a broadcast request message to know the destination Mac
address of the destination machine D and the final field is the destination IP address, which is the
IP address of the destination machine D, which is 12 .1.1.2.
So you can see that this snapshot shows what are the various values present in various fields of our
broadcast request message.
Of course, this ARP broadcast request header is not drawn as per the specification.
I have shown only the relevant fields which is important and relevant from the point of understanding
the functioning of our protocol.
So it is this our broadcast request message which is finally placed by source machine on the wire in
an attempt to know the destination Mac address of Destination Machine D.