This project intends to clarify the encapsulation process and the tunnelling protocol technologies used in VPN by illustrating the different concepts using Macromedia Flash.

Authors Avatar

cs4 final year project report                                

        CONTENTS

Abstract                                                                           i

Acknowledgements                                                                  ii

Books        

Internet        


Abstract

The Internet has forever changed the way that we do business. An outgrowth of Internet technology and thinking, Virtual Private Networks (VPN) are transforming the daily method of doing business faster than any other technology. VPN uses the Internet as the transport backbone to establish secure links with business partners, extend communications to regional and isolated offices, and significantly decrease the cost of communications for an increasingly mobile workforce.

The project focuses on today’s VPN technology and its tunnelling protocols. The foundation provided by this study is used to illustrate the above-mentioned topics in a pedagogical way for a final year Computer Science student. It is assumed that the user already has an understanding of the general principles of networking. The software-developing tool Macromedia Flash has been used to present this.

The topics that are covered within the Flash presentation are as followed:

  • The encapsulation process
  • Datagram transmitted across Internet
  • The IP datagram format
  • Virtual Private Network (VPN)
  • VPN encapsulation
  • Tunnelling protocols used in VPN
  • IPSec
  • L2TP

Audio has been added to the presentation explaining every animation in detail.  


Acknowledgements

This report is the result of many hours effort. However, it would not have been possible without the help and guidance of a couple of individuals.  

I would like to express my gratitude to my project supervisor, Colin Egan, for undertaking the responsibility of supervising the project and for his invaluable optimistic attitude throughout the year.

James Malcolm, my Networking tutor for his advise about the topic, even though I always turned up at the most inopportune moments.

I would also like to show my appreciation towards my family and my fiancée for being patient and understanding.  


1.        Introduction

1.1        Project Motivation

I came from a computer networking related background, which had a great influence on my choice for this project. I concentrated on the Networking and the Programming subjects during my first two years plus a Final Year HND Project in Local Area Networking.

