ಸಾಧನವು ಮನೆಯ ರೂಟರ್ನ ಹಿಂದೆ ಇದೆ, ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡಿಂಗ್ ಇಲ್ಲ ಮತ್ತು ಸಾರ್ವಜನಿಕ ವಿಳಾಸವೂ ಇಲ್ಲ, ಆದರೂ ಅದು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಸಂರಚನೆಯನ್ನು ಪಡೆಯಬೇಕು. ಉಪಾಯವು ಫೈರ್ವಾಲ್ನಲ್ಲಿ ಒಂದು ಕಂಡಿ ಅಲ್ಲ. ಅದು ಸಾಧನವು ಹೊರಕ್ಕೆ ತಲುಪಬಹುದಾದ ಬ್ರೋಕರ್ಗೆ ತೆರೆಯುವ ಸಂಪರ್ಕ, ಮತ್ತು ಆ ಬ್ರೋಕರ್ ಅದೇ ಸ್ಥಾಪಿತ ಮಾರ್ಗದಲ್ಲಿ ಸಂದೇಶಗಳನ್ನು ಮರಳಿ ಕಳುಹಿಸುತ್ತದೆ. ಈ ವಿನ್ಯಾಸದಲ್ಲಿ ಜನರಿಗೆ ಇಷ್ಟವಾಗುವ ಪ್ರತಿಯೊಂದು ಗುಣ ಮತ್ತು ಅದರಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಬಲೆಯೂ ಆ ಮಗುಚುವಿಕೆಯಿಂದಲೇ ಬರುತ್ತದೆ.

NAT ಮೂಲಕ ನಿಜವಾಗಿ ಏನು ಹಾದುಹೋಗುತ್ತದೆ

ಸಾಧನವು ಬ್ರೋಕರ್ಗೆ TCP ಸಂಪರ್ಕ ತೆರೆದಾಗ, ಮನೆಯ ರೂಟರ್ ಒಂದು ಮ್ಯಾಪಿಂಗ್ ರಚಿಸಿ ಹರಿವಿನ ಆಯುಷ್ಯದವರೆಗೆ ಅದನ್ನು ಜೀವಂತವಾಗಿ ಇಡುತ್ತದೆ. ಆ ಹರಿವಿನ ಉತ್ತರಗಳು ಸಾಧನಕ್ಕೆ ಮರಳಿ ಬರುತ್ತವೆ ಏಕೆಂದರೆ ಮ್ಯಾಪಿಂಗ್ ಈಗಾಗಲೇ ಇದೆ. ಬ್ರೋಕರ್ ಎಂದಿಗೂ ಮನೆಯ ಕಡೆಗೆ ಏನನ್ನೂ ಪ್ರಾರಂಭಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ರೂಟರ್ ತಿರಸ್ಕರಿಸಬೇಕಾದ ಬೇಡಿಕೆಯಿಲ್ಲದ ಒಳಬರುವ ಪ್ಯಾಕೆಟ್ ಇಲ್ಲ. ಇದೇ ಇಡೀ ನೆಟ್ವರ್ಕಿಂಗ್ ವಾದ, ಮತ್ತು ಆದ್ದರಿಂದಲೇ ಈ ವಿಧಾನ ನೀವು ನಿಯಂತ್ರಿಸದ ನೆಟ್ವರ್ಕ್ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

ಸಾಧನವು ಸಂಪರ್ಕವನ್ನು ಜೀವಂತವಾಗಿ ಇಡಬೇಕು ಅಥವಾ ಮತ್ತೆ ಸ್ಥಾಪಿಸಬೇಕು, ಮತ್ತು ವಾಸ್ತುಶಿಲ್ಪ ನಿಗದಿಯಾದ ನಂತರ ಅದೇ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಪ್ರಶ್ನೆಯಾಗುತ್ತದೆ.

ಬ್ರೋಕರ್ ವಿಷಯಗಳನ್ನು ಮಾರ್ಗದರ್ಶಿಸುತ್ತದೆ, HTTP ಅನ್ನು ಪ್ರಾಕ್ಸಿ ಮಾಡುವುದಿಲ್ಲ

MQTT ಪ್ರಕಟಣೆ ಮತ್ತು ಚಂದಾದಾರಿಕೆಯ ವಿನಿಮಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ: ಸಾಧನವು ಓದಲು ಅನುಮತಿಸಲಾದ ವಿಷಯ ಫಿಲ್ಟರ್ಗೆ ಚಂದಾದಾರರಾಗುತ್ತದೆ, ಮತ್ತು ಅಧಿಕೃತ ನಿಯಂತ್ರಕವು ಹೊಂದಿಕೆಯಾಗುವ ವಿಷಯಕ್ಕೆ ಪ್ರಕಟಿಸುತ್ತದೆ. ಬ್ರೋಕರ್ ಪ್ರಕಟಣೆಗಳನ್ನು ಚಂದಾದಾರಿಕೆಗಳೊಂದಿಗೆ ಹೊಂದಿಸಿ ಪ್ರತಿಗಳನ್ನು ತಲುಪಿಸುತ್ತದೆ. ಬ್ರೌಸರ್ ವಿನಂತಿ ಏನೆಂದು ಅದಕ್ಕೆ ಗೊತ್ತಿಲ್ಲ, ಮತ್ತು ಅದು ಸಾಧನದ ವೆಬ್ ಸರ್ವರ್ಗೆ HTTP GET ಕಳುಹಿಸುವುದಿಲ್ಲ. ಇರುವ ಫರ್ಮ್ವೇರ್ HTTP ಮಾತ್ರ ಮಾತನಾಡಿದರೆ, ಬ್ರೋಕರ್ ವಿನ್ಯಾಸಕ್ಕೆ ಅಪ್ಲಿಕೇಶನ್ ಬದಲಾವಣೆ ಅಥವಾ ಉದ್ದೇಶಪೂರ್ವಕ ಅನುವಾದ ಘಟಕ ಬೇಕು.

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

ಸಾಧನದ ಸಂಪನ್ಮೂಲಗಳು TLS ನ ಆಕಾರವನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ

ESP8266 ಗೆ ಸೀಮಿತ RAM ಇದೆ, ಮತ್ತು TLS ಹ್ಯಾಂಡ್ಶೇಕ್ ಅದು ಮಾಡುವ ಅತ್ಯಂತ ದುಬಾರಿ ಕೆಲಸ. Arduino ಕೋರ್ BearSSL ಅನ್ನು ನಿಖರವಾಗಿ ಈ ಮಿತಿಗಾಗಿ ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು CA ಪರಿಶೀಲನೆ ಹಾಗೂ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಪಿನ್ ಮಾಡುವ ನಡುವಿನ ಆಯ್ಕೆ ಮೆಮೊರಿ ಹೆಜ್ಜೆಗುರುತು ಮತ್ತು ಬೇರೆ ಹೆಸರಿಗೆ ಮಾನ್ಯವಾದ ಪ್ರಮಾಣಪತ್ರ ಹೊಂದಿರುವ ದಾಳಿಕೋರ ಏನು ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಎರಡನ್ನೂ ಬದಲಾಯಿಸುತ್ತದೆ. ಹೀಪ್ ಅನುಮತಿಸಿದಾಗ ಬ್ರೋಕರ್ನ CA ಪರಿಶೀಲನೆ ಬಲವಾದ ಆಯ್ಕೆ. ಪೇಲೋಡ್ ಗಾತ್ರವೂ ಮುಖ್ಯ: MQTT ಕ್ಲೈಂಟ್ ಬಫರ್ ಇಟ್ಟುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಅದಕ್ಕಿಂತ ದೊಡ್ಡ ಸಂದೇಶಗಳು ಬಫರ್ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಹೆಚ್ಚಿಸದಿದ್ದರೆ ಮೌನವಾಗಿ ಕತ್ತರಿಸಲ್ಪಡುತ್ತವೆ.

ಕೀಪ್ಅಲೈವ್ ಮತ್ತು ಸಾಕೆಟ್ ಸಮಯ ಮಿತಿಗಳು ಅದೇ ಬಜೆಟ್ನ ಭಾಗ, ಏಕೆಂದರೆ ಸತ್ತ ಸಂಪರ್ಕವನ್ನು ಎಂದಿಗೂ ಗಮನಿಸದ ಕ್ಲೈಂಟ್ ದೋಷ ವರದಿ ಮಾಡದೆ ಆದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.

ಕಚ್ಚುವ ಸಂದೇಶ ಅರ್ಥಶಾಸ್ತ್ರ

ಉಳಿಸಿಟ್ಟ ಸಂದೇಶವನ್ನು ಬ್ರೋಕರ್ ಸಂಗ್ರಹಿಸಿ ನಂತರದ ಹೊಂದಿಕೆಯಾಗುವ ಚಂದಾದಾರರಿಗೆ ತಲುಪಿಸುತ್ತದೆ, ಇದು ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಗೆ ಅತ್ಯುತ್ತಮ ಮತ್ತು ಒಂದು-ಬಾರಿಯ ಆದೇಶಗಳಿಗೆ ಅಪಾಯಕಾರಿ: ಮತ್ತೆ ಸಂಪರ್ಕಿಸುವ ಸಾಧನವು ನಿನ್ನೆಯ ಆದೇಶವನ್ನು ಹೊಸದೆಂಬಂತೆ ಪಡೆಯಬಹುದು. QoS 1 ಕನಿಷ್ಠ ಒಮ್ಮೆ ತಲುಪಿಸುವುದನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನಕಲುಗಳು ಸಾಮಾನ್ಯ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಪುನರಾವರ್ತನೆ-ಸುರಕ್ಷಿತವಾಗಿರಬೇಕು, ಆದರ್ಶವಾಗಿ ಅದು ತಿರಸ್ಕರಿಸಬಹುದಾದ ಗುರುತಿಸುವಿಕೆ ಅಥವಾ ಸಮಯ ಮುದ್ರೆಯೊಂದಿಗೆ. ಕೊನೆಯ ಇಚ್ಛೆ ಸಾಧನ ಬಿದ್ದಾಗ ಸ್ಥಿತಿ ಸಂಕೇತ ನೀಡುತ್ತದೆ, ಆದರೆ ಸಂಪರ್ಕವು ನೇತಾಡದೆ ನಿಜವಾಗಿ ವಿಫಲವಾದರೆ ಮಾತ್ರ.

ಸ್ವಚ್ಛ ಅಧಿವೇಶನದ ನಡವಳಿಕೆ ನೀವು ಹೊರಗಿರುವಾಗ ಬ್ರೋಕರ್ ನಿಮ್ಮ ಚಂದಾದಾರಿಕೆಗಳನ್ನು ಇಡುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಮತ್ತು ಅದರಲ್ಲಿ ತಪ್ಪು ಮಾಡುವುದೇ ಕೆಲವು ಸಾಧನಗಳು ಪ್ರತಿ ಮರುಸಂಪರ್ಕದ ನಂತರ ಮೊದಲ ಸಂದೇಶವನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ಕಾರಣ.

TLS ಬ್ರೋಕರ್ನವರೆಗಿನ ಭಾಗವನ್ನು ರಕ್ಷಿಸುತ್ತದೆ. ಇದು ಬ್ರೋಕರ್ ನಿರ್ವಾಹಕನ ವಿರುದ್ಧ ಪೇಲೋಡ್ನ ಎಂಡ್-ಟು-ಎಂಡ್ ಗೂಢಲಿಪೀಕರಣವಲ್ಲ, ಅವನು ನೀವು ಅದರ ಮೂಲಕ ಪ್ರಕಟಿಸುವ ಎಲ್ಲವನ್ನೂ ಓದಬಹುದು.

ಜೀವನಚಕ್ರವನ್ನು ಮಿತಿಗೊಳಿಸಿ ಮತ್ತು ಹಾನಿಕರವಲ್ಲದ ಡೇಟಾದಿಂದ ಪರೀಕ್ಷಿಸಿ

ಬಿಗಿಯಾದ ಮರುಪ್ರಯತ್ನ ಲೂಪಿನ ಬದಲು ಬ್ಯಾಕ್ಅಫ್ನೊಂದಿಗೆ ಮರುಸಂಪರ್ಕವನ್ನು ಯೋಜಿಸಿ, ಅಧಿವೇಶನ ನಿರಂತರವಾಗಿಲ್ಲದಿದ್ದರೆ ಸ್ಪಷ್ಟವಾಗಿ ಮತ್ತೆ ಚಂದಾದಾರರಾಗಿ, ಮತ್ತು ಸಂಪರ್ಕದ ಫಲಿತಾಂಶವನ್ನು ದಾಖಲಿಸಿ ಇದರಿಂದ ಮೌನ ಆಫ್ಲೈನ್ ಸಾಧನ ಸಾಕ್ಷ್ಯ ಬಿಡುತ್ತದೆ. ಮರುಸಂಪರ್ಕ ಮಾರ್ಗವನ್ನು ಏನೂ ಮಾಡದ ಮಾದರಿ ಪೇಲೋಡ್ಗಳಿಂದ ಪರೀಕ್ಷಿಸಿ, ಏಕೆಂದರೆ ಆದೇಶ ಕಾಲುವೆಯ ಮೊದಲ ಉತ್ಪಾದನಾ ಪರೀಕ್ಷೆ ನಿಜವಾದ ಆದೇಶವಾಗಿರಬಾರದು. ನಂತರ ಹಳೆಯ ಉಳಿಸಿಟ್ಟ ಸಂದೇಶವು ಮರುಸಂಪರ್ಕದಲ್ಲಿ ಏನು ಮಾಡುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ, ಮತ್ತು ಆ ನಡವಳಿಕೆ ಪ್ರತಿ ವಿಷಯಕ್ಕೂ ಸ್ವೀಕಾರಾರ್ಹವೇ ಎಂದು ನಿರ್ಧರಿಸಿ.

ಹೀಗೆ ಮಾಡಿದರೆ, ವಿನ್ಯಾಸವು ಒಂದು ಒಳಬರುವ ನೆಟ್ವರ್ಕ್ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕಿ ಸಾಧನ ತಂತ್ರಾಂಶ, ಬ್ರೋಕರ್ ನೀತಿ ಮತ್ತು ಸಂದೇಶ ಅರ್ಥಶಾಸ್ತ್ರವನ್ನು ಗುಪ್ತ ಊಹೆಗಳ ಬದಲು ಕಾಣುವ ಕೆಲಸವಾಗಿ ಬಿಡುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು