![]() | ![]() |
L2TP is normally used in conjunction with IPsec, so that IPsec can provide the encryption. This results in a heavily layered protocol stack. Figure 14-4 shows the layers of encapsulation involved in sending a TCP packet via LT2P securely over an IP network.
Direction | Source Addr. | Dest. Addr. | Protocol | Source Port | Dest. Port | Notes |
---|---|---|---|---|---|---|
In | Ext | Int | UDP | >1023 | 1701 | External client to internal server |
Out | Int | Ext | UDP |
1701[40]
|
>1023 | Response, internal server to external client |
Out | Int | Ext | UDP | >1023 | 1701 | Internal client to external server |
In | Ext | Int | UDP | 1701 | >1023 | Response, external server to internal client |
[40]The standard does not require L2TP servers to return packets from port 1701; they must receive packets at 1701 but may send them from any port. Many servers will send packets from 1701 to simplify interactions with network address translation and dynamic packet filtering.
If you use an L2TP implementation where the endpoint sends replies from a randomly chosen port, rather than from port 1701, you may have difficulty getting the replies through an address translation system. The translation system will not recognize the packets as replies because the new source port is not the same as the previous destination port.