Another aspect that influenced me was my summer job at VOLVO IT (The Swedish Car Company's IT Department), where I worked for five summers with different computer related subjects such as, PC support, Novell, NT, hardware and software etc.

I would like to undertake this project to develop my networking skills by creating a pedagogical application to illustrate the encapsulation and tunnelling technology used in VPNs. The software application tool is Macromedia Flash.

The motivation for the multimedia field in this project is revolved around the large amount of motion graphics created for the Web today. By using Flash, I will develop my multimedia skills as well as my networking skills.        

1.2        Aims and Objectives

This project intends to clarify the encapsulation process and the tunnelling protocol technologies used in VPN by illustrating the different concepts using Macromedia Flash. The animations are in a pedagogical way for a final year computer science student, who will be the user of the application. It is assumed that the user already has an understanding of the general principles of networking.

The core objectives of the project were:

  • Gain an understanding about VPNs and their behaviour by extensive research within the subject
  • Gain an understanding about the encapsulation process and the tunnelling protocol technologies used in VPN by extensive research within the subject
  • Due to the fact that the project has a pedagogical purpose, the large amount of research must be used in a very consist and accurate way for the animations
  • Produce animation that illustrates the encapsulation process by using the software development tool Macromedia Flash
  • Extend the encapsulation process by explaining the tunnelling process used in VPNs by using Macromedia Flash
  • Create a user-friendly interface where the user can study the animation of the actual encapsulation process by using Macromedia Flash

The advanced objectives of the project were:

  • Illustrate the tunnelling process in VPNs by using one or two of the three major protocols used when building VPNs: IPSec, PPTP and L2TP
  • Add audio to the animations, explaining the entire process in detail, enabling the application to be more pedagogical
  • Provide online help system and printing option for the application

1.3        Report Structure

There are eleven chapters and five appendices in this report:

  • Chapter Two – Background

Describes the amount of research behind this project and what I have achieved during the process.

  • Chapter Three – Computer Networking

Describes the IPv4 header structure and how IP datagrams are encapsulated and send across Internet.

  • Chapter Four – Virtual Private Network (VPN)

Explains what VPN is and how security is implemented in VPN. The common VPN situations and VPN encapsulation is also explained.

  • Chapter Five – Tunnelling Technology

Outlines the two types of tunnelling technology behind VPNs and the tunnelling protocols used within VPNs.

 

  • Chapter Six – Internet Protocol Security (IPSec)

Describes IPSec and its two protocols AH and ESP used for authentication and encryption in the two different types of VPN tunnels.

  • Chapter Seven – Point-to-Point Tunnelling Protocol (PPTP)

Explains how PPTP operates and its limited authentication methods for VPNs.

  • Chapter Eight – Layer 2 Tunnelling (L2TP)

Outlines the two different types of L2TP tunnels within VPNs and compares it with PPTP. It also explains the IPSec implementation within L2TP.

 

  • Chapter Nine – Software Application Tools

Explains what kind of software tools were chosen for this project and its reason.

 

  • Chapter Ten – The Result of The Research

The outcome of the project, a Macromedia Flash presentation about the encapsulation and tunnelling process in VPNs, is illustrated here. Testing and evaluation of the product is also included.

  • Chapter Eleven – Conclusion and Evaluation

Includes conclusion and personal development as well as future development.

  • Bibliography

  • Appendix A

A list of definition of terms.

  • Appendix B

Topic description of the Flash presentation.

  • Appendix C

Final testing of the application.

  • Appendix D

Questionnaire and evaluation of the application

  • Appendix E

Coding

2.        Background      

Due to the fact that the project has a pedagogical purpose, the large amount of research that have been made must be summarised and implemented within the animations in Macromedia Flash. The summarisation must be done in a very consist and accurate way for the animations to enable the user to gain perfect understanding of the actual process going on.

2.1        Research        

The project is built from the foundation of good Computer Science techniques that have been studied previously. For example, the networking skills from previous academic years and the work experience gained at the VOLVO IT department in Sweden, plus a great amount of research through the academic year.

During the project process I have learned encapsulation, tunnelling, IP headers and trailers, VPN and its tunnelling protocols and the multimedia software tool Macromedia Flash.  

By researching about encapsulation and VPN, I have discovered that VPN is a very large topic. The various ways of connecting and creating a VPN such as, router to router, host to router, host to host, and router to host. Also the different tunnelling protocol technologies used [COSIU98] such as:

  • Internet Protocol Security (IPSec) is a standard created to add security to TCP/IP networking  
  • Point-to-Point -tunnelling Protocol (PPTP) is strictly a tunnelling protocol and does not include encryption or key-management mechanisms  
  • Layer 2 Tunnelling Protocol (L2TP) was created as the successor to the two tunnelling protocols, PPTP created by Microsoft, and Layer2 Forwarding (L2F) created by Cisco                 

Due to the fact that VPN is a large topic to work with and due to constraints such as time, the outcome of this project will only satisfy the needs of a final year computer science student. It will clarify the students' sceptical thoughts about the encapsulation process and the different tunnelling protocol technologies used in VPNs.


  1. Computer Networking

3.1        Computer Networking in General

Computer networks have been growing explosively and have now become an essential part of the infrastructure. Networking is used in every aspect of the business, including advertising, production, shipping, planning, billing and accounting. Consequently, most corporations have multiple networks.

The growth in networking has an economic impact as well. Data networks have made telecommuting available to individuals and have changed business communication. In addition, an industry has emerged that develops networking technologies, products and services such as Virtual Private Networks (VPN).

By running VPN over Internet enables secure communication among the company’s different offices, wherever they may be located. It provides greater flexibility and a lower cost than using private networks set up with leased lines and modem banks [PETER00] and [KOSIU98].    

Before describing how VPN operates, the encapsulation technology must first be explained.

3.2        Encapsulation

When a host or a router transmits a datagram to its destination across a physical network, the network hardware does not understand datagram format or Internet addressing. Instead, each hardware technology defines a frame format specific to its subnetwork type and a physical addressing scheme. The hardware only accepts and delivers packets that are attached to the specific frame format and use the specific hardware addressing scheme [COMER99] and [PETER00].

What actually happens is that an IP datagram is encapsulated in a frame; the entire datagram is placed in the data area of a frame.  The datagram or the payload is the data, which is being transmitted on behalf of the application. An outer IP header is added before the original inner IP header. Between them are any other headers for the path, such as security headers specific to the tunnel configuration [SIMPS95], [ENYNC99], [MAUFE99], [COMER99] and [PETER00].

Attached to the front of the message, the inner IP header Source Address and Destination Address identifies the original sender and recipient of the datagram, respectively. The outer IP header Source Address and Destination Address identifies the "endpoints" of the tunnel [SIMPS95], [ENYNC99], [MAUFE99], [COMER99] and [PETER00]. Figure 3 illustrates the concept.

The inner IP header is not changed by the encapsulation, except to decrement the TTL (Time To Live), and remains unchanged during its delivery to the tunnel exit point. This will be explained in more details in Section 3.3.1. No change to IP options in the inner header occurs during delivery of the encapsulated datagram through the tunnel. If necessary, other protocol headers such as the IP Authentication Header may be inserted between the outer IP header and the inner IP header [SIMPS95] and [MAUFE99].

In some cases, peer-to-peer control information is sent at the end of the message where it is called a trailer [PETER00].

3.2.1        Encapsulation Across Internet

Encapsulation applies to one transmission at a time. After encapsulating the datagram in a frame and transmitted across a physical network to its destination host, the receiving software removes the IP datagram and discards the frame. If the datagram must be forwarded across another network, a new frame is created. Due to the fact that the Internet can contain heterogeneous network technology, the frame format can differ. But the frame headers do not accumulate during a trip through Internet [MAUFE99], [SIMPS95] and [COMER99].

This use of encapsulation and decapsulation of a datagram is frequently referred to as "tunnelling" the datagram. Figure 3.1 illustrates the concept on the next page. When the datagram passes across a physical network, the datagram is encapsulated in a frame with a specific outer header size suitable for the network technology. For example if network 1 is an FDDI ring, the header in frame 1 is an FDDI header. Similarly, if network 2 is an Ethernet, the header in frame 2 is an Ethernet header [SIMPS95] and [PETER00].




3.3        IP Datagram

The IP datagram is fundamental to the Internet Protocol. A datagram is a type of packet that is transmitted over a network. Like most packets, it consists of a header followed by a number of bytes of data. Every datagram carries enough information to let the network forward the packet to its correct destination. The network will make its best effort to reach the desired destination. This is sometimes called an unreliable service due to the fact that if something goes wrong and the packet gets lost, corrupted or miss-delivered, the network will not take any further actions to deliver the packet to its intended destination [LOSHI99], [MURHA98], [SIMPS95] and [PETER00].

3.3.1        IP Datagram Format

The format of the header, in this case the currently deployed version, IP version 4, is illustrated in Figure 3.2. The inner header and the outer header have the same data structure [MAUFE99].

Version

The version field specifies the version of the IP protocol. The current version of IP is 4 and is sometimes called IPv4.

HLen, Header Length
The Header Length is the length of the IP header measured in 32-bit words.  This does not include the data field.

TOS, Type of Service
The Type of Service field specifies the parameters for the type of service requested for the IP datagram.

Total Length
The Total Length measures the length of the entire encapsulated IP datagram, including the outer IP header, the inner IP header, and its payload/data, specified in bytes.

Identification
A unique number assigned by the sender to aid in reassembling a fragmented datagram. Fragments of a datagram will have the same identification number.

Flags

Various control flags:

R, Reserved 1 bit
This bit is reserved and must be set to 0.

DF, Don't fragment 1 bit
This bit controls the fragmentation of the datagram. This is copied from the inner IP header. 0 means allow fragmentation, 1 means do not allow fragmentation.

MF, More fragments 1 bit
This is set as required when fragmenting. 0 means that this is the last fragment of the datagram, 1 means that this is not the last fragment.

Fragment Offset
Used to direct the reassembly of a fragmented datagram.

TTL, Time to Live
This field specifies the time, in seconds, the datagram is allowed to travel. When the value reaches zero. It is assumed that the datagram has been travelling in a closed loop and it is discarded. The initial value is set by the higher-level protocol that creates the datagram.

The inner Time To Live field is decremented once before encapsulation, and is not affected by decapsulation. But in the outer IP header it is set to a value appropriate for delivery of the encapsulated datagram to the tunnel exit point.

Protocol
This field is simply a demultiplexing key that identifies the higher-level protocol to which the IP packet should be passed. There are values defined for Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) with the values of respectively 6 and 17.  

