You are on page 1of 28

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG


KHOA CÔNG NGHỆ THÔNG TIN

Tìm hiểu về giao thức đường hầm Generic Routing


Encapsulation (GRE) Tunnels và minh họa

THỰC TẬP CƠ SỞ
Ngành: Truyền thông và mạng máy tính

Giáo viên hướng dẫn : Nguyễn Huỳnh Huy


Sinh viên thực hiện : Nguyễn Mai Diễm Hương
Lớp : 61.CNTT-3
MSSV : 61133717

1
Chương I: TÌM HIỂU VỀ GIAO THỨC ĐƯỜNG HẦM.............................................3
1.1 Giới thiệu các giao thức đường hầm......................................................................3
1.2 PPTP (Point - to - Point Tunneling Protocol).......................................................3
1.2.1. Nguyên tắc hoạt động của PPTP....................................................................3
1.2.2. Nguyên tắc kết nối điều khiển đường hầm theo giao thức PPTP.................4
1.2.3. Nguyên lý đóng gói dữ liệu đường hầm PPTP...............................................5
1.3. L2F (Layout 2 Forwarding)..................................................................................7
1.3.1. Nguyên tắc hoạt động của L2F.......................................................................7
1.3.2. Cấu trúc gói của L2F.......................................................................................9
1.4. L2TP (Layer Two Tunneling Protocol)................................................................9
1.4.1. Quá trình xử lý L2TP......................................................................................9
1.4.2. Cấu trúc gói dữ liệu L2TP:...........................................................................11
1.5. IPSec (IP Security Protocol)................................................................................11
1.5.1. Cơ chế làm việc của IPSec.............................................................................12
1.5.2. Các chế độ đóng gói dữ liệu IP của IPSec....................................................13
1.6. GRE (Generic Routing Encapsulation)..............................................................14
1.6.1. Khái niệm GRE..............................................................................................14
1.6.2. Các ưu điểm của GRE...................................................................................15
1.6.3. Phân loại GRE...............................................................................................15
1.6.3.1. Point-to-Point GRE.................................................................................15
1.6.3.2. Point-to-Multipoint GRE (mGRE)........................................................16
1.6.4. Cơ chế hoạt động của GRE...........................................................................17
CHƯƠNG II: MÔ PHỎNG CHƯƠNG TRÌNH..........................................................18
2.1. Các phần mềm sử dụng.......................................................................................18
2.1.1. Cisco Packet Tracer.......................................................................................18
2.1.2. Wireshark.......................................................................................................19
2.2. Mô phỏng..............................................................................................................20

2
Chương I: TÌM HIỂU VỀ GIAO THỨC ĐƯỜNG HẦM
1.1 Giới thiệu các giao thức đường hầm
Có rất nhiều giao thức đường hầm khác nhau trong công nghệ VPN, và việc sử
dụng các giao thức nào lên quan đến các phương pháp xác thực và mật mã đi kèm. Một
số giao thức đường hầm phổ biến hiện nay là:
 Giao thức tầng hầm chuyển tiếp lớp 2 (L2F).
 Giao thức đường hầm điểm tới điểm (PPTP).
 Giao thức tầng hầm lớp 2 (L2TP).
 GRE
 IPSec
Trước hết ta phân biệt 2 giao thức đầu tiên là PPTP(Point - to - Point Tunneling
Protocol) và L2F(Layer two Forwarding). PPTP là giao thức do nhiều công ty hợp tác
phát triển. L2F là do Cisco phát triển độc lập. PPTP và L2F đều được phát triển dựa trên
giao thức PPP (Point - to - Point Protocol). PPP là một giao thức truyền thông nối tiếp lớp
2, có thể sử dụng để đóng gói dữ liệu liên mạng IP và hỗ trợ đa giao thức lớp trên. Trên
cơ sở PPTP và L2F, IETF đã phát triển giao thức đường ngầm L2TP. Hiện nay giao thức
PPTP và L2TP được sử dụng phổ biến hơn L2F.
Trong các giao thức đường hầm nói trên, IPSec là giải pháp tối ưu về mặt an toàn dữ liệu
của gói tin. Nó được sử dụng các phương pháp xác thực và mật mã tương đối cao. IPSec
mang tính linh động hơn, không bị ràng buộc bởi các thuật toán xác thực hay mật mã nào
cả.
1.2 PPTP (Point - to - Point Tunneling Protocol)
1.2.1. Nguyên tắc hoạt động của PPTP
PPP là giao thức truy nhập vào Internet và các mạng IP phổ biến hiện nay. Nó làm
việc ở lớp liên kết dữ liệu trong mô hình OSI, PPP bao gồm các phương thức đóng gói,
tách gói IP, là truyền đi trên chỗ kết nối điểm tới điểm từ máy này sang máy khác.
PPTP đóng gói các khung dữ liệu của giao thực PPP vào các IP datagram để
truyền qua mạng IP (Internet hoặc Intranet). PPTP dùng một kết nối TCP (gọi là kết nối
điều khiển PPTP) để khởi tạo, duy trì, kết thúc đường ngầm; và một phiên bản của giao
thức GRE (Generic Routing Encapsulation - đóng gói định tuyến chung) để đóng gói các
khung PPP. Phần tải tin của khung PPP có thể được mật mã hoặc/và giải nén.

3
PPTP sử dụng PPP để thực hiện các chức năng :
 Thiết lập và kết thức kết nối vật lý
 Xác định người dùng
 Tạo các gói dữ liệu PPP.
PPTP có thể tồn tại một mạng IP giữa PPTP khách và PPTP chủ của mạng. PPTP
khách có thể được đấu nối trực tiếp tới máy chủ thông qua truy nhập mạng NAS để thiết
lập kết nối IP. Khi kết nối được thực hiện có nghĩa là người dùng đã được xác nhận. Đó
là giai đoạn tuy chọn trong PPP, tuy nhiên nó luôn luôn được cung cấp bởi ISP. Việc xác
thực trong quá trình thiết lập kết nối dựa trên PPTP sử dụng các cơ chế xác thực của kết
nối PPP. Một số cơ chế xác thực được sử dụng là :
 Giao thức xác thực mở rộng EAP (Extensible Authentication Protocol)
 Giao thức xác thực có thử thách bắt tay CHAP (Challenge Handshake
Authentication Protocol)
 Giao thức xác nhận mật khẩu PAP (Password Authentication Protocol)
Giao thức PAP hoạt động trên nguyên tắc mật khẩu được gửi qua kết nối dưới dạng
văn bản đơn giản và không có bảo mật. CHAP là giao thức các thức mạnh hơn, sử dụng
phương pháp bắt tay ba chiều để hoạt động, và chống lại các tấn công quay lại bằng cách
sử dụng các giá trị bí mật duy nhất và không thể đoán và giải được.
Khi PPP được thiết lập kết nối, PPTP sử dụng quy luật đóng gói của PPP để đóng gói
các gói truyền trong đường hầm. Để có thể dự trên những ưu điểm của kết nối tạo bởi
PPP, PPTP định nghĩa hai loại gói là điểu khiển và dữ liệu, sau đó gán chúng vào hai
kênh riêng là kênh điều khiển và kênh dữ liệu. PPTP tách các kênh điều khiển và kênh dữ
liệu thành những luồng điều khiển với giao thức điều khiển truyền dữ liệu TCP và luồng
dữ liệu với giao thức IP. Kết nối TCP tạo ra giữa các máy khách và máy chủ được sử
dụng để truyền thông báo điều khiển.
Các gói dữ liệu là dữ liệu thông thường của người dùng. Các gói điều khiển được đua
vào theo một chu kì để lấy thông tin và trạng thái kết nối và quản lý báo hiệu giữa ứng
máy khách PPTP và máy chủ PPTP. Các gói điều khiển cũng được dùng để gửi các thông
tin quản lý thiết bị, thông tin cấu hình giữa hai đầu đường hầm.
Kênh điều khiển được yêu cầu cho việc thiết lập một đường hầm giữa các máy khách
và máy chủ PPTP. Máy chủ PPTP là một Server có sử dụng giao thức PPTP với một giao
diện được nối với Internet và một giao diện khác nối với Intranet, còn phần mềm client có
thể nằm ở máy người dùng từ xa hoặc tại các máy chủ ISP.

4
1.2.2. Nguyên tắc kết nối điều khiển đường hầm theo giao thức PPTP
Kết nối điều khiển PPTP là kết nối giữa địa chỉ IP của máy khách PPTP và địa chỉ
máy chủ. Kết nối điều khiển PPTP mang theo các gói tin điều khiển và quản lý được sử
dụng để duy trì đường hầm PPTP. Các bản tin này bao gồm PPTP yêu cầu phản hồi và
PPTP đáp lại phải hồi định kì để phát hiện các lỗi kết nối giữa các máy trạm và máy chủ
PPTP. Các gói tin của kết nối điều khiển PPTP bao gồm tiêu đề IP, tiêu đề TCP và bản
tin điều khiển PPTP và tiêu đề, phần cuối của lớp liên kết dữ liệu.

Hình 1.1: Gói dữ liệu kết nối điều khiển PPTP


1.2.3. Nguyên lý đóng gói dữ liệu đường hầm PPTP
a. Đóng gói khung PPP: Dữ liệu đường ngầm PPTP được đóng gói thông qua nhiều mức.

Hình 1.2: Gói dữ liệu đường hầm PPTP


Phần tải của khung PPP ban đầu được mật mã và đóng gói với phần tiêu đề PPP để
tạo ra khung PPP. Khung PPP sau đó được đóng gói với phần tiêu đề của phiên bản sửa
đổi giao thức GRE (Generic Routing Encapsulation: giao thức đóng gói định tuyến
chung), giao thức này cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua mạng
IP.
Đối với PPTP, phần Tiêu đề của GRE được sửa đổi một số điểm sau:
 Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác
nhận 32 bit.
 Trường Key được thay thế bằng trường độ dài Payload 16 bit và trường chỉ
số cuộc gọi 16 bit. Trường chỉ số cuộc gọi được thiết lập bởi PPTP client trong
quá trình khởi tạo đường ngầm PPTP.
 Một trường xác nhận dài 32 bit được thêm vào.
b. Đóng gói IP: Phẩn tải PPP và các GRE sau đó được đóng gói với một tiêu đề IP chứa
các thông tin địa chỉ nguồn và đích thích hợp cho máy khách và náy chủ PPTP.

5
c. Đóng gói lớp liên kết dữ liệu: Để có thể truyền qua mạng LAN hoặc WAN, gói tin IP
cuối cùng sẽ được đóng gói với một tiêu đề và phần cuối của lớp liên kết dữ liệu ở giao
diện vật lý đầu ra. Ví dụ, nếu gói tin IP được gửi qua giao diện Ethernet, nó sẽ được gói
với phần tiêu đề và đuôi Ethernet. Nếu gói tin IP được gửi qua đường truyền WAN điểm
tới điểm (ví dụ như đường điện thoại tương tự hoặc ISDN), nó sẽ được đóng gói với phần
tiêu đề và đuôi của giao thức PPP.
d. Sơ đồ đống gói trong giao thức PPTP: Quá trình đóng gói PPTP từ một máy trạm qua
kết nối truy nhập VPN từ xa sử dụng modem được mô phỏng theo hình dưới đây.

Hình 1.3: Sơ đồ đóng gói PPTP


Quá trình thực hiện:
 Các gói tin IP, IPX hoặc khung NetBEUI được đưa tới giao diện ảo bằng giao thức
bằng giao thức tướng ứng(giao diện ảo kết nối VPN) sử dụng đặc tả giao diện thiết bị
mạng NDIS(Network Driver Interface Specification).
 NDIS đưa dữ liệu tới NDISWAN, nơi thực hiện mã hóa và nén các dữ liệu, và
cung cấp Tiêu đề PPP. Phần Tiêu đề PPP này chỉ bao gồm trường mã số giao thức
PPP(PPP Protocol ID Field), không có trường Flags và FCS(Frame Check Squence –
trường chuỗi kiểm tra khung). Giả định trường địa chỉ và điều khiển đã được thỏa
thuận ở giao thức điều khiển đường truyền LCP (Link Control Protocol) trong quá
trình kết nối PPP.

6
 NDISWAN gửi dữ liệu tới giao thức PPTP, nơi đóng gói khung PPP với phần tiêu
đề GRE. Trong tiêu đề GRE, trường chỉ số cuộc gọi được đặt giá trị thích hợp xác
định đường hầm.
 Giao thức PPTP sau đó sẽ gửi gói vừa hình thành tới giao thức TCP/IP.
 TCP/IP đóng gói dữ liệu đường hầm PPTP với phần tiêu đề IP, sau đó gửi kết quả
tới giao diện đại diện cho kết nối quay số tới ISP cục bộ NDIS.
 NDIS gửi gói tin tới NDISWAN, cung cấp các tiêu đề và đuôi PPP.
 NDISWAN gửi khung PPP kết quả tới cổng WAN tương ứng đại diện cho phần
cứng quay số (ví dụ, cổng không đồng bộ cho kết nối modem).
1.3. L2F (Layout 2 Forwarding)
1.3.1. Nguyên tắc hoạt động của L2F
Giao thức chuyển tiếp L2F đóng gói những gói tin lớp 2, sau đó trong truyền chúng đi
qua mạng. Hệ thống sử dụng L2F gồm các thành phần sau:
 Máy trạm truy nhập mạng NAS(Network Access Server): Hướng lưu lượng đến và
đi giữa các máy khách ở xa (Remote client) và Home Gateway.
 Đường hầm(Tunnel): Định hướng đường đi giữa NAS và Home Gateway. Một
đường hầm có thể gồm một số kết nối.
 Home Gateway: Ngang hang với NAS, là phần tử cửa ngõ thuộc mạng riêng.
 Kết nối(Connection): Là một kết nối PPP trong đường hầm.
 Điểm đích(Destianation): Là điểm kết thúc ở đâu xa của đường hầm. Trong trường
hợp này thì Home Gateway là đích.

7
Hình 1.4: Mô hình hệ thống sử dụng L2F
Hoạt động của L2F bao gồm: thiết lập kết nối, định đường hầm và phiên làm việc.
Quá trình hoạt động của giao thức L2F là một quá trình tương đối phức tạp.
 Một người sử dụng ở xa quay số tới hệ thống NAS và khởi đầu một kết nối PPP
tới ISP.
 Hệ thống NAS và máy trạm có thể trao đổi các gói giao thức điều khiển liên kết
LCP (Link Control Protocol).
 NAS sử dụng cơ sở dữ liệu cục bộ liên quan tới điểm tên miền hay xác thực
RADIUS để quyết định xem người sử dụng có hay không yêu cầu dịch vụ L2F.
 Nếu người sử dụng yêu cầu L2F thì quá trình tiếp tục, NAS thu nhận địa chỉ của
Gateway đích.
 Một đường hầm được thiết lập từ NAS tới Gateway đích nếu giữa chúng có chưa
có đường hầm nào. Sự thành lập đường hầm bao gồm giai đoạn xác thực từ ISP tới
Gateway đích để chống lại tấn công bởi những kẻ thứ ba.
 Một kết nối PPP mới được tạo ra trong đường hầm, điều này có tác động kéo dài
phiên PPP mới được tạo ra người sử dụng ở xa tới Home Gateway. Kết nối này được
thiết lập theo một quy trình như sau: Home Gateway tiếp nhận các lựa chọn và tất cả
thông tin xác thực PAP/CHAP như thoả thuận bởi đầu cuối người sử dụng và NAS.
Home Gateway chấp nhận kết nối hay thoả thuận lại LCP và xác thực lại người sử
dụng.
 Khi NAS tiếp nhận lưu lượng dữ liệu từ người sử dụng, nó đóng gói lưu lượng vào
trong các khung L2F và hướng chúng vào trong đường hầm.
 Tại Home Gateway khung L2F được tách bỏ và dữ liệu đóng gói được hướng tới
mạng một doanh nghiệp hay người dùng.
Khi hệ thống đã thiết lập điểm đích, đường hầm và những phiên kết nối, ta phải điều
khiển và quản lý lưu lượng L2F bằng cách:
 Ngăn cản tạo những đích đến, đường hầm và các phiên mới.
 Đóng và mở lại tất cả hay chọn lựa những điểm đích, đường hầm và phiên, có khả
năng kiểm tra tổng UDP.
 Thiết lập thời gian rỗi cho hệ thống và lưu giữ cơ sở dữ liệu vào các đường hầm
kết nối.

8
1.3.2. Cấu trúc gói của L2F

Hình 1.5: Khuôn dạng gói của L2F


Trong đó:
 F: Nếu bit này được thiết lập trường Offset có mặt
 K: Nếu bit này được thiết lập trường Key có mặt
 P: Thiết lập độ ưu tiên (Priority) cho gói
 S: Nếu bit này được thiết lập trường Sequence có mặt
 Reserved: luôn được đặt là 00000000
 Version: Phiên bản chính của L2F dùng để tạo gói. 3 bit này luôn là 111
 Protocol: Xác thực giao thức đóng gói L2F
 Sequence: số chuỗi được đưa ra nếu trong tiêu đề L2F có bit S = 1
 Multiplex ID: Nhận dạng một kết nối riêng trong một đường hầm (tunnel)
 Client ID: Giúp tách đường hầm tại những điểm cuối
 Length: chiều dài của gói (tính bằng byte) không bao gồm phần Checksum
 Offset: Xác định số byte trước tiêu đề L2F, tại đó dữ liệu tải tin được bắt đầu.
Trường Offset có khi bit F = 1
 Key: Trường này được trình bày nếu bit K được thiết lập. Đây là một phần của quá
trình nhận xác thực. Trường Key có nếu bit K = 1
 Checksum: Kiểm tra tổng của gói. Trường Checksum có nếu bit C = 1
1.4. L2TP (Layer Two Tunneling Protocol)
1.4.1. Quá trình xử lý L2TP

9
Kết nối ISP’s Intranet Điều khiển mạng
Dial-up

Internet

Người sử dụng NAS LAC


LNS

Gửi yêu cầu


a)Xác nhận

b) Chấp nhận/ Chấp nhận yêu cầu


từ chối
Thiết lập yêu cầu
Bản tin thông báo
Chuyển tới
LAC
Kết thúc xác nhận
Trao đổi dữ liệu

Hình 1.6: Mô hình quá trình thiết lập đường hầm L2TP
Khi một người dùng từ xa cần thiết lập một L2TP tunel thông qua Internet hoặc
mạng công cộng, lần lượt các bước sau đây:
1) Người dùng từ xa gửi yêu cầu kết nối đến NAS của ISP gần nhất của nó, và đồng
thời bắt đầu khởi tạo một kết nối PPP với ISP sau cùng.
2) NAS chấp nhận yêu cầu kết nối sau khi xác nhận người dùng cuối. NAS dùng
phương pháp xác nhận trên PPP, như PAP, CHAP, SPAP, và EAP cho mục đích này.
3) Sau đó NAS kích hoạt LAC, nơi chưa thông tin về LNS của mạng đích
4) Tiếp theo, LAC thiết lập một đường hầm LAC-LNS thông qua mạng trung gian
giữa hai đầu cuối. Đường hầm trung gian có thể là ATM, Frame Relay, hoặc IP/UDP
5) Sau khi đường hầm đã được thiết lập thành công, LAC chỉ định một Call ID (CID)
đến kết nối và gửi thông điệp thông báo đến LNS. Thông báo xác định này chứa
thông tin có thể được dùng để xác nhận người dùng từ xa (người yêu cầu đường hầm
ban đầu). Thông điệp cũng mang theo cả tùy chọn LCP đã được thoả thuận giữa
người dùng và LAC.
6) LNS dùng thông tin đã nhận được trong thông điệp thông báo để xác nhận người
dùng cuối. Nếu người dùng được xác nhận thành công và LNS chấp nhận yêu cầu tạo
lập đường hầm, một giao diện PPP ảo (L2TP tunnel) được thiết lập cùng với sự giúp
đỡ của tùy chọn LCP nhận được trong thông điệp thông báo.

10
7) Sau đó người dùng từ xa và LNS bắt đầu trao đổi dữ liệu thông qua đường hầm.
L2TP, giống PPTP và L2F, hỗ trợ hai chế độ hoạt động L2TP, bao gồm:
Chế độ gọi đến. Trong chế độ này, yêu cầu kết nối được khởi tạo bởi người dùng
từ xa.
Chế độ gọi đi. Trong chế độ này, yêu cầu kết nối được khởi tạo bởi LNS. Do đó,
LNS chỉ dẫn LAC lập một cuộc gọi đến người dùng từ xa. Sau khi LAC thiết lập cuộc
gọi, người dùng từ xa và LNS có thể trao đổi những gói dữ liệu đã qua đường hầm.
1.4.2. Cấu trúc gói dữ liệu L2TP:
Thông qua giao thức lớp 2 L2TP ta xét các mức đóng gói dữ liệu của giao thức
này như dưới đây:
 Đóng gói L2TP: Phần tải PPP ban đầu được đóng gói với một tiêu đề PPP và một
tiêu đề L2TP.
 Đóng gói UDP: Gói L2TP sau đó được đóng gói với một tiêu đề UDP, các địa chỉ
nguồn và đích được đặt bằng 1701.
 Đóng gói IPSec: Tuỳ thuộc vào chính sách IPSec, gói UDP được mật mã và đóng
gói với tiêu đề IPSec ESP và đuôi IPSec ESP, đuôi IPSec Authentication.
 Đóng gói IP: Gói IPSec được đóng gói với tiêu đề IP chứa địa chỉ IP nguồn và
đích của VPN client và VPN server.
 Đóng gói lớp liên kết dữ liệu: Do đường hầm L2TP hoạt động ở lớp 2 của mô hình
OSI- lớp liên kết dữ liệu nên các gói IP cuối cùng sẽ được đóng gói với phần tiêu đề
và đuôi tương ứng với kỹ thuật ở lớp liên kết dữ liệu của giao diện vật lý đầu ra.
 Ví dụ, khi các gói IP được gửi vào một giao diện Ethernet, thì gói IP này sẽ được
đóng gói với tiêu đề Ethernet và đuôi. Khi các gói IP được gửi trên đường truyền
WAN điểm-tới-điểm (chẳng hạn đường dây điện thoại) thì gói IP được đóng gói với
tiêu đề và đuôi PPP.

Hình 1.7: Cấu trúc gói L2TP

11
1.5. IPSec (IP Security Protocol)
1.5.1. Cơ chế làm việc của IPSec
Mục đích của IPSec là bảo vệ luồng dữ liệu truyền tải giữa các mạng LAN với
nhau và chúng ta có thể hiểu hơn về IPSec qua các bước dưới đây:

Hình 1.8: Các bước hoạt động của IPSec


Bước 1: Lưu lượng cần được bảo vệ khởi tạo quá trình IPSec. Ở đây, các thiết bị
IPSec sẽ nhận ra đâu là lưu lượng cần được bảo vệ chẳng hạn thông qua trường địa chỉ.
Bước 2: IKE Phase 1 – IKE xác thực các đối tác IPSec và một tập các dịch vụ bảo
mật được thoả thuận và công nhận (thoả thuận các kết hợp an ninh IKE SA (Security
Associations)). Trong phase này, thiết lập một kênh truyền thông an toàn để tiến hành
thoả thuận IPSec SA trong Phase 2.
Bước 3: IKE Phase 2 – IKE thoả thuận các tham số IPSec SA và thiết lập các
IPSec SA tương đương ở hai phía. Những thông số an ninh này được sử dụng để bảo vệ
dữ liệu và các bản tin trao đổi giữa các điểm đầu cuối. kết quả cuối cùng của hai bước
IKE là một kênh thông tin bảo mật được tạo ra giữa hai phía.
Bước 4: Truyền dữ liệu – Dữ liệu được truyền giữa các đối tác IPSec dựa trên cơ
sở các thông số bảo mật và các khoá được lưu trữ trong cơ sở dữ liệu SA.
Bước 5: Kết thúc đường hầm IPSec – kết thúc các SA IPSec do bị xoá hoặc do hết
hạn.

12
Hình 1.9: Sơ đồ kết nối 2 Router chạy IPSec
1.5.2. Các chế độ đóng gói dữ liệu IP của IPSec
Giao thức ESP và giao thức AH là hai giao thức chính trong việc mã hoá và xác
thực dữ liệu. ESP sử dụng IP Protocol number là 50 (ESP được đóng gói bởi giao thức IP
và trường protocol trong IP là 50). AH sử dụng IP Protocol number là 51 (AH được đóng
gói bởi giao thức IP và trường protocol trong IP là 51).
Bộ giao thức IPSec hoạt động trên 2 chế độ chính: chế độ truyền tải (Transports
Mode) và chế độ Tunnel (Tunnel Mode). Khi giao thức IPSec hoạt động ở Tunnel Mode
thì sau khi đóng gói dữ liệu, giao thức ESP mã hoá toàn bộ Payload, frame Header, IP
Header thì nó sẽ thêm một IP Header mới vào gói tin trước khi forward đi. Khi giao thức
IPSec hoạt động ở Transport Mode thì IP Header vẫn được giữ nguyên và lúc này giao
thức ESP sẽ chèn vào giữa Payload và IP Header của gói tin.
 Chế độ giao vận: Chỉ có trọng tải (dữ liệu được truyền) của gói tin IP mới được
mã hóa hoặc chứng thực. IP header không bị chỉnh sửa hay mã hóa, nhưng khi chế độ
Authentication header của IPSec được sử dụng thì địa chỉ IP cũng sẽ được mã hóa
bằng cách chia nhỏ thành các gói tin riêng rẽ và độc lập (Hash ). Các tầng giao vận và
ứng dụng thường được bảo đảm bởi hàm Hash, vì vậy chúng không thể bị sửa đổi
theo bất kỳ cách nào.

Original AH Header Payload


AH- kiểu Transport
Header
Authenticated

Original ESP Payload


ESP- kiểu Transport
Header Header
Encrypted
Authenticated

Hình 1.10: Gói tin IP ở chế độ giao vận


Ở chế độ này, vấn đề an ninh được cung cấp bởi các giao thức từ lớp 4 trở lên. Chế
độ này bảo vệ phần tải tin của gói nhưng vẫn để phần IP header ban đầu ở dạng bản rõ.
Địa chỉ IP ban đầu được sử dụng để định tuyến gói tin qua Internet.

13
Chế độ giao vận chỉ thêm vào gói tin IP một lượng byte nhất định, vì thế dung
lượng tăng không đáng kể. Kiểu Transport có ưu điểm là chỉ thêm vào gói IP ban đầu
một số it byte. Nhưng tại chế độ này các thiết bị trong mạng có thể phát hiện và đọc được
IP địa chỉ nguồn và đích của gói tin và có thể thực hiện một số xử lý (ví dụ như phân tích
lưu lượng) dựa trên các thông tin của IP header. Tuy nhiên nếu được mật mã bởi ESP các
thiết bị trong mạng sẽ không biết được dữ liệu cụ thể bên trong gói tin IP. Và theo
khuyến cáo của IETF thì chế độ truyền tải chỉ nên sử dụng khi các đầu cuối đều sử dụng
công nghệ mã hóa bảo mật là IPSec.
 Chế độ Tunnel: Toàn bộ gói tin IP sẽ được mã hóa và/hoặc chứng thực. Sau đó
nó được đóng gói vào một gói tin IP mới với tiêu đề IP mới. Chế độ tunnel được sử
dụng để tạo VPN phục vụ cho việc liên lạc giữa các mạng (ví dụ như giữa các bộ định
tuyến để liên kết các trang web), liên lạc giữa máy chủ và mạng (ví dụ như truy cập
người sử dụng từ xa), và giữa các máy chủ (ví dụ như chat cá nhân).

New AH Header Original


AH- kiểu Tunnel Payload
Header Header

Authenticated

New ESP Header Original


ESP- kiểu Tunnel Payload
Header Header

Encrypted
Authenticated

Hình 1.11: Gói tin IP ở chế độ Tunnel


Trong trường hợp dùng giao thức ESP: thì giao thức này sẽ làm công việc mã hóa
(encryption), xác thực (authentication), bảo đảm tính toàn vẹn dữ liệu (integrity
protection). Sau khi đóng gói xong bằng ESP, mọi thông tin và mã hoá và giải mã sẽ nằm
trong ESP Header. Các thuật toán mã hoá sử dụng trong giao thức như: DES, 3DES,
AES, các thuật toán hash như: MD5 hoặc SHA-1.
Trong trường hợp dùng giao thức AH: thì AH chỉ làm công việc xác thực
(Authentication), và đảm bảo tính toàn vẹn dữ liệu. Giao thức AH không có tính năng mã
hoá dữ liệu.
1.6. GRE (Generic Routing Encapsulation)
1.6.1. Khái niệm GRE
Generic routing encapsulation (GRE) là một giao thức sử dụng để thiết lập các kết
nối point-to-point một cách trực tiếp giữa các node trong mạng. Đây là một phương pháp

14
đơn giản và hiệu quả để chuyển dữ liệu thông qua mạng public network, như Internet.
GRE cho phép hai bên chia sẻ dữ liệu mà họ không thể chia sẻ với nhau thông qua mạng
public network.
GRE đóng gói dữ liệu và chuyển trực tiếp tới thiết bị mà de-encapsulate gói tin và
định tuyến chúng tới đích cuối cùng. Gói tin và định tuyến chúng tới đích cuối cùng.
GRE cho pháp các switch nguồn và đích hoạt động như một kết nối ảo point-to-point với
các thiết bị khác (bởi vì outer header được áp dụng với GRE thì trong suốt với payload
được đóng gói bên trong).
Ví dụ: GRE tạo tunnel cho phép các giao thức định tuyến như RIP và OSPF
chuyển tiếp các gói tin từ một switch tới switch khác thông qua mạng Internet. Hơn nữa,
GRE tunnel có thể đóng gói các dữ liệu truyền multicast để truyền thông qua Internet..
1.6.2. Các ưu điểm của GRE
 Cho phép đóng gói nhiều giao thức và truyền thông qua một giao thức backbone
(IP protocol).
 Cung cấp cách giải quyết cho các mạng bị hạn chế hop (hạn chế số hop di chuyển
tối đa trong một mạng).
 Kết nối các mạng con gián tiếp.
 Yêu cầu ít tài nguyên hơn các giải pháp tunnel khác. (ví dụ Ipsec VPN).
1.6.3. Phân loại GRE
GRE là giao thức có thể đóng gói bất kì gói tin nào của lớp network. GRE cung
cấp khả năng có thể định tuyến giữa những mạng riêng (private network) thông qua môi
trường Internet bằng cách sử dụng các địa chỉ IP đã được định tuyến.
GRE truyền thống là point-to-point, còn mGRE là sự mở rộng khái niệm này bằng
việc cho phép một tunnel có thể đến được nhiều điểm đích, mGRE tunnel là thành phần
cơ bản nhất trong DMVPN.
1.6.3.1. Point-to-Point GRE
Đối với các tunnel GRE point-to-point thì trên mỗi router spoke (R2 & R3) cấu
hình một tunnel chỉ đến HUB (R1) ngược lại, trên router HUB cũng sẽ phải cấu hình hai
tunnel, một đến R2 và một đến R3. Mỗi tunnel như vậy thì cần một địa chỉ IP. Giả sử mô
hình trên được mở rộng thành nhiều spoke, thì trên R1 cần phải cấu hình phức tạp và tốn
không gian địa chỉ IP.
Đây là mô hình của 1 Point-to-Point GRE:

15
Hình 1.12: Point-to-Point GRE
Trong tunnel GRE point-To-point, điểm đầu và cuối được xác định thì có thể
truyền dữ liệu. Tuy nhiên, có một vấn đề phát sinh là nếu địa chỉ đích là một multicast
(chẳng hạn 224.0.0.5) thì GRE point-to-point không thực hiện được. Để làm được việc
này thì phải cần đến mGRE.
1.6.3.2. Point-to-Multipoint GRE (mGRE)
Như vậy, mGRE giải quyết được vấn đề đích đến là một địa chỉ multicast. Đây là
tính năng chính của mGRE được dùng để thực thi Multicast VPN trong Cisco IOS. Tuy
nhiên, trong mGRE, điểm cuối chưa được xác định nên nó cần một giao thức để ánh xạ
địa chỉ tunnel sang địa chỉ cổng vật lý. Giao thức này được gọi là NHRP (Next Hop
Resolution Protocol)

16
Hình 1.13: Point-to-Multipoint (mGRE)
Đối với các mGRE Tunnel thì mỗi router chỉ có một Tunnel được cấu hình cùng
một subnet logical.
1.6.4. Cơ chế hoạt động của GRE
Để tạo ra các kênh truyền, GRE cũng thực hiện việc đóng gói gói tin tương tự như
giao thức IPSec hoạt động ở Tunnel mode. Trong quá trình đóng gói, GRE sẽ thêm các
header mới vào gói tin, và header mới này cung cấp các thông số cần thiết dùng để truyền
các gói tin thông qua môi trường trung gian.
GRE chèn ít nhất 24 byte vào đầu gói tin, trong đó 20 byte là IP header mới dùng
để định tuyến, còn 4 byte là GRE header. Ngoài ra GRE còn có thể tùy chọn thêm 12
byte mở rộng để cung cấp tính năng tin cậy như: checksum, key chứng thực, sequence
number.

17
Hình 1.14: Định dạng packet được đóng gói với GRE
Cấu trúc gói tin được đóng gói thêm GRE header
GRE Hai byte đầu tiên trong phần header là GRE flag 2-byte. Phần bày chứa các
cờ dùng để chỉ định những tính năng tùy chọn của GRE
- Bit 0 (checksum): Nếu bit này được bật lên (giá trị bằng 1) thỉ phần checksum
được thêm vào sau trường Protocol type của GRE header.
- Bit 2 (key): Nếu bit này được bật lên thì phần Key tính năng chứng thực sẽ được
áp dụng, đây như dạng password ở dạng clear text. Khi một thiết bị tạo nhiều tunnel đến
nhiều thiết bị đích thì key này được dùng để xác định các thiết bị đích.
- Bit 3 (Sequence number): Khi bit này được bật thì phần sequence number được
thêm vào GRE header.
Hai byte tiếp theo là phần Protocol Type chỉ ra giao thức lớp 3 của gói tin ban đầu
được GRE đóng gói và truyền qua kênh truyền.
Khi gói tin đi qua tunnel nó sẽ được thêm GRE header như trên và sau khi tới đầu
bên kia của kênh truyền, gói tin sẽ được loại bỏ GRE header để trả lại gói tin ban đầu.
CHƯƠNG II: MÔ PHỎNG CHƯƠNG TRÌNH
2.1. Các phần mềm sử dụng
2.1.1. Cisco Packet Tracer
Cisco Packet Tracer là một phần mềm giả lập mạng dùng trong học tập sử dụng
các thiết bị mạng (router/switch) của Cisco. Nó được hãng Cisco cung cấp miễn phí cho
các trường lớp, sinh viên đang giảng dạy/ theo học chương trình mạng của Cisco. Sản
phẩm cung cấp một công cụ để nghiên cứu các nguyên tắc cơ bản của mạng và các kỹ
năng làm việc với hệ thống Cisco.

18
Hình 2.1: Phần mềm Cisco Packet Tracer
2.1.2. Wireshark

Hình 2.2: Phần mềm Wireshark


Wireshark là một bộ phân tích gói mạng (network packet analyzer ). Một network
packet analyzer sẽ cố gắng nắm bắt các network packets và cố gắng hiển thị dữ liệu đó
càng chi tiết càng tốt.

19
Bộ phân tích gói mạng này được sử dụng như một thiết bị đo lường. dùng để kiểm
tra những gì đang xảy ra bên trong cáp mạng (network cable), không khác gì chức năng
của một vôn kế được thợ điện sử dụng để kiểm tra những gì đang xảy ra bên trong cáp
điện. Trước đây, các công cụ này thường được bán phí cao tốn kém, hoặc độc quyền,
hoặc cả hai. Tuy nhiên với sự ra đời của wireshark tất cả những điều đó đã thay đổi.
Wireshark có lẽ là một trong những phần mềm phân tích gói tin có mã nguồn mở
tốt nhất hiện nay.
Sử dụng Wireshark nhằm các mục đích sau:
- Network administrators sử dụng wireshark để khắc phục sự cố mạng.
- Các kỹ sư Network security sử dụng Wireshark để kiểm tra các vấn đề bảo mật.
- Các kỹ sư QA (Quality Assurance) sử dụng wireshark để xác minh các network
applications.
- Các developers sử dụng Wireshark để gỡ lỗi triển khai giao thức.
2.2. Mô phỏng
- Xây dựng mô hình mô phỏng hoạt động GRE trên Cisco Packet Tracer, bao gồm: các
thiết bị mạng: Route 4331, Switch, Máy server, Máy client.

Hình 2.3: Mô hình hệ thống trên Cisco Packet Tracer

20
Giải thích mô hình:
Mô hình sẽ thực hiện quá trình trao đổi gói tin qua đường hầm GRE giữa máy
server và máy client.
 Phần 1: Định cấu hình cơ bản
Cấu hình SiteA
Bước 1: Các chế độ cấu hình
Router> (Chế độ người dùng)
Router>enable (Vào chế độ Privileged EXEC Mode-bắt đầu cho phép cấu hình)
Router>#config (Vào chế độ Configuration Mode)
Bước 2: Cấu hình đặt tên và IP cho Router
Router(config)#hostname SiteA (Đặt tên cho router)
SiteA(config)#int s0/1/0 (Vào giao diện cần cấu hình)
SiteA(config-if)#ip address 11.1.1.0 255.255.255.252 (Khai báo IP và Subnet mark)
SiteA(config-if)#no shutdown
SiteA(config-if)#int gi0/0/0
SiteA(config-if)#ip address 10.1.1.1 255.255.255.0
SiteA(config-if)#no shutdown
SiteA(config-if)#^Z (Ctrl+z)
SiteA#wr (Lưu cấu hình đang chạy trên RAM vào NVRAM)
Bước 3: Cấu hình đường mặc định hướng tới ISP
SiteA#config
SiteA(config)#ip route 0.0.0.0 0.0.0.0 11.1.1.2
Cấu hình ISP
Bước 1: Các chế độ cấu hình
Router> (Chế độ người dùng)
Router>enable (Vào chế độ Privileged EXEC Mode-bắt đầu cho phép cấu hình)

21
Router>#config (Vào chế độ Configuration Mode)
Bước 2: Cấu hình đặt tên và IP cho Router
Router(config)#hostname ISP (Đặt tên cho router)
ISP(config)#int s0/1/0 ( Vào giao diện cần cấu hình)
ISP(config-if)#ip address 11.1.1.2 255.255.255.252 (Khai báo IP và Subnet mark)
ISP (config-if)#no shutdown
ISP (config-if)#int gi0/0/0
ISP (config-if)#ip address 12.1.1.2 255.255.255.252
ISP (config-if)#no shutdown
ISP (config-if)#^Z (Ctrl+z)
ISP #wr (Lưu cấu hình đang chạy trên RAM vào NVRAM)
Cấu hình SiteB
Bước 1: Các chế độ cấu hình
Router> (Chế độ người dùng)
Router>enable (Vào chế độ Privileged EXEC Mode-bắt đầu cho phép cấu hình)
Router>#config (Vào chế độ Configuration Mode)
Bước 2: Cấu hình đặt tên và IP cho Router
Router(config)#hostname SiteB (Đặt tên cho router)
SiteB(config)#int s0/1/0 (Vào giao diện cần cấu hình)
SiteB(config-if)#ip address 12.1.1.0 255.255.255.252 (Khai báo IP và Subnet mark)
SiteB(config-if)#no shutdown
SiteB(config-if)#int gi0/0/0
SiteB(config-if)#ip address 20.1.1.1 255.255.255.0
SiteB(config-if)#no shutdown
SiteB(config-if)#^Z (Ctrl+z)
SiteB#wr (Lưu cấu hình đang chạy trên RAM vào NVRAM)
Bước 3: Cấu hình đường mặc định hướng tới ISP

22
SiteB#config
SiteB(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
 Phần 2: Định cấu hình đường hầm GRE giữa router SiteA và router SiteB
Cấu hình SiteA:
Bước 1: Định cấu hình giao diện đường hầm GRE trên router SiteA và SiteB dưới
dạng giao diện WAN
SiteA#config
SiteA(config)#int tunnel 0
SiteA(config-if)#ip address 192.168.1.1 255.255.255.252
SiteA(config-if)#tunnel source serial 0/1/0
SiteA(config-if)#tunnel destination 12.1.1.1
Bước 2: Xác minh trạng thái của đường hầm GRE 0, giao thức đường hầm, nguồn
và điểm đến của đường hầm
SiteA#sh int tunnel 0

23
Bước 3: Thực hiện ping router SiteA và SiteB
SiteA#ping 192.168.1.2

Bước 4: Thực hiện traceroute để xác định đường dẫn đến đường hầm
SiteA#traceroute 192.168.1.2

Cấu hình SiteB:


Bước 1: Định cấu hình giao diện đường hầm GRE trên router SiteA và SiteB dưới
dạng giao diện WAN
SiteB#config
SiteB(config)#int tunnel 0
SiteB(config-if)#ip address 192.168.1.2 255.255.255.252
SiteB(config-if)#tunnel source serial 0/1/0
SiteB(config-if)#tunnel destination 11.1.1.1
Bước 2: Xác minh trạng thái của đường hầm GRE 0, giao thức đường hầm, nguồn
và điểm đến của đường hầm
SiteB#sh int tunnel 0

24
Bước 3: Thực hiện ping router SiteA và SiteB
SiteB#ping 192.168.1.1

Bước 4: Thực hiện traceroute để xác định đường dẫn đến đường hầm
SiteB#traceroute 192.168.1.1

 Phần 3: Định cấu hình định tuyến qua đường hầm GRE
Cấu hình SiteA:

25
Bước 1: Cấu hình EIGRP AS 100 trên router SiteA và SiteB và ip mạng muốn
quảng bá, mạng LAN
SiteA#config
SiteA(config)#router eigrp 100
SiteA(config-router)#network 192.168.1.0 0.0.0.3 (0.0.0.3 là mặt nạ đại diện cho
255.255.255.252)
SiteA(config-router)#network 10.1.1.0 0.0.0.255
SiteA(config-router)#no auto-summary (Không tự ghép các dãi địa chỉ IP thành 1 dải
lớn)
Bước 2: Xác nhận cấu hình EIGRP
SiteA#sh ip ei neighbors (Câu lệnh đầy đủ là show ip eigrp neighbors)

Bước 3: Xác minh bảng định tuyến IPv4


SiteA#sh ip route

Cấu hình SiteB:

26
Bước 1: Cấu hình EIGRP AS 100 trên router SiteA và SiteB và ip mạng muốn
quảng bá, mạng LAN
SiteB#config
SiteB(config)#router eigrp 100
SiteB(config-router)#network 192.168.1.0 0.0.0.3 (0.0.0.3 là mặt nạ đại diện cho
255.255.255.252)
SiteB(config-router)#network 20.1.1.0 0.0.0.255
SiteB(config-router)#no auto-summary (Không tự ghép các dãi địa chỉ IP thành 1 dải lớn)
Bước 2: Xác nhận cấu hình EIGRP
SiteB#sh ip ei neighbors (Câu lệnh đầy đủ là show ip eigrp neighbors)

Bước 3: Xác minh bảng định tuyến IPv4


SiteB#sh ip route

Thực hiện ping 2 PC


PC1 ping tới PC2

27
PC2 ping tới PC1

28

You might also like