View Full Version : Thảo luận về VPN
itmansaigon
02-02-2005, 11:46 PM
Dạo này lên mạng thấy các bác bàn về kỹ thuật thì ít mà chat chit về công ty FPT hơi bị nhiều, nhân đây có chủ đề về VPN này muốn thay đổi không khí một chút chơi
Các bác học hay làm về VPN có thắc mắc là tại sao hầu hết VPN lại tunneling trên các UDP port mà không dùng TCP không?
kimlong
03-02-2005, 11:18 AM
Protocol____DestPort____SrcPort
UDP________500________500
Các gói tin dùng giao thức và các cổng này là các gói tin "bắt tay" của IPSEC. Khi một tunnel của IPsec được thiết lập, các gói tin ESP (protocol 50) và AH (51) sẽ được trao đổi.
UDP_____1701__________1701
L2TP dùng giao thức và các port này. Nếu ta đang cấu hình VPN gateway với các client là WIn2K hoặc WinXP thì ta phải mở các port này.
UDP______2233________2233
Các tunnel SST sẽ dùng giao thức UDP và các port này. Các port này phải được mở trên firewall.
UDP_______10025________10025
Một vài chương trình quản lý VPN dùng các port này. Mở các port này chỉ khi bạn muốn dùng chương trình quản lý VPN từ bên ngoài firewall.
UDP_______10026________10026
Các gói tin dùng cổng này là các gói tin đã được mã hóa.
UDP________10027________10027
Các ứng dụng như Shiva dùng các port này.
............
Như vậy rất nhiều ứng dụng VPN chạy trên UDP. Tôi có đi tìm câu trả lời cho câu hỏi trên tuy nhiên vẫn chưa tìm được câu trả lời kỹ thuật thỏa đáng.
itmansaigon
03-02-2005, 10:35 PM
Đầu tiên ta xem xét lại bản chất của TCP và UDP một chút
TCP: kết nối tin cậy, do có sử dụng các TCP flag như SYN, ACK, RST... nhưng có nhược điểm là không được nhanh so với UDP vì UDP không cần dùng các flags trên để xác nhận trong khi chuyển dữ liệu
Do bản chất của VPN nói chung là nó có thể encapsulate bất cứ network protocol nào để chuyển tải qua Internet, nhưng hầu hết hiện nay các private LAN đều sử dụng network protocol là TCP/IP nên VPN cũng sẽ encapsulate TCP/IP để chuyển tải qua internet.
Nếu chúng ta dùng một kết nối tin cậy TCP để encapsulate cho một kết nối tin cậy TCP thì dĩ nhiên là very good rồi nhưng bù lại tốc độ sẽ giảm đi nhiều vì phải thực hiện hai lần TCP, hơn nữa lúc này lại có thêm một ít delay do phải encrypt và decrypt data giữa hai đầu
Khi sử dụng UDP để encapsulate cho kết nối tin cậy TCP thì lúc này tốc độ của data khi chuyển tải sẽ ít bị delay hơn so với dùng TCP encapsulate cho TCP.
Đó cũng là lý do tại sao người ta hầu hết lại chọn UDP để tunneling cho data dùng trong VPN
huyisp
04-02-2005, 12:18 AM
Chọn UDP là một điều tất nhiên rồi , VPN dùng encryption, hash v..v là delay một lượng thời gian đáng kể , nếu dùng TCP thì sẽ càng tăng thêm delay , do TCP dùng error correction.
itmansaigon
04-02-2005, 08:31 AM
Chọn UDP là một điều tất nhiên rồi , VPN dùng encryption, hash v..v là delay một lượng thời gian đáng kể , nếu dùng TCP thì sẽ càng tăng thêm delay , do TCP dùng error correction.
huyisp,
TCP không có cơ chế error correction đâu nhé bác, nó chỉ dùng CRC để phát hiện ra lỗi rồi yêu cầu resend lại data :lol:
myquartz
05-02-2005, 09:57 PM
Có mỗi PPTP là dùng TCP port 1723 để cho session control, còn gói tin cho dữ liệu vẫn là IP GRE.
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.