ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಲು NAT ಟ್ರಾವರ್ಸಲ್ ಅನ್ನು ಬಳಸುವುದು

ಈ ಲೇಖನವು ಒಂದು ನಮೂದುಗಳ ಉಚಿತ ಅನುವಾದವಾಗಿದೆ DC++ ಡೆವಲಪರ್ ಬ್ಲಾಗ್.

ಲೇಖಕರ ಅನುಮತಿಯೊಂದಿಗೆ (ಹಾಗೆಯೇ ಸ್ಪಷ್ಟತೆ ಮತ್ತು ಆಸಕ್ತಿಗಾಗಿ), ನಾನು ಅದನ್ನು ಲಿಂಕ್‌ಗಳೊಂದಿಗೆ ಬಣ್ಣಿಸಿದೆ ಮತ್ತು ಕೆಲವು ವೈಯಕ್ತಿಕ ಸಂಶೋಧನೆಯೊಂದಿಗೆ ಅದನ್ನು ಪೂರಕಗೊಳಿಸಿದೆ.

ಪರಿಚಯ

ಈ ಸಮಯದಲ್ಲಿ ಸಂಪರ್ಕಿಸುವ ಜೋಡಿಯ ಕನಿಷ್ಠ ಒಬ್ಬ ಬಳಕೆದಾರರು ಸಕ್ರಿಯ ಮೋಡ್‌ನಲ್ಲಿರಬೇಕು. ಸಕ್ರಿಯ ಮೋಡ್ ಅನ್ನು ಎರಡೂ ಕಡೆ ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದಾಗ NAT ಟ್ರಾವರ್ಸಲ್ ಯಾಂತ್ರಿಕತೆಯು ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಫೈರ್‌ವಾಲ್ ಅಥವಾ NAT ಸಾಧನದಿಂದಾಗಿ.

ಎರಡೂ ಕ್ಲೈಂಟ್‌ಗಳು ಸಕ್ರಿಯ ಮೋಡ್‌ನಲ್ಲಿದ್ದರೆ

ಪ್ರಾರಂಭಿಕ ಕ್ಲೈಂಟ್ ತನ್ನದೇ ಆದ IP ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಹೊಂದಿರುವ ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ $ConnectToMe ಮತ್ತೊಂದು ಕ್ಲೈಂಟ್‌ಗೆ. ಈ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು, ಆಜ್ಞೆಯನ್ನು ಸ್ವೀಕರಿಸಿದ ಕ್ಲೈಂಟ್ ಇನಿಶಿಯೇಟರ್ನೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ.

ಕ್ಲೈಂಟ್‌ಗಳಲ್ಲಿ ಒಬ್ಬರು ನಿಷ್ಕ್ರಿಯ ಮೋಡ್‌ನಲ್ಲಿದ್ದರೆ

ಹಬ್ ಮೂಲಕ, ನಿಷ್ಕ್ರಿಯ ಕ್ಲೈಂಟ್ A ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ $RevConnectToMe ಸಕ್ರಿಯ ಕ್ಲೈಂಟ್ Bನಂತರ $ConnectToMe ಆಜ್ಞೆಯೊಂದಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ.

ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಲು NAT ಟ್ರಾವರ್ಸಲ್ ಅನ್ನು ಬಳಸುವುದು
ಸರ್ವರ್ ಆಗಿ S ಮೇಲಿನ ಸಂದರ್ಭದಲ್ಲಿ DC ಹಬ್ ಇದೆ

ಎರಡೂ ಕ್ಲೈಂಟ್‌ಗಳು ನಿಷ್ಕ್ರಿಯ ಮೋಡ್‌ನಲ್ಲಿದ್ದರೆ ಎಡಿಸಿ ಹಬ್

ವಿವಿಧ NAT ಗಳ ಹಿಂದೆ ಗ್ರಾಹಕರು A и B ಹಬ್ ಸೇರಿದರು S.

ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಲು NAT ಟ್ರಾವರ್ಸಲ್ ಅನ್ನು ಬಳಸುವುದು
ಕ್ಲೈಂಟ್ ಕಡೆಯಿಂದ ಹಬ್‌ಗೆ ಸಂಪರ್ಕವು ಹೇಗೆ ಕಾಣುತ್ತದೆ A

ಹಬ್ ಪೋರ್ಟ್ 1511 ನಲ್ಲಿ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ A ಪೋರ್ಟ್ 50758 ಮೂಲಕ ತನ್ನ ಖಾಸಗಿ ನೆಟ್‌ವರ್ಕ್‌ನಿಂದ ಹೊರಹೋಗುವ ಸಂಪರ್ಕಗಳನ್ನು ಮಾಡುತ್ತದೆ. ಹಬ್, ಪ್ರತಿಯಾಗಿ, NAT ಸಾಧನದ ವಿಳಾಸವನ್ನು ನೋಡುತ್ತದೆ, ಅದರೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಅವರ ಗುರುತಿಸುವಿಕೆಗಳ ಪ್ರಕಾರ ಅದನ್ನು ಪ್ರಸಾರ ಮಾಡುತ್ತದೆ.

ಗ್ರಾಹಕ A ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ S ಕ್ಲೈಂಟ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕಿಸಲು ಸಹಾಯ ಕೇಳುವ ಸಂದೇಶ B.

Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991

ಸಹ ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ, ಕ್ಲೈಂಟ್ B, ಈ ಆಜ್ಞೆಯನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, NAT ಮೂಲಕ ಹಬ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಅದರ ಖಾಸಗಿ ಪೋರ್ಟ್ ಅನ್ನು ವರದಿ ಮಾಡಬೇಕು.

Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991

ಈ ಮಾಹಿತಿಯನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ ಕ್ಲೈಂಟ್ A ತಕ್ಷಣವೇ ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ B ಮತ್ತು ತನ್ನದೇ ಆದ ಖಾಸಗಿ ಬಂದರನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ.

Hub:		[Outgoing][178.79.159.147:1511]	 	D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991

ಆಸಕ್ತಿ ಏನು? ಈಗಾಗಲೇ ಬಳಸಿದ ಖಾಸಗಿ ಪೋರ್ಟ್ ಮೂಲಕ ಸಾರ್ವಜನಿಕ ವಿಳಾಸಕ್ಕೆ ಹೊಸ ಸಂಪರ್ಕವನ್ನು ರಚಿಸುವ ಮೂಲಕ ಅದೇ ಸಂಪರ್ಕದ ಅಂತಿಮ ಬಿಂದುವನ್ನು ಬದಲಾಯಿಸುವಲ್ಲಿ ಆಸಕ್ತಿಯಿದೆ.

ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಲು NAT ಟ್ರಾವರ್ಸಲ್ ಅನ್ನು ಬಳಸುವುದು
ಬಿಂಗೊ!

ಸಹಜವಾಗಿ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಕ್ಲೈಂಟ್ NAT B ಕ್ಲೈಂಟ್‌ನಿಂದ ಮೊದಲ ಸಂಪರ್ಕ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸುವ ಎಲ್ಲಾ ಹಕ್ಕನ್ನು ಹೊಂದಿದೆ A, ಆದರೆ ಅವನ ಸ್ವಂತ ವಿನಂತಿಯು ಈ ಸಂಪರ್ಕದಿಂದ ರಚಿಸಲಾದ "ರಂಧ್ರ" ಕ್ಕೆ ಧಾವಿಸುತ್ತದೆ ಮತ್ತು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ.

ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಲು NAT ಟ್ರಾವರ್ಸಲ್ ಅನ್ನು ಬಳಸುವುದು
ಎಚ್ಚರಿಕೆಯೊಂದಿಗೆ ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಗೆ ಸೂಕ್ತವಾದ ವಿವರಣೆ ಶಿಷ್ಟಾಚಾರ ಅಧಿವೇಶನದಿಂದ ತೆರೆದ ಸಾರ್ವಜನಿಕ ಬಂದರುಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ ನ್ಯಾಟ್S, ಹಾಗೆಯೇ ಖಾಸಗಿ ವಿಳಾಸಗಳು.

ಸಂಚಿಕೆ

(ಮೂಲ) ಲೇಖನವನ್ನು ಬರೆಯುವ ಸಮಯದಲ್ಲಿ, ಸರಿಸುಮಾರು ಅರ್ಧದಷ್ಟು DC ಕ್ಲೈಂಟ್‌ಗಳು ನಿಷ್ಕ್ರಿಯ ಮೋಡ್‌ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ. ಇದರರ್ಥ ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಸಂಪರ್ಕಗಳ ಕಾಲುಭಾಗವನ್ನು ಮಾಡಲಾಗುವುದಿಲ್ಲ.

ಮತ್ತಷ್ಟು DC++ NAT ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಪರ್ಕಗಳನ್ನು ಬಳಸುವುದು AS и BS ನೇರ ಕ್ಲೈಂಟ್-ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲು, ಸಹ A и B ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿವೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