i am learning networking and vpn technologies now and i have some problems with understanding the whole PPTP encapsulation process. So i will write steps of PPTP encapsulation process (as i understand them) and below i will write questions to this process:

  1. client and server establish tunnel for managing connection.
  2. client and server establish tunnel for messaging over TCP, port number 1723 (this stage seams to be clear, but correct me if there are mistakes)
  3. tunnels are established and client is going to send some data, let it be HTTP query for example. I have red (i dont remember, where), that next there are following steps (4-7):
  4. client's software is going through data from upper layer of OSI model to lower layer to make PPP's information part.
  5. then software is making reverse process: going from lower layers and encapsulating each level of OSI model with upper layer protocol.
  6. the whole packet is being encrypted and encapsulated to PPP header.
  7. PPP header is encapsulated to IP header using GRE and the final packet, which is gonna be send to the PPTP server looks like: [IP header][GRE header][PPP header][encrypted data]

So the questions are:

  • First of all please correct me if i have mistaken in PPTP connection establishing and data sending process
  • Step 1: is this managing tunnel is just some notes in server's/client's software and this tunnel doesn't work over TCP/UDP?
  • Step 5: why we need this part? Why we cant encapsulate on the step 3.1?
  • Step 7: how we send this packet from client to his router (for example), if there are now info in PPP header about mac addresses?

Sorry for very silly questions, but i was googling for few days and i haven't found answers to my questions and i quietly losing my mind...

  • "if there are now info in PPP header about mac addresses?" Only the IEEE protocols use MAC addressing (some use 48-bit MAC addresses, and some use 64-bit MAC addresses). Other protocols use other addressing (frame relay uses DLCI, ATM uses VPI/VCI, etc.), and yet other protocols, like PPP, use no addressing. With PPP, there are exactly two endpoints, so anything sent from one is destined to the other, so no addressing is necessary.
    – Ron Maupin
    Nov 24, 2019 at 19:10

1 Answer 1


PPTP is like PPP, but instead of a direct, point-to-point connection it uses a TCP socket. PPP is an L3 interface, so it doesn't use MAC addresses.

In respect to OSI layers, PPTP sits on top of L4 and presents itself as an L3 interface to its upper layer.

Over Ethernet, tunneling a UDP packet would look like this:

UDP -> (inner)IP -> PPTP -> TCP -> (outer)IP -> Ethernet -> (outer)IP -> TCP -> PPTP -> (inner)IP -> UDP

A (public) router in the path just sees the outer IP packet. It's also possible that the inner IP packet crosses a (private) router and then gets encapsulated by a border gateway (like in a VPN scenario). Note that PPTP doesn't support encryption, but of course you can pass transport-layer encrypted data, e.g. using TLS.

That doesn't directly answer your questions but I hope things get clearer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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