Quantcast
Channel: CB5 Blog - Networking
Viewing all articles
Browse latest Browse all 20

Follow the Bouncing Packet: End to End, B to A

$
0
0

FtBP: End-to-End, B-to-A

Part 8/8

 

                Last time we talked about how a network packet changes through a NAT device, and we finished off the transit of our network packet to Computer B. Today we will follow a network packet from Computer B back to Computer A. Here is the Diagram we will work with:

 

               

 

 Packet Creation on Computer B

                Computer B will first need to create the network packet. It does this by following the rules outlined in Part 2. First it will use the client application to determine the network ports (because a connection is already established it will use the existing connection; seen w/ netstat  -ano). The client will then use ARP to find the MAC of the next hop (in this case the default gateway). Here is Computer B's configuration, as well as the resulting network packet:

                Physical Address. . . . . . . . . : 11-11-11-11-11-11<-Used for SourceMAC

               

                IPv4 Address. . . . . . . . . . . : 192.168.1.100 <-Used for SourceIP

                Subnet Mask . . . . . . . . . . . : 255.255.255.0

               

                Default Gateway . . . . . . . . . : 192.168.1.1

               

IPv4 Route Table                                                             

===========================================================================                                                       

Active Routes:                                                  

Network Destination      Netmask                              Gateway             Interface              Metric

0.0.0.0                                   0.0.0.0                                   192.168.1.1         192.168.1.100     20

192.168.1.0                         255.255.255.0                     On-link                 192.168.1.100     276

192.168.1.100                     255.255.255.255                On-link                 192.168.1.100     276

192.168.1.255                     255.255.255.255                On-link                 192.168.1.100     276

127.0.0.0                              255.0.0.0                              On-link                 127.0.0.1              306

127.0.0.1                              255.255.255.255                On-link                127.0.0.1              306

127.255.255.255                255.255.255.255                On-link                 127.0.0.1              306

224.0.0.0                              240.0.0.0                              On-link                 127.0.0.1              306

224.0.0.0                              240.0.0.0                              On-link                 192.168.1.100     276

255.255.255.255                255.255.255.255                On-link                 127.0.0.1              306

255.255.255.255                255.255.255.255                On-link                192.168.1.100     276

===========================================================================                                                       

Persistent Routes:                                                           

  None                                  

L2-[Source MAC: 11-11-11-11-11-11| Destination MAC: 10-10-10-10-10-10]

L3-[Source IP: 192.168.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

Switching the Network Packet (on Switch B)

                Switch B will receive the packet from Computer B and now need to figure out where it goes (See Part 3). It will do this by looking in its local MAC Address Table for a match to the DestMAC. Here is the Switch's configuration that will cause it to send the packet out Int-1:

                MAC Address                                    Interface

                10-10-10-10-10-10                            Int-1

                11-11-11-11-11-11                            Int-2

 

Routing the Network Packet (on Router B)

                Router B will then determine if it is the intended recipient by first comparing the DestMAC to its own (on the receiving interface). It will then apply routing rules to find the next hop (See Part 4), and then ARP for that MAC address (it will use the MAC of its outside interface; 09-09-09-09-09-09). Here is the local routing table and the resulting network packet.

                Network              Netmask                              Gateway             Interface             

                192.168.1.0         255.255.255.0                     On-Link                192.168.1.1

                30.1.1.0                255.255.255.0                     On-Link                30.1.1.2

                10.1.1.0                255.255.255.0                     30.1.1.1                30.1.1.2

  

L2-[Source MAC: 09-09-09-09-09-09| Destination MAC: 08-08-08-08-08-08]

L3-[Source IP: 192.168.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

Processing Through the NAT Engine (on Firewall B)

                The NAT device will then need to change back the IP address to something routable on Computer A's network (See Part 7). Here is the xlate table from Firewall B as well as the resulting network packet:

                Outside IP           Inside IP                                                                                                                                                             

                11.1.1.100                192.168.1.100

L2-[Source MAC: 09-09-09-09-09-09| Destination MAC: 08-08-08-08-08-08]

L3-[Source IP: 11.1.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

 

Transversing the VPN Tunnel

                Using its local routing table, Firewall B will then determine that, to get to the 10.1.1.x network, it will need to use its PPP interface. This means that the packet will need to be encapsulated (See Part 6). Firewall B (IP of 20.1.1.2 and MAC of 07-07-07-07-07-07) will ARP for the MAC of Firewall A (IP of 20.1.1.1 and MAC of 06-06-06-06-06-06). Here is the routing table from Firewall B and the resulting network packet:

                Network              Netmask                              Gateway             Interface             

                192.168.1.0         255.255.255.0                     30.1.1.2                30.1.1.1               

                10.1.1.0                255.255.255.0                     20.1.1.1                PPP

L2-[Source MAC: 07-07-07-07-07-07| Destination MAC: 06-06-06-06-06-06]

L3-[Source IP: 20.1.1.2 | Destination IP: 20.1.1.1]

L4-[Source Port: UDP 500 | Destination Port: UDP 500]

Data-    {[Source MAC: 09-09-09-09-09-09 | Destination MAC: 08-08-08-08-08-08]}

                {[Source IP: 11.1.1.100 | Destination IP: 10.1.1.100]}

                {[Source Port: TCP 445 | Destination Port: TCP 1025]}

 

                Firewall A will receive this packet on its PPP interface, and strip off the encapsulation to be left with:

L2-[Source MAC: 09-09-09-09-09-09| Destination MAC: 08-08-08-08-08-08]

L3-[Source IP: 11.1.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

 

Applying the Firewall Filters

                Firewall A will then make sure that this packet meets its filter rules (See Part 5. After the rules are checked it will act as a router and find the next hop in delivery of this packet using its local routing table. It will then ARP for Router A's IP (Router A at 12.1.1.1 and MAC of 04-04-04-04-04-04; out Firewall A's inside interface at 12.1.1.2 and MAC of 05-05-05-05-05-05). Here is Firewall A's filter rule set, it local routing table, and the resulting network packet:

                (1a)SourceIP      (1b)NetMask     (2)SourcePort    (3a)DestIP           (3b)NetMask     (4)DestPort

                10.1.1.x              /24                    Any                    11.1.1.x                 /24                   TCP 445

                11.1.1.x              /24                    TCP 445             10.1.1.x                 /24                   Any

 

                Network              Netmask                              Gateway             Interface             

                12.1.1.0                255.255.255.0                     On-link                 12.1.1.2               

                11.1.1.0                255.255.255.0                     20.1.1.2                PPP

                10.1.1.0                255.255.255.0                     12.1.1.1                12.1.1.2

L2-[Source MAC: 05-05-05-05-05-05| Destination MAC: 04-04-04-04-04-04]

L3-[Source IP: 11.1.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

 

Routing the Network Packet (on Router A)

                Router A will then determine if it is the intended recipient by first comparing the DestMAC to its own (on the receiving interface). It will then apply routing rules to find the next hop (See Part 4), and then ARP for that MAC address (The MAC of 10.1.1.100 since it is on the local link which is 01-01-01-01-01-01, and it will use the MAC of its inside interface; 03-03-03-03-03-03). Here is the local routing table and the resulting network packet.

                Network              Netmask                              Gateway             Interface             

                10.1.1.0                255.255.255.0                     On-link                 10.1.1.1               

                11.1.1.0                255.255.255.0                     12.1.1.2                12.1.1.1

 

L2-[Source MAC: 03-03-03-03-03-03| Destination MAC: 01-01-01-01-01-01]

L3-[Source IP: 11.1.1.100| Destination IP: 10.1.1.100]

L4-[Source Port: TCP 445 | Destination Port: TCP 1025]

 

 

Switching the Network Packet (on Switch A)

                Switch B will receive the packet from Computer B and now need to figure out where it goes (See Part 3). It will do this by looking in its local MAC Address table for a match to the DestMAC. Here is the Switch's configuration that will cause it to send the packet out Int-1:

                MAC Address                                    Interface

                01-01-01-01-01-01                            Int-1

                02-02-02-02-02-02                            Int-2

                03-03-03-03-03-03                            Int-3

 

Receiving the Network Packet

                Computer A will then receive the network packet and check to make sure that it is the intended recipient. It will first look at the MAC address for a match to DestMAC. Then it will look at the IP address for a match to DestIP. When it finds that these two match it will send the data in the packet up the stack to the upper layer protocols.

 

Summary

                So there we go. Amazing that something that happens so naturally is so lengthy and complicated. We barely scratched the surface in this series, but hopefully this helped to grasp a conceptual understanding of how packets flow within a network.

                When I was first learning networking my mentor gave me a Chart, much like the one below, to track how a packet changes from hop to hop. If you are interested, I would encourage you to practice filling this out; it was a great learning tool for me. Hopefully this will help you too:

Packet flow from Computer A to Computer B

At Device

SrcMAC

SrcIP

SrcPort

DestMAC

DestIP

DestPort

Computer A

01-01-01-01-01-01

10.1.1.100

TCP 1025

03-03-03-03-03-03

11.1.1.100

TCP 445

Router A

04-04-04-04-04-04

10.1.1.100

TCP 1025

05-05-05-05-05-05

11.1.1.100

TCP 445

Firewall A

06-06-06-06-06-06

20.1.1.1

UDP 500

07-07-07-07-07-07

20.1.1.2

UDP 500

Firewall B

08-08-08-08-08-08

10.1.1.100

TCP 1025

09-09-09-09-09-09

192.168.1.100

TCP 445

Router B

10-10-10-10-10-10

10.1.1.100

TCP 1025

11-11-11-11-11-11

192.168.1.100

TCP 445

 

Packet flow from Computer B to Computer A

At Device

SrcMAC

SrcIP

SrcPort

DestMAC

DestIP

DestPort

Computer B

11-11-11-11-11-11

192.168.1.100

TCP 445

10-10-10-10-10-10

10.1.1.100

TCP 1025

Router B

09-09-09-09-09-09

192.168.1.100

TCP 445

08-08-08-08-08-08

10.1.1.100

TCP 1025

Firewall B

07-07-07-07-07-07

20.1.1.2

UDP 500

06-06-06-06-06-06

20.1.1.1

UDP 500

Firewall A

05-05-05-05-05-05

11.1.1.100

TCP 445

04-04-04-04-04-04

10.1.1.100

TCP 1025

Router A

03-03-03-03-03-03

11.1.1.100

TCP 445

01-01-01-01-01-01

10.1.1.100

TCP 1025

 

  

Follow the Bouncing Packet - Series Navigation

Part1: Prerequisites

Part2: Packet Formation

Part3: Switching

Part4: Routing

Part5: Firewalls

Part6: VPN Tunnel

Part7: NAT and PAT

Part8: End-to-End, B-to-A


Viewing all articles
Browse latest Browse all 20