Header Checksum

This field is the checksum on the header only. It is calculated by considering the entire IP header as a sequence of 16-bit words. It does not include the data. If the header checksum does not match the contents, the datagram is discarded because at least one bit in the header is corrupt, and the datagram may even have arrived at the wrong destination.

Source Address

This field contains the 32-bit IP address of the host sending the datagram. The source address is required to allow recipients to decide if they want to accept the packet and to enable them to reply.

Destination Address
This field contains the 32-bit IP address of the destination host for the datagram. It is the key to datagram delivery. Every packet contains a full address for its intended destination so that forwarding decisions can be made at each router.

Options 

This field has a variable length. Any options present in the inner IP header are in general NOT copied to the outer IP header. However, new options specific to the tunnel path MAY be added. In particular, any supported types of security options of the inner IP header MAY affect the choice of security options for the outer header.

Join now!

Padding

This field has a variable length and is used as a filler to guarantee that the data starts on a 32-bit boundary.

Data

This field contains the data in the datagram and is passed to a higher level protocol, as specified in the protocol field.

3.4        Internet Protocol Version 6 (IPv6)

Due to the fact that the Internet is growing extremely rapidly, the Internet Engineering Task Force (IETF) began looking at the problem of expanding the IP address space in 1991. The effort to define a new version of IP is now known as IPv6, which ...

This is a preview of the whole essay