Sinh viên: Lâm Văn Tú
Khi muốn triển khai các ứng dụng multicast hoặc các ứng dụng non-IP (ví dụ IPX) trên các kết nối VPN, GRE tunnels phải được dùng. Ngoài ra, khi bạn muốn chạy các giao thức định tuyến động như OSPF/EIGRP trên các kênh VPN thì bạn cũng phải dùng GRE tunnels.
Một số đặc điểm chung của GRE tunnel:
+ GRE tunnel giống IPsec Tunnel vì gói tin gốc được bọc bên ngoài 1 lớp "vỏ"
+ GRE là stateless, và không cung cấp điều khiển luồng (flow control)
+ GRE thêm ít nhất và header 24byte, trong đó IP header mới 20 byte.
+ GRE hỗ trợ đa giáo thức nên hỗ trợ bất kỳ giao thức lớp 3 nào chạy qua đường hầm(IP, IPX, Apple Talk...)
+ GRE cần thiết cho IP Multicast/ broadcast
* Nhược điểm:
+ Không có cơ chế mã hóa
+ Không có cơ chế hash
+ Không có cơ chế xác thực nguồn gốc peer.
-GRE là stateless, các thiết bị đầu cuối không thỏa thuận bất kỳ thông tin nào trước khi gửi dữ liệu qua đường hầm. Miễn là các điểm đầu cuối được định tuyến thì traffic có thể lưu thông.
-GRE tunnel ít bảo mật. Chỉ có cơ chế mã hóa cơ bản, key mã hóa được mang kèm với gói tin.
- GRE add thêm 24byte ở đầu IP header cũ. Trong đó 20 byte là Tunnel IP Header, chứa Source và Destination của Tunnnel. 4 byte còn lại là: GRE Flags và Protocol type.
- -> Điều đáng chú ý là kích cỡ gói tin lớn hơn gây bất lợi về hiệu suất mạng.( Vì kích cỡ gói tin > MTU thì Router phải phân mảnh gói tin thành các mảnh nhỏ sao cho phù hợp dẫn đến chi phí CPU tăng đáng kể).
- Không giống IPsec, GRE cho phép thông tin định tuyến (OSPF, EIGRP) băng qua đường hầm.
GRE HEADER:
- GRE header có tối thiểu 4byte, chưa kể kích thước khi có thêm Options.
- Cặp byte đầu tiên: là các bit cờ, cho biết có Options hay không!
- Cặp byte tiếp theo : là trường giao thức, cho biết kiểu dữ liệu được mang đi trong GRE tunnel.
- Option thường không được sử dụng vì các giao thức lớp trên đã cung cấp chức năng giống chức năng liệt kê trong options.
Cấu hình của GRE tunnels cũng khá đơn giản:
interface tunnel0
ip address 192.168.1.1 255.255.255.0
tunnel source s0/0
tunnel destination 67.67.67.67
tunnel mode gre ip
Một lý do mà GRE tunnel được sử dụng rất nhiều trong các mô hình VPN HUB-and-SPOKE là bởi vì chỉ cần xây dựng số GRE tunnels tối thiểu, cho các dynamic routing protocol chạy trên các tunnel này là đảm bảo một kết nối đầy đủ giữa các site (spokes). Nếu bạn dùng IPSec, bạn không thể cho các dynamic routing protocol (OSPF/EIGRP) chạy bên trong các IPSec tunnels. Cần nhắc lại là IPSEc chỉ hỗ trợ loại traffic là IP Unicast trong tunnels của nó. Vì vậy, bạn phải thiết lập nhiều IP Sec peer để đảm bảo kết nối.
GRE vẫn có những yếu điểm của nó. Ví dụ GRE không có các cơ chế để bảo vệ dữ liệu. Đối với các chức năng này, GRE phải quay sang nhờ IPSEc. Thành ra là, ta hay gặp GRE over IPSec trong các mô hình hub-and-spoke.
Khi muốn triển khai các ứng dụng multicast hoặc các ứng dụng non-IP (ví dụ IPX) trên các kết nối VPN, GRE tunnels phải được dùng. Ngoài ra, khi bạn muốn chạy các giao thức định tuyến động như OSPF/EIGRP trên các kênh VPN thì bạn cũng phải dùng GRE tunnels.
Một số đặc điểm chung của GRE tunnel:
+ GRE tunnel giống IPsec Tunnel vì gói tin gốc được bọc bên ngoài 1 lớp "vỏ"
+ GRE là stateless, và không cung cấp điều khiển luồng (flow control)
+ GRE thêm ít nhất và header 24byte, trong đó IP header mới 20 byte.
+ GRE hỗ trợ đa giáo thức nên hỗ trợ bất kỳ giao thức lớp 3 nào chạy qua đường hầm(IP, IPX, Apple Talk...)
+ GRE cần thiết cho IP Multicast/ broadcast
* Nhược điểm:
+ Không có cơ chế mã hóa
+ Không có cơ chế hash
+ Không có cơ chế xác thực nguồn gốc peer.
-GRE là stateless, các thiết bị đầu cuối không thỏa thuận bất kỳ thông tin nào trước khi gửi dữ liệu qua đường hầm. Miễn là các điểm đầu cuối được định tuyến thì traffic có thể lưu thông.
-GRE tunnel ít bảo mật. Chỉ có cơ chế mã hóa cơ bản, key mã hóa được mang kèm với gói tin.
- GRE add thêm 24byte ở đầu IP header cũ. Trong đó 20 byte là Tunnel IP Header, chứa Source và Destination của Tunnnel. 4 byte còn lại là: GRE Flags và Protocol type.
- -> Điều đáng chú ý là kích cỡ gói tin lớn hơn gây bất lợi về hiệu suất mạng.( Vì kích cỡ gói tin > MTU thì Router phải phân mảnh gói tin thành các mảnh nhỏ sao cho phù hợp dẫn đến chi phí CPU tăng đáng kể).
- Không giống IPsec, GRE cho phép thông tin định tuyến (OSPF, EIGRP) băng qua đường hầm.
GRE HEADER:
- GRE header có tối thiểu 4byte, chưa kể kích thước khi có thêm Options.
- Cặp byte đầu tiên: là các bit cờ, cho biết có Options hay không!
- Cặp byte tiếp theo : là trường giao thức, cho biết kiểu dữ liệu được mang đi trong GRE tunnel.
- Option thường không được sử dụng vì các giao thức lớp trên đã cung cấp chức năng giống chức năng liệt kê trong options.
GRE Header Options
GRE Packet Format
GRE Packet Format
Cấu hình của GRE tunnels cũng khá đơn giản:
interface tunnel0
ip address 192.168.1.1 255.255.255.0
tunnel source s0/0
tunnel destination 67.67.67.67
tunnel mode gre ip
Theo trên, ta thấy chỉ cần tồn tại hai IP là có thể xây dựng được GRE tunnels.
Một lý do mà GRE tunnel được sử dụng rất nhiều trong các mô hình VPN HUB-and-SPOKE là bởi vì chỉ cần xây dựng số GRE tunnels tối thiểu, cho các dynamic routing protocol chạy trên các tunnel này là đảm bảo một kết nối đầy đủ giữa các site (spokes). Nếu bạn dùng IPSec, bạn không thể cho các dynamic routing protocol (OSPF/EIGRP) chạy bên trong các IPSec tunnels. Cần nhắc lại là IPSEc chỉ hỗ trợ loại traffic là IP Unicast trong tunnels của nó. Vì vậy, bạn phải thiết lập nhiều IP Sec peer để đảm bảo kết nối.
GRE vẫn có những yếu điểm của nó. Ví dụ GRE không có các cơ chế để bảo vệ dữ liệu. Đối với các chức năng này, GRE phải quay sang nhờ IPSEc. Thành ra là, ta hay gặp GRE over IPSec trong các mô hình hub-and-spoke.