ಯಾವ ಆಯ್ಕೆಯು UDP ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಸರಿಯಾಗಿ ನಿರೂಪಿಸುತ್ತದೆ. TCP ಮತ್ತು UDP ಎಂದರೆ ಏನು? ಎಲ್ಲಾ ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಎಲ್ಲಿ ನೋಡಬೇಕು

IP ಗೆ ಕ್ರಮಾನುಗತದಲ್ಲಿ ಮುಂದಿನ ಟ್ರಾನ್ಸ್‌ಪೋರ್ಟ್ ಲೇಯರ್ ಪ್ರೋಟೋಕಾಲ್‌ಗಳನ್ನು ನೆಟ್‌ವರ್ಕ್ ನೋಡ್‌ಗಳಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಸ್ವೀಕರಿಸಿದ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಹ್ಯಾಂಡ್ಲರ್ ಪ್ರಕ್ರಿಯೆಗೆ ವರ್ಗಾಯಿಸಬೇಕು ಮತ್ತು ನಿಖರವಾಗಿ ನಿರ್ದಿಷ್ಟ ಉದ್ದೇಶಕ್ಕಾಗಿ. ಸಾರಿಗೆ ಪದರವು ಇದರ ಜವಾಬ್ದಾರಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಹಂತದಲ್ಲಿ ಎರಡು ಮುಖ್ಯ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಿವೆ - TCP ಮತ್ತು UDP.

TCP ಮತ್ತು UDP ಎಂದರೆ ಏನು?

ಟಿಸಿಪಿಸಾರಿಗೆ ಪ್ರೋಟೋಕಾಲ್ TCP/IP ನೆಟ್‌ವರ್ಕ್‌ಗಳಲ್ಲಿ ಡೇಟಾ ಪ್ರಸರಣ, ಇದು ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕವನ್ನು ಮೊದಲೇ ಸ್ಥಾಪಿಸುತ್ತದೆ.
ಯುಡಿಪಿ- ಐಪಿ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲದೇ ಡೇಟಾಗ್ರಾಮ್ ಸಂದೇಶಗಳನ್ನು ರವಾನಿಸುವ ಸಾರಿಗೆ ಪ್ರೋಟೋಕಾಲ್.

TCP ಮತ್ತು UDP ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ

TCP ಮತ್ತು UDP ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು "ವಿತರಣಾ ಗ್ಯಾರಂಟಿ" ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. TCP ಗೆ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ತಲುಪಿಸುವ ಕ್ಲೈಂಟ್‌ನಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯ ಅಗತ್ಯವಿದೆ, ವಿತರಣೆಯ ದೃಢೀಕರಣ, ಮತ್ತು ಇದಕ್ಕಾಗಿ ಪೂರ್ವ-ಸ್ಥಾಪಿತ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ. ಅಲ್ಲದೆ TCP ಪ್ರೋಟೋಕಾಲ್ವಿಶ್ವಾಸಾರ್ಹವೆಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ, ಆದರೆ UDP "ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ ಡೇಟಾಗ್ರಾಮ್ ಪ್ರೋಟೋಕಾಲ್" ಎಂಬ ಹೆಸರನ್ನು ಪಡೆದುಕೊಂಡಿದೆ. TCP ಡೇಟಾ ನಷ್ಟ, ನಕಲು ಮತ್ತು ಪ್ಯಾಕೆಟ್ ಮಿಶ್ರಣ ಮತ್ತು ವಿಳಂಬಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ. UDP ಇದೆಲ್ಲವನ್ನೂ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲಸ ಮಾಡಲು ಸಂಪರ್ಕದ ಅಗತ್ಯವಿಲ್ಲ. UDP ಮೂಲಕ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳು ನಷ್ಟದೊಂದಿಗೆ ಸಹ ಅವರು ಸ್ವೀಕರಿಸುವದನ್ನು ಮಾಡಬೇಕು. TCP ಸಂಪರ್ಕದ ದಟ್ಟಣೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ, UDP ಸ್ವೀಕರಿಸಿದ ಡೇಟಾಗ್ರಾಮ್ಗಳ ಸಮಗ್ರತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಯಾವುದನ್ನೂ ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ.
ಮತ್ತೊಂದೆಡೆ, ಈ ವಿವೇಚನಾರಹಿತತೆ ಮತ್ತು ನಿಯಂತ್ರಣದ ಕೊರತೆಯಿಂದಾಗಿ, UDP ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು (ಡೇಟಾಗ್ರಾಮ್‌ಗಳು) ಹೆಚ್ಚು ವೇಗವಾಗಿ ತಲುಪಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಹೆಚ್ಚಿನ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್‌ಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಮತ್ತು ತ್ವರಿತ ವಿನಿಮಯ,ಯುಡಿಪಿಯನ್ನು ಸೂಕ್ತ ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ಇವುಗಳಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಬ್ರೌಸರ್ ಆಟಗಳು, ಹಾಗೆಯೇ ಸ್ಟ್ರೀಮಿಂಗ್ ವೀಡಿಯೊ ವೀಕ್ಷಣೆ ಕಾರ್ಯಕ್ರಮಗಳು ಮತ್ತು ವೀಡಿಯೊ ಸಂವಹನಕ್ಕಾಗಿ (ಅಥವಾ ಧ್ವನಿ) ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸೇರಿವೆ: ಪ್ಯಾಕೇಜ್‌ನ ನಷ್ಟ, ಸಂಪೂರ್ಣ ಅಥವಾ ಭಾಗಶಃ, ಯಾವುದನ್ನೂ ಬದಲಾಯಿಸುವುದಿಲ್ಲ, ವಿನಂತಿಯನ್ನು ಪುನರಾವರ್ತಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಡೌನ್‌ಲೋಡ್ ಹೆಚ್ಚು ವೇಗವಾಗಿದೆ. TCP ಪ್ರೋಟೋಕಾಲ್, ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿರುವುದರಿಂದ, ಸಹ ಯಶಸ್ವಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಮೇಲ್ ಕಾರ್ಯಕ್ರಮಗಳು, ದಟ್ಟಣೆಯನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಸಂದೇಶದ ಉದ್ದ ಮತ್ತು ಸಂಚಾರ ವಿನಿಮಯದ ವೇಗವನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.

TCP ಮತ್ತು UDP ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಈ ಕೆಳಗಿನಂತಿದೆ ಎಂದು TheDifference.ru ನಿರ್ಧರಿಸಿದೆ:

ಬದಲಾಗದ ರೂಪ, ಅನುಕ್ರಮ ಮತ್ತು ನಷ್ಟವಿಲ್ಲದೆ ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳ ವಿತರಣೆಯನ್ನು TCP ಖಾತರಿಪಡಿಸುತ್ತದೆ, UDP ಏನನ್ನೂ ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ.
TCP ಮುಂಚಿತವಾಗಿ ಅಗತ್ಯವಿದೆ ಸ್ಥಾಪಿತ ಸಂಪರ್ಕ, UDP ಸಂಪರ್ಕದ ಅಗತ್ಯವಿಲ್ಲ.
UDP ಹೆಚ್ಚಿನದನ್ನು ಒದಗಿಸುತ್ತದೆ ಹೆಚ್ಚಿನ ವೇಗಡೇಟಾ ವರ್ಗಾವಣೆ.
TCP ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿದೆ ಮತ್ತು ಡೇಟಾ ವಿನಿಮಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
ಪ್ಲೇ ಆಗುವ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ UDP ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ ಸ್ಟ್ರೀಮಿಂಗ್ ವೀಡಿಯೊ, ವಿಡಿಯೋಫೋನಿ ಮತ್ತು ಟೆಲಿಫೋನಿ, ನೆಟ್ವರ್ಕ್ ಆಟಗಳು.

ನಾನು ಲೇಖನಗಳ ಸಂಪೂರ್ಣ ಸರಣಿಯನ್ನು ನಿಜವಾಗಿಯೂ ಇಷ್ಟಪಡುತ್ತೇನೆ, ಜೊತೆಗೆ ನಾನು ಯಾವಾಗಲೂ ಅನುವಾದಕನಾಗಿ ಪ್ರಯತ್ನಿಸಲು ಬಯಸುತ್ತೇನೆ. ಅನುಭವಿ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಲೇಖನವು ತುಂಬಾ ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣಿಸಬಹುದು, ಆದರೆ ಇದು ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿದೆ ಎಂದು ನನಗೆ ತೋರುತ್ತದೆ.

ಹಲೋ, ನನ್ನ ಹೆಸರು ಗ್ಲೆನ್ ಫೀಡ್ಲರ್ ಮತ್ತು ನನ್ನ ಆನ್‌ಲೈನ್ ಪುಸ್ತಕ, ಗೇಮ್ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನಲ್ಲಿನ ಮೊದಲ ಲೇಖನಕ್ಕೆ ನಾನು ನಿಮ್ಮನ್ನು ಸ್ವಾಗತಿಸುತ್ತೇನೆ.

ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು ನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನ ಮೂಲಭೂತ ಅಂಶಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ - ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವುದು ಮತ್ತು ರವಾನಿಸುವುದು. ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವುದು ಮತ್ತು ರವಾನಿಸುವುದು ಮುಖ್ಯ ಮತ್ತು ಹೆಚ್ಚು ಸರಳ ಭಾಗನೆಟ್‌ವರ್ಕ್ ಪ್ರೋಗ್ರಾಮರ್‌ಗಳು ವ್ಯವಹರಿಸುವ ಸಂಪೂರ್ಣ ಶ್ರೇಣಿಯ ಕಾರ್ಯಗಳಿಂದ, ಆದರೆ ಯಾವ ರೀತಿಯಲ್ಲಿ ಹೋಗುವುದು ಉತ್ತಮ ಎಂದು ನಿರ್ಧರಿಸಲು ಕಷ್ಟವಾಗುತ್ತದೆ. ಈ ಭಾಗಕ್ಕೆ ಸಾಕಷ್ಟು ಗಮನ ಕೊಡಿ - ನೀವು ತಪ್ಪು ತಿಳುವಳಿಕೆಯನ್ನು ಬಿಟ್ಟರೆ, ಅದು ನಂತರ ನಿಮ್ಮ ಮಲ್ಟಿಪ್ಲೇಯರ್ ಆಟಕ್ಕೆ ಭೀಕರ ಪರಿಣಾಮಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು!

ಸಾಕೆಟ್‌ಗಳ ಬಗ್ಗೆ ನೀವು ಈಗಾಗಲೇ ಏನನ್ನಾದರೂ ಕೇಳಿರಬಹುದು ಮತ್ತು ಅವುಗಳು ಎರಡು ಮುಖ್ಯ ವಿಧಗಳಲ್ಲಿ ಬರುತ್ತವೆ ಎಂದು ನಿಮಗೆ ತಿಳಿದಿರಬಹುದು - TCP ಮತ್ತು UDP. ಮಲ್ಟಿಪ್ಲೇಯರ್ ಆಟವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ ನೀವು ನಿರ್ಧರಿಸಬೇಕಾದ ಮೊದಲ ವಿಷಯವೆಂದರೆ ಯಾವ ರೀತಿಯ ಸಾಕೆಟ್‌ಗಳನ್ನು ಬಳಸಬೇಕು - TCP, UDP, ಅಥವಾ ಎರಡೂ?

ಸಾಕೆಟ್ ಪ್ರಕಾರದ ಆಯ್ಕೆಯು ನೀವು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿರುವ ಆಟದ ಪ್ರಕಾರವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಈ ಲೇಖನಗಳ ಸರಣಿಯಲ್ಲಿ, ನೀವು ಆಕ್ಷನ್ ಆಟವನ್ನು ಬರೆಯುತ್ತಿದ್ದೀರಿ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ - ಹ್ಯಾಲೊ, ಯುದ್ಧಭೂಮಿ 1942, ಕ್ವೇಕ್, ಅನ್ರಿಯಲ್, ಕೌಂಟರ್‌ಸ್ಟ್ರೈಕ್, ಟೀಮ್ ಫೋರ್ಟ್ರೆಸ್, ಇತ್ಯಾದಿ.

ಈಗ ನಾವು ಪ್ರತಿಯೊಂದು ರೀತಿಯ ಸಾಕೆಟ್‌ನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡುತ್ತೇವೆ (ನಾವು ಆಕ್ಷನ್-ಶೈಲಿಯ ಆಟವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದೇವೆ ಎಂಬ ಅಂಶವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು), ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ವಿವರಗಳಿಗೆ ಸ್ವಲ್ಪ ಆಳವಾಗಿ ಹೋಗಿ. ನಂತರ ವಿವರವಾದ ವಿಮರ್ಶೆಸರಿಯಾದ ಆಯ್ಕೆಯು ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ!

TCP ಎಂದರೆ "ಟ್ರಾನ್ಸ್ಮಿಷನ್ ಕಂಟ್ರೋಲ್ ಪ್ರೋಟೋಕಾಲ್" ಮತ್ತು IP ಎಂದರೆ "ಇಂಟರ್ನೆಟ್ ಪ್ರೋಟೋಕಾಲ್". ವೆಬ್ ಬ್ರೌಸಿಂಗ್‌ನಿಂದ ಹಿಡಿದು IRC ಮತ್ತು ಇಮೇಲ್ ಸಂವಹನಗಳವರೆಗೆ ನೀವು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಮಾಡುವ ಬಹುತೇಕ ಎಲ್ಲವನ್ನೂ ಅವರು ಒಟ್ಟಾಗಿ ಬೆಂಬಲಿಸುತ್ತಾರೆ - ಎಲ್ಲವೂ TCP/IP ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ.

ನೀವು ಎಂದಾದರೂ TCP ಸಾಕೆಟ್‌ಗಳನ್ನು ಬಳಸಿದ್ದರೆ, TCP ಒಂದು ವಿಶ್ವಾಸಾರ್ಹ ಸಂಪರ್ಕದ ತತ್ವವನ್ನು ಬಳಸುವ ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ನೀವು ತಿಳಿದಿರಬೇಕು. ಇದರರ್ಥ ನೀವು ಎರಡು ಕಂಪ್ಯೂಟರ್‌ಗಳ ನಡುವೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿ, ನಂತರ ಅವುಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತೀರಿ, ನೀವು ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿನ ಫೈಲ್‌ಗೆ ಮಾಹಿತಿಯನ್ನು ಬರೆಯುತ್ತಿರುವಂತೆ ಮತ್ತು ಅದೇ ಫೈಲ್‌ನಿಂದ ಇನ್ನೊಂದು ಫೈಲ್‌ನಿಂದ ಓದುತ್ತಿರುವಂತೆ.

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸಂಪರ್ಕವನ್ನು ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಸ್ಥಿರವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ - ಅಂದರೆ, ನೀವು ಕಳುಹಿಸುವ ಎಲ್ಲಾ ಮಾಹಿತಿಯು ಅದನ್ನು ಕಳುಹಿಸಿದ ಅದೇ ಕ್ರಮದಲ್ಲಿ ಸ್ವೀಕರಿಸುವವರನ್ನು ತಲುಪಲು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಅಲ್ಲದೆ TCP ಸಂಪರ್ಕಡೇಟಾದ ನಿರಂತರ ಸ್ಟ್ರೀಮ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು - ಪ್ರೋಟೋಕಾಲ್ ಸ್ವತಃ ಡೇಟಾವನ್ನು ಪ್ಯಾಕೆಟ್‌ಗಳಾಗಿ ಒಡೆಯುವುದನ್ನು ಮತ್ತು ಅವುಗಳನ್ನು ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಕಳುಹಿಸುವುದನ್ನು ನೋಡಿಕೊಳ್ಳುತ್ತದೆ.

ಮತ್ತೊಮ್ಮೆ - ಎಲ್ಲವೂ ಸರಳವಾಗಿದೆ ನಿಯಮಿತ ಪ್ರವೇಶಅಥವಾ ಫೈಲ್‌ನಿಂದ ಓದುವುದು. ಪ್ರಾಥಮಿಕ, ವ್ಯಾಟ್ಸನ್!

ಆದರೆ ಈ ಬಳಕೆಯ ಸುಲಭತೆಯು "ಹುಡ್ ಅಡಿಯಲ್ಲಿ" ನಿಜವಾಗಿ ಏನಾಗುತ್ತದೆ ಎನ್ನುವುದಕ್ಕಿಂತ ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾಗಿದೆ, ಕಡಿಮೆ ಮಟ್ಟದಲ್ಲಿ - IP ಪ್ರೋಟೋಕಾಲ್ ಮಟ್ಟ.

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

ಆದಾಗ್ಯೂ, ಟಿಪ್ಪಣಿ ವಿಳಾಸದಾರರಿಗೆ ತಲುಪುತ್ತದೆ ಎಂಬುದಕ್ಕೆ ಯಾವುದೇ ಗ್ಯಾರಂಟಿ ಇಲ್ಲ. ಕಳುಹಿಸುವವರು ಬರುತ್ತಾರೆ ಎಂಬ ಭರವಸೆಯಲ್ಲಿ ಟಿಪ್ಪಣಿಯನ್ನು ಕಳುಹಿಸುತ್ತಾರೆ, ಆದರೆ ಸಂದೇಶವು ಬಂದಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ಸಹ ತಿಳಿದಿಲ್ಲ - ಸ್ವೀಕರಿಸುವವರು ಮತ್ತೆ ಬರೆಯಲು ನಿರ್ಧರಿಸುವವರೆಗೆ.
ಸ್ವಾಭಾವಿಕವಾಗಿ, ವಾಸ್ತವದಲ್ಲಿ ಎಲ್ಲವೂ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಜಟಿಲವಾಗಿದೆ, ಏಕೆಂದರೆ ಕಳುಹಿಸುವ ಕಂಪ್ಯೂಟರ್‌ಗೆ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಕಂಪ್ಯೂಟರ್‌ಗಳ ನಿಖರವಾದ ಅನುಕ್ರಮ ತಿಳಿದಿಲ್ಲ, ಅದರ ಮೂಲಕ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ರವಾನಿಸಬೇಕು ಇದರಿಂದ ಅದು ಸಾಧ್ಯವಾದಷ್ಟು ಬೇಗ ಬರುತ್ತದೆ. ಕೆಲವೊಮ್ಮೆ IP ಒಂದೇ ಪ್ಯಾಕೆಟ್‌ನ ಬಹು ಪ್ರತಿಗಳನ್ನು ರವಾನಿಸುತ್ತದೆ, ಇದು ಗಮ್ಯಸ್ಥಾನವನ್ನು ತಲುಪಲು ವಿಭಿನ್ನ ಮಾರ್ಗಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು - ಮತ್ತು ವಿಭಿನ್ನ ಸಮಯಗಳಲ್ಲಿ ಬರುವ ಸಾಧ್ಯತೆಯಿದೆ.

ನಾವು ಕಂಪ್ಯೂಟರ್‌ಗಳ ನಡುವೆ ಮಾಹಿತಿಯನ್ನು ಫೈಲ್ ಓದುವ/ಬರೆಯುವ ಶೈಲಿಯಲ್ಲಿ ವರ್ಗಾಯಿಸಲು ಬಯಸಿದರೆ, ಆದರೆ ವೈಯಕ್ತಿಕ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಕಳುಹಿಸುವ ಮತ್ತು ಸ್ವೀಕರಿಸುವ ಮೂಲಕ?

ಸರಿ, ನಾವು ಇದನ್ನು UDP ಬಳಸಿ ಮಾಡಬಹುದು. ಯುಡಿಪಿ ಎಂದರೆ "ಬಳಕೆದಾರ ಡೇಟಾಗ್ರಾಮ್ ಪ್ರೋಟೋಕಾಲ್" ಮತ್ತು ಇದು ಐಪಿ (ಟಿಸಿಪಿ ನಂತಹ) ಮೇಲೆ ಚಲಿಸುತ್ತದೆ, ಆದರೆ ಒಂದು ಟನ್ ಕಾರ್ಯವನ್ನು ಸೇರಿಸುವ ಬದಲು ಇದು ಐಪಿಗೆ ಕೇವಲ ಒಂದು ಸಣ್ಣ ಆಡ್-ಆನ್ ಆಗಿದೆ.

UDP ಅನ್ನು ಬಳಸಿಕೊಂಡು, ನಾವು ನಿರ್ದಿಷ್ಟ IP ವಿಳಾಸ (ಉದಾಹರಣೆಗೆ, 112.140.20.10) ಮತ್ತು ಪೋರ್ಟ್ (ಉದಾಹರಣೆಗೆ, 52423) ಗೆ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಅದು ತನ್ನ ಗಮ್ಯಸ್ಥಾನವನ್ನು ತಲುಪುವವರೆಗೆ (ಅಥವಾ ಕಳೆದುಹೋಗುವವರೆಗೆ) ಅದನ್ನು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಕಂಪ್ಯೂಟರ್‌ಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ದಾರಿ).

ಅದೇ ಸಮಯದಲ್ಲಿ, ರಿಸೀವರ್ ಬದಿಯಲ್ಲಿ ನಾವು ಕುಳಿತು ಕಾಯುತ್ತೇವೆ, ನಿರ್ದಿಷ್ಟ ಪೋರ್ಟ್ ಅನ್ನು ಕೇಳುತ್ತೇವೆ (ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ 52423), ಮತ್ತು ಯಾರೊಬ್ಬರಿಂದ ಪ್ಯಾಕೆಟ್ ಬಂದಾಗ (ಯಾವುದೇ ಸಂಪರ್ಕಗಳನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ನೆನಪಿಡಿ), ಇದರೊಂದಿಗೆ ನಾವು ಅಧಿಸೂಚನೆಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ ಕಳುಹಿಸುವ ಕಂಪ್ಯೂಟರ್‌ನ ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್, ಪ್ಯಾಕೆಟ್ ಗಾತ್ರ, ಮತ್ತು ಅದರ ನಂತರ ನಾವು ಈ ಪ್ಯಾಕೆಟ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಓದಬಹುದು.

UDP ಪ್ರೋಟೋಕಾಲ್ ಡೇಟಾ ವಿತರಣೆಯನ್ನು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಹೆಚ್ಚಿನ ಪ್ಯಾಕೆಟ್‌ಗಳು ಸಹಜವಾಗಿ ಬರುತ್ತವೆ, ಆದರೆ ಯಾವಾಗಲೂ ಸುಮಾರು 1-5% ನಷ್ಟು ನಷ್ಟವಾಗುತ್ತದೆ, ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಪ್ಯಾಕೆಟ್‌ಗಳು ಬರದ ಅವಧಿಗಳಿವೆ (ಕಳುಹಿಸುವವರು ಮತ್ತು ಸ್ವೀಕರಿಸುವವರ ನಡುವೆ ಇರಬಹುದು ಎಂಬುದನ್ನು ನೆನಪಿಡಿ ಸಾವಿರಾರು ಕಂಪ್ಯೂಟರ್‌ಗಳಾಗಿರಬಹುದು, ಅವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಅದು ವಿಫಲವಾಗಬಹುದು ಅಥವಾ ಒಡೆಯಬಹುದು).

ಅಲ್ಲದೆ, ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ವಿತರಿಸುವ ಕ್ರಮವನ್ನು UDP ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ನೀವು ಐದು ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಕ್ರಮವಾಗಿ ಕಳುಹಿಸಬಹುದು - 1, 2, 3, 4, 5 - ಆದರೆ ಅವು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಕ್ರಮದಲ್ಲಿ ಬರಬಹುದು - ಉದಾಹರಣೆಗೆ, 3, 1, 2, 5, 4. ಮತ್ತೆ, ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಅವು ಹೆಚ್ಚಾಗಿ ಹೆಚ್ಚಿನ ಸಮಯ ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಬರುತ್ತವೆ, ಆದರೆ ನೀವು ಅದನ್ನು ಅವಲಂಬಿಸಲಾಗುವುದಿಲ್ಲ!

ಅಂತಿಮವಾಗಿ, ಯುಡಿಪಿ ಐಪಿಗೆ ಹೆಚ್ಚಿನದನ್ನು ಸೇರಿಸದಿದ್ದರೂ, ಇದು ಒಂದು ವಿಷಯವನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ನೀವು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಿದರೆ, ಅದು ಸಂಪೂರ್ಣವಾಗಿ ಬರುತ್ತದೆ ಅಥವಾ ಇಲ್ಲ. ಆದ್ದರಿಂದ, ನೀವು ಇನ್ನೊಂದು ಕಂಪ್ಯೂಟರ್‌ಗೆ 256 ಬೈಟ್ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸಿದರೆ, ಅದು ಪ್ಯಾಕೆಟ್‌ನಿಂದ ಮೊದಲ 100 ಬೈಟ್‌ಗಳನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ - ಅದು ಎಲ್ಲಾ 256 ಬೈಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಬೇಕು. UDP ಪ್ರೋಟೋಕಾಲ್ ಖಾತರಿಪಡಿಸುವ ಏಕೈಕ ವಿಷಯ ಇದು - ಉಳಿದಂತೆ ನಿಮ್ಮ ಹೆಗಲ ಮೇಲೆ ಬೀಳುತ್ತದೆ.

ಆದ್ದರಿಂದ ನಾವು ನಿರ್ಧರಿಸಬೇಕಾಗಿದೆ - ನಾವು TCP ಅಥವಾ UDP ಸಾಕೆಟ್‌ಗಳನ್ನು ಬಳಸಬೇಕೇ? ಅವರ ಗುಣಲಕ್ಷಣಗಳನ್ನು ನೋಡೋಣ:

  • ಸಂಪರ್ಕ ತತ್ವವನ್ನು ಬಳಸುತ್ತದೆ
  • ವಿತರಣೆ ಮತ್ತು ಟರ್ನ್ಅರೌಂಡ್ ಅನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ
  • ಮಾಹಿತಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ಯಾಕೆಟ್‌ಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ
  • ಡೇಟಾವನ್ನು ತುಂಬಾ ತೀವ್ರವಾಗಿ ಕಳುಹಿಸಲಾಗಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ (ಡೇಟಾ ಹರಿವಿನ ನಿಯಂತ್ರಣ)
  • ಬಳಸಲು ಸುಲಭ - ಫೈಲ್‌ನಿಂದ ಬರೆಯುವುದು/ಓದುವುದು
UDP:
  • ಸಂಪರ್ಕ ತತ್ವವನ್ನು ಬಳಸುವುದಿಲ್ಲ - ನೀವು ಅದನ್ನು ಕೈಯಾರೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ
  • ಪ್ಯಾಕೇಜ್‌ಗಳ ವಿತರಣೆ ಮತ್ತು ವಿತರಣೆಯ ಆದೇಶವನ್ನು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ - ಅವರು ತಪ್ಪಾದ ಕ್ರಮದಲ್ಲಿ, ನಕಲುಗಳೊಂದಿಗೆ ಬರಬಹುದು ಅಥವಾ ಬರದೇ ಇರಬಹುದು!
  • ನೀವು ಡೇಟಾವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪ್ಯಾಕೆಟ್‌ಗಳಾಗಿ ವಿಭಜಿಸಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ಕಳುಹಿಸಬೇಕು
  • ಡೇಟಾವನ್ನು ತುಂಬಾ ತೀವ್ರವಾಗಿ ಕಳುಹಿಸದಂತೆ ನೀವು ಜಾಗರೂಕರಾಗಿರಬೇಕು
  • ಪ್ಯಾಕೆಟ್ ಕಳೆದುಹೋದರೆ, ನೀವು ಅದನ್ನು ಹೇಗಾದರೂ ಟ್ರ್ಯಾಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ, ಅದನ್ನು ಮರುಕಳುಹಿಸಿ
ಅಂತಹ ಪಟ್ಟಿಯೊಂದಿಗೆ, ಪರಿಹಾರವು ಸ್ಪಷ್ಟವಾಗಿ ತೋರುತ್ತದೆ - TCP ನಮಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಬಳಸಲು ಸುಲಭವಾಗಿದೆ, UDP ಅನ್ನು ಬಳಸುವಾಗ ಮೊದಲಿನಿಂದ ಎಲ್ಲವನ್ನೂ ಕೈಯಾರೆ ಬರೆಯುವ ಮೂಲಕ ಮೂಲವ್ಯಾಧಿಗೆ ಭರವಸೆ ನೀಡುತ್ತದೆ. ಆದ್ದರಿಂದ ನಾವು TCP ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಸರಿ?

ಆದರೆ ಇಲ್ಲ.

TCP ಅನ್ನು ಬಳಸುವುದು ಬಹುಶಃ ಕೆಟ್ಟ ತಪ್ಪು, ಮಲ್ಟಿಪ್ಲೇಯರ್ ಆಟವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ ಇದನ್ನು ಸಾಧಿಸಬಹುದು. ಏಕೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, TCP ಅನ್ನು ಬಳಸಲು ತುಂಬಾ ಸುಲಭವಾಗುವಂತೆ ಮಾಡುವುದನ್ನು ನೋಡೋಣ!

TCP ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
TCP ಮತ್ತು UDP ಎರಡೂ IP ಯ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ ಅವು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾಗಿವೆ. UDP IP ಯಂತೆಯೇ ವರ್ತಿಸುತ್ತದೆ, ಆದರೆ TCP ಬಳಕೆದಾರರನ್ನು ಎಲ್ಲಾ ಪ್ಯಾಕೆಟ್ ಸಮಸ್ಯೆಗಳಿಂದ ದೂರವಿಡುತ್ತದೆ, ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಫೈಲ್ ಅನ್ನು ಓದುವುದು/ಬರೆಯುವಂತೆ ಮಾಡುತ್ತದೆ.

ಹಾಗಾದರೆ ಅವನು ಅದನ್ನು ಹೇಗೆ ಮಾಡುತ್ತಾನೆ?

ಮೊದಲಿಗೆ, TCP ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅಮೂರ್ತತೆಯನ್ನು ಬಳಸುತ್ತದೆ - ನೀವು ಆ ಸ್ಟ್ರೀಮ್‌ಗೆ ಡೇಟಾದ ಬೈಟ್‌ಗಳನ್ನು ಸರಳವಾಗಿ ಬರೆಯಬಹುದು ಮತ್ತು TCP ಅದು ತನ್ನ ಗಮ್ಯಸ್ಥಾನವನ್ನು ತಲುಪುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಏಕೆಂದರೆ IP ಪ್ಯಾಕೆಟ್‌ಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ರವಾನಿಸುತ್ತದೆ ಮತ್ತು TCP IP ಮೇಲೆ ಚಲಿಸುತ್ತದೆ, TCP ಬಳಕೆದಾರರ ಇನ್‌ಪುಟ್ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಪ್ಯಾಕೆಟ್‌ಗಳಾಗಿ ಒಡೆಯಬೇಕು. ಆದ್ದರಿಂದ, TCP ಒಳಗೆ, ಕೆಲವು ತರ್ಕವು ಡೇಟಾವನ್ನು ಸರದಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿ ಸಾಕಷ್ಟು ಇದ್ದಾಗ, ಅದು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ರೂಪಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ.

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

ಇದನ್ನು ಸರಿಪಡಿಸಲು TCP ಒಂದು ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿದೆ - “TCP_NODELAY”. ಕಳುಹಿಸುವ ಸರದಿಯಲ್ಲಿ ಡೇಟಾ ಸಂಗ್ರಹಗೊಳ್ಳಲು ಕಾಯಬೇಡಿ, ಆದರೆ ಅದನ್ನು ತಕ್ಷಣವೇ ಕಳುಹಿಸಲು ಪ್ರೋಟೋಕಾಲ್‌ಗೆ ಹೇಳುತ್ತದೆ.

ದುರದೃಷ್ಟವಶಾತ್, ಈ ಆಯ್ಕೆಯನ್ನು ಸ್ಥಾಪಿಸಿದ್ದರೂ ಸಹ, TCP ಬಳಸಿದಾಗ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ ನೆಟ್ವರ್ಕ್ ಆಟಗಳು.

ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳ ಮೂಲವು TCP ಕಳೆದುಹೋದ ಅಥವಾ ಔಟ್-ಆಫ್-ಆರ್ಡರ್ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವ ವಿಧಾನದಲ್ಲಿದೆ, ಇದು ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಸ್ಥಿರವಾದ ಸಂಪರ್ಕದ ಭ್ರಮೆಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.

ಸಂಪರ್ಕದ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು TCP ಹೇಗೆ ಖಚಿತಪಡಿಸುತ್ತದೆ
ನಲ್ಲಿ TCP ಪ್ರಸರಣಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಪ್ಯಾಕೆಟ್‌ಗಳಾಗಿ ಒಡೆಯುತ್ತದೆ, ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ IP ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ಅವುಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಮರುನಿರ್ಮಾಣ ಮಾಡುತ್ತದೆ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಪಡೆದರುಮೂಲ ಹರಿವು.

ಆದರೆ ಒಂದು ಪ್ಯಾಕೆಟ್ ಬರದಿದ್ದರೆ ಏನಾಗುತ್ತದೆ? ಅಥವಾ ಪ್ಯಾಕೇಜ್‌ಗಳು ಕ್ರಮಬದ್ಧವಾಗಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ನಕಲುಗಳೊಂದಿಗೆ ಬಂದರೆ?

ಹೆಚ್ಚು ವಿವರವಾಗಿ ಹೋಗದೆ TCP ಕಾರ್ಯಾಚರಣೆ(ಮತ್ತು ಇದು ನಿಜವಾಗಿಯೂ ತುಂಬಾ ಸಂಕೀರ್ಣವಾದ ವಿಷಯವಾಗಿದೆ - ನೀವು ಇದನ್ನು TCP/IP ಇಲ್ಲಸ್ಟ್ರೇಟೆಡ್ ನಲ್ಲಿ ಓದಬಹುದು), ಪ್ರಕ್ರಿಯೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ: TCP ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಪ್ಯಾಕೆಟ್ ಬರಲಿಲ್ಲ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ಅದೇ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸುವವರಿಗೆ ಮರುಕಳಿಸುತ್ತದೆ. ಸ್ವೀಕರಿಸುವವರ ಕಡೆಯಿಂದ ನಕಲಿ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಆದೇಶದಿಂದ ಹೊರಗಿರುವ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಮರುಕ್ರಮಗೊಳಿಸಲಾಗುತ್ತದೆ ಇದರಿಂದ ಎಲ್ಲವೂ ಇರಬೇಕಾದಂತೆ - ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಮತ್ತು ಕ್ರಮವಾಗಿ.

ಸಮಸ್ಯೆಯೆಂದರೆ, TCP ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಈ ರೀತಿಯಲ್ಲಿ "ಸಿಂಕ್ರೊನೈಸ್" ಮಾಡಿದಾಗ, ಒಂದು ಪ್ಯಾಕೆಟ್ ಕಳೆದುಹೋದರೆ, ಕಳೆದುಹೋದ ಪ್ಯಾಕೆಟ್ ಮರುಕಳಿಸುವವರೆಗೆ (ಮತ್ತು ಗಮ್ಯಸ್ಥಾನವನ್ನು ಸ್ವೀಕರಿಸುವವರೆಗೆ) ಪ್ರಸರಣವು ನಿಲ್ಲುತ್ತದೆ. ಕಾಯುತ್ತಿರುವಾಗ ಹೊಸ ಡೇಟಾ ಬಂದರೆ, ಅದು ಸರದಿಯಲ್ಲಿರುತ್ತದೆ ಮತ್ತು ಕಳೆದುಹೋದ ಪ್ಯಾಕೆಟ್ ಬರುವವರೆಗೆ ಅದನ್ನು ಓದಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಮರುಕಳುಹಿಸಲು ಎಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ? ಇದು ಪ್ಯಾಕೆಟ್‌ನ ರೌಂಡ್-ಟ್ರಿಪ್ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ (ಯಾವ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಮರುಕಳುಹಿಸಬೇಕೆಂದು TCP ನಿರ್ಧರಿಸಿದಾಗ), ಜೊತೆಗೆ ಕಳೆದುಹೋದ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಮರು-ವಿತರಣೆ ಮಾಡಲು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಆದ್ದರಿಂದ ಕಂಪ್ಯೂಟರ್‌ಗಳ ನಡುವಿನ ಪಿಂಗ್ 125ms ಆಗಿದ್ದರೆ, ಮರುಪ್ರಸಾರಪ್ಯಾಕೆಟ್ ಸೆಕೆಂಡಿನ ಐದನೇ ಒಂದು ಭಾಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಕೆಟ್ಟ ಸಂದರ್ಭದಲ್ಲಿ - ಅರ್ಧ ಸೆಕೆಂಡಿನವರೆಗೆ (ಹೊಸದಾಗಿ ಕಳುಹಿಸಿದ ಪ್ಯಾಕೆಟ್ ಕೂಡ ಕಳೆದುಹೋದರೆ ಊಹಿಸಿ). ವೆಸೇಲುಖಾ!

ಮಲ್ಟಿಪ್ಲೇಯರ್ ಆಟಗಳಿಗೆ ನೀವು TCP ಅನ್ನು ಏಕೆ ಬಳಸಬಾರದು
ಆನ್‌ಲೈನ್ ಆಟಗಳಲ್ಲಿ TCP ಬಳಸುವ ಸಮಸ್ಯೆ ಏನೆಂದರೆ, ಬ್ರೌಸರ್‌ಗಳಂತಲ್ಲದೆ, ಇಮೇಲ್ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಆಟಗಳು ನೈಜ-ಸಮಯದ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಅವಲಂಬಿಸಿವೆ. ಬಳಕೆದಾರರು ಒತ್ತಿದ ಕೀಗಳು ಮತ್ತು ಆಟದಲ್ಲಿನ ಆಟಗಾರರ ಸ್ಥಾನದಂತಹ ಆಟದ ಹಲವು ಅಂಶಗಳಿಗೆ, ಒಂದು ಸೆಕೆಂಡ್ ಹಿಂದೆ ಏನಾಯಿತು ಎಂಬುದು ಮುಖ್ಯವಲ್ಲ, ಪ್ರಸ್ತುತ ಸ್ಥಿತಿ ಮಾತ್ರ ಮುಖ್ಯವಾಗಿದೆ ಆಟದ ಪ್ರಪಂಚ.

3D ಶೂಟರ್‌ನಂತಹ ಮಲ್ಟಿಪ್ಲೇಯರ್ ಆಟದ ಸರಳ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ. ಆಟದ ನೆಟ್‌ವರ್ಕ್ ಭಾಗವನ್ನು ಬಹಳ ಸರಳವಾಗಿ ನಿರ್ಮಿಸಲಾಗಿದೆ: ಆಟದ ಚಕ್ರದ ಪ್ರತಿ ಪುನರಾವರ್ತನೆ, ಕ್ಲೈಂಟ್ ಸರ್ವರ್‌ಗೆ ಆಟಗಾರನ ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳ ವಿವರಣೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ (ಕೀಗಳನ್ನು ಒತ್ತಿದರೆ, ಮೌಸ್ ಸ್ಥಾನ, ಇತ್ಯಾದಿ), ಮತ್ತು ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯು ಈ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ , ಆಟದ ಪ್ರಪಂಚದ ಮಾದರಿಯನ್ನು ನವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಸ್ತುತವಾದವುಗಳನ್ನು ಪ್ರಪಂಚದ ವಸ್ತುಗಳ ಕ್ಲೈಂಟ್ ಸ್ಥಾನಗಳಿಗೆ ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಇದರಿಂದ ಅದು ಆಟಗಾರನಿಗೆ ಹೊಸ ಚೌಕಟ್ಟನ್ನು ಸೆಳೆಯುತ್ತದೆ.

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

ದುರದೃಷ್ಟವಶಾತ್, TCP ಯ ಈ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ, ಮತ್ತು ಇದು TCP ಯ ಅರ್ಥವಾಗಿರುವುದರಿಂದ ಅಗತ್ಯವಿಲ್ಲ. ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ಡೇಟಾ ಪ್ರಸರಣವನ್ನು ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಸ್ಥಿರವಾದ ಡೇಟಾ ಹರಿವು ಮಾಡಲು ಇದು ಅವಶ್ಯಕವಾಗಿದೆ.
ಆದರೆ ನಮಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಸ್ಥಿರವಾದ ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅಗತ್ಯವಿಲ್ಲ.

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

ಆದರೆ ನಿರೀಕ್ಷಿಸಿ! ನಾನು UDP ಮತ್ತು TCP ಎರಡನ್ನೂ ಏಕೆ ಒಟ್ಟಿಗೆ ಬಳಸಬಾರದು?

ಬಳಕೆದಾರರ ಕ್ಲಿಕ್‌ಗಳು ಮತ್ತು ಗೇಮ್ ವರ್ಲ್ಡ್ ಸ್ಟೇಟ್‌ನಂತಹ ನೈಜ-ಸಮಯದ ಆಟದ ಡೇಟಾಗೆ, ಪ್ರಸ್ತುತ ಡೇಟಾ ಮಾತ್ರ ಮುಖ್ಯವಾಗಿದೆ, ಆದರೆ ಇತರ ಪ್ರಕಾರದ ಡೇಟಾಗೆ, ಉದಾಹರಣೆಗೆ ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಕಳುಹಿಸಲಾದ ಆಜ್ಞೆಗಳ ಸೆಟ್‌ಗಳು, ಚಾನಲ್‌ನ ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ಸ್ಥಿರತೆ ಬಹಳ ಮುಖ್ಯವಾಗಬಹುದು.

ಸಹಜವಾಗಿ, ಬಳಕೆದಾರರ ಇನ್‌ಪುಟ್ ಮತ್ತು ವರ್ಲ್ಡ್ ಸ್ಟೇಟ್ ಡೇಟಾಗಾಗಿ UDP ಅನ್ನು ಬಳಸಲು ಇದು ಪ್ರಲೋಭನಕಾರಿಯಾಗಿದೆ ಮತ್ತು ಡೇಟಾಕ್ಕಾಗಿ TCP ಅನ್ನು ಡೆಲಿವರಿ ಮಾಡಲಾಗುವುದು ಎಂದು ಖಾತರಿಪಡಿಸಬೇಕು. ನೀವು ಕಮಾಂಡ್‌ಗಳ ಬಹು "ಥ್ರೆಡ್‌ಗಳನ್ನು" ಮಾಡಬಹುದು ಎಂದು ನೀವು ಯೋಚಿಸುತ್ತಿರಬಹುದು - ಉದಾಹರಣೆಗೆ, ಒಂದು ಹಂತಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು, ಇನ್ನೊಂದು AI ಆಜ್ಞೆಗಳಿಗೆ. ನೀವು ಯೋಚಿಸುತ್ತಿದ್ದೀರಿ, “ಒಂದು ಹಂತವನ್ನು ಲೋಡ್ ಮಾಡಲು ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಕಳೆದುಹೋದರೆ, AI ತಂಡಗಳು ಸಾಲಿನಲ್ಲಿ ಕಾಯುವ ಅಗತ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಅವುಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಸಂಬಂಧವಿಲ್ಲ!” IN ಈ ಸಂದರ್ಭದಲ್ಲಿನೀವು ಸರಿ ಮತ್ತು ನೀವು ರಚಿಸಲು ನಿರ್ಧರಿಸಬಹುದು TCP ಸಾಕೆಟ್ಪ್ರತಿ ಕಮಾಂಡ್ ಸ್ಟ್ರೀಮ್‌ಗೆ.

ಮೊದಲ ನೋಟದಲ್ಲಿ, ಇದು ಉತ್ತಮ ಕಲ್ಪನೆ. ಆದರೆ ಸಮಸ್ಯೆಯೆಂದರೆ TCP ಮತ್ತು UDP ಎರಡೂ IP ಯ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದರಿಂದ, ಎರಡೂ ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಪ್ಯಾಕೆಟ್‌ಗಳು ಪರಸ್ಪರ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ - ಈಗಾಗಲೇ IP ಮಟ್ಟದಲ್ಲಿ. ಈ ಪರಿಣಾಮವು ಎಷ್ಟು ನಿಖರವಾಗಿ ಪ್ರಕಟವಾಗುತ್ತದೆ ಎಂಬುದು ಬಹಳ ಸಂಕೀರ್ಣವಾದ ಪ್ರಶ್ನೆಯಾಗಿದೆ ಮತ್ತು ಇದು TCP ಯಲ್ಲಿನ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ. ಆದರೆ, ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, TCP ಬಳಕೆಯು ಸಾಮಾನ್ಯವಾಗಿ UDP ಪ್ಯಾಕೆಟ್ ನಷ್ಟಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ ಎಂದು ತಿಳಿದಿರಲಿ. ನೀವು ಇದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ನೀವು ಓದಬಹುದು

IP ಗೆ ಕ್ರಮಾನುಗತದಲ್ಲಿ ಮುಂದಿನ ಟ್ರಾನ್ಸ್‌ಪೋರ್ಟ್ ಲೇಯರ್ ಪ್ರೋಟೋಕಾಲ್‌ಗಳನ್ನು ನೆಟ್‌ವರ್ಕ್ ನೋಡ್‌ಗಳಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಸ್ವೀಕರಿಸಿದ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಹ್ಯಾಂಡ್ಲರ್ ಪ್ರಕ್ರಿಯೆಗೆ ವರ್ಗಾಯಿಸಬೇಕು ಮತ್ತು ನಿಖರವಾಗಿ ನಿರ್ದಿಷ್ಟ ಉದ್ದೇಶಕ್ಕಾಗಿ. ಸಾರಿಗೆ ಪದರವು ಇದರ ಜವಾಬ್ದಾರಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಹಂತದಲ್ಲಿ ಎರಡು ಮುಖ್ಯ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಿವೆ: TCP ಮತ್ತು UDP.

ವ್ಯಾಖ್ಯಾನ

ಟಿಸಿಪಿ— TCP/IP ನೆಟ್‌ವರ್ಕ್‌ಗಳಲ್ಲಿ ಡೇಟಾ ವರ್ಗಾವಣೆಗಾಗಿ ಸಾರಿಗೆ ಪ್ರೋಟೋಕಾಲ್, ಇದು ಪ್ರಾಥಮಿಕವಾಗಿ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ.

ಯುಡಿಪಿ- ಐಪಿ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲದೇ ಡೇಟಾಗ್ರಾಮ್ ಸಂದೇಶಗಳನ್ನು ರವಾನಿಸುವ ಸಾರಿಗೆ ಪ್ರೋಟೋಕಾಲ್.

ಹೋಲಿಕೆ

TCP ಮತ್ತು UDP ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು "ವಿತರಣಾ ಗ್ಯಾರಂಟಿ" ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. TCP ಗೆ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ತಲುಪಿಸುವ ಕ್ಲೈಂಟ್‌ನಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯ ಅಗತ್ಯವಿದೆ, ವಿತರಣೆಯ ದೃಢೀಕರಣ, ಮತ್ತು ಇದಕ್ಕಾಗಿ ಪೂರ್ವ-ಸ್ಥಾಪಿತ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ. ಅಲ್ಲದೆ, TCP ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ವಿಶ್ವಾಸಾರ್ಹವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ, ಆದರೆ UDP "ವಿಶ್ವಾಸಾರ್ಹ ಡೇಟಾಗ್ರಾಮ್ ಪ್ರೋಟೋಕಾಲ್" ಎಂಬ ಹೆಸರನ್ನು ಸಹ ಸ್ವೀಕರಿಸಿದೆ. TCP ಡೇಟಾ ನಷ್ಟ, ನಕಲು ಮತ್ತು ಪ್ಯಾಕೆಟ್ ಮಿಶ್ರಣ ಮತ್ತು ವಿಳಂಬಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ. UDP ಇದೆಲ್ಲವನ್ನೂ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲಸ ಮಾಡಲು ಸಂಪರ್ಕದ ಅಗತ್ಯವಿಲ್ಲ. UDP ಮೂಲಕ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳು ನಷ್ಟದೊಂದಿಗೆ ಸಹ ಅವರು ಸ್ವೀಕರಿಸುವದನ್ನು ಮಾಡಬೇಕು. TCP ಸಂಪರ್ಕದ ದಟ್ಟಣೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ, UDP ಸ್ವೀಕರಿಸಿದ ಡೇಟಾಗ್ರಾಮ್ಗಳ ಸಮಗ್ರತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಯಾವುದನ್ನೂ ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ.

ಮತ್ತೊಂದೆಡೆ, ಅಂತಹ ವಿವೇಚನಾರಹಿತತೆ ಮತ್ತು ನಿಯಂತ್ರಣದ ಕೊರತೆಯಿಂದಾಗಿ, UDP ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು (ಡೇಟಾಗ್ರಾಮ್‌ಗಳು) ಹೆಚ್ಚು ವೇಗವಾಗಿ ತಲುಪಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಹೆಚ್ಚಿನ ಥ್ರೋಪುಟ್ ಮತ್ತು ವೇಗದ ವಿನಿಮಯಕ್ಕಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ, UDP ಅನ್ನು ಅತ್ಯುತ್ತಮ ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ಇವುಗಳಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಬ್ರೌಸರ್ ಆಟಗಳು, ಹಾಗೆಯೇ ಸ್ಟ್ರೀಮಿಂಗ್ ವೀಡಿಯೊ ವೀಕ್ಷಣೆ ಕಾರ್ಯಕ್ರಮಗಳು ಮತ್ತು ವೀಡಿಯೊ ಸಂವಹನಕ್ಕಾಗಿ (ಅಥವಾ ಧ್ವನಿ) ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸೇರಿವೆ: ಪ್ಯಾಕೇಜ್‌ನ ನಷ್ಟ, ಸಂಪೂರ್ಣ ಅಥವಾ ಭಾಗಶಃ, ಯಾವುದನ್ನೂ ಬದಲಾಯಿಸುವುದಿಲ್ಲ, ವಿನಂತಿಯನ್ನು ಪುನರಾವರ್ತಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಡೌನ್‌ಲೋಡ್ ಹೆಚ್ಚು ವೇಗವಾಗಿದೆ. TCP ಪ್ರೋಟೋಕಾಲ್, ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿರುವುದರಿಂದ, ಇಮೇಲ್ ಪ್ರೋಗ್ರಾಂಗಳಲ್ಲಿಯೂ ಸಹ ಯಶಸ್ವಿಯಾಗಿ ಬಳಸಲ್ಪಡುತ್ತದೆ, ಇದು ಸಂಚಾರವನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಸಂದೇಶದ ಉದ್ದ ಮತ್ತು ಟ್ರಾಫಿಕ್ ವಿನಿಮಯದ ವೇಗವನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ತೀರ್ಮಾನಗಳ ವೆಬ್‌ಸೈಟ್

  1. ಬದಲಾಗದ ರೂಪ, ಅನುಕ್ರಮ ಮತ್ತು ನಷ್ಟವಿಲ್ಲದೆ ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳ ವಿತರಣೆಯನ್ನು TCP ಖಾತರಿಪಡಿಸುತ್ತದೆ, UDP ಏನನ್ನೂ ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ.
  2. TCP ಗೆ ಪೂರ್ವ-ಸ್ಥಾಪಿತ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ, UDP ಗೆ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿಲ್ಲ.
  3. UDP ಹೆಚ್ಚಿನ ಡೇಟಾ ವರ್ಗಾವಣೆ ದರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
  4. TCP ಹೆಚ್ಚು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿದೆ ಮತ್ತು ಡೇಟಾ ವಿನಿಮಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
  5. ಸ್ಟ್ರೀಮಿಂಗ್ ವೀಡಿಯೋ, ವೀಡಿಯೋಫೋನಿ ಮತ್ತು ಟೆಲಿಫೋನಿ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಆಟಗಳನ್ನು ಆಡುವ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ UDP ಆದ್ಯತೆಯಾಗಿದೆ.

UDP ಪ್ರೋಟೋಕಾಲ್

ಬಳಕೆದಾರರ ಡೇಟಾಗ್ರಾಮ್ ಪ್ರೋಟೋಕಾಲ್ (UDP)ಇದು ಸರಳವಾದ, ಸಂಪರ್ಕವಿಲ್ಲದ, ಡೇಟಾಗ್ರಾಮ್-ಆಧಾರಿತ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದ್ದು ಅದು ವೇಗದ, ಆದರೆ ಅಗತ್ಯವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲ, ಸಾರಿಗೆ ಸೇವೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಒಂದರಿಂದ ಹಲವು ಸಂವಹನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಹೆಚ್ಚಾಗಿ ಪ್ರಸಾರ ಮತ್ತು ಮಲ್ಟಿಕಾಸ್ಟ್ ಡೇಟಾಗ್ರಾಮ್ ಪ್ರಸರಣಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಇಂಟರ್ನೆಟ್ ಪ್ರೋಟೋಕಾಲ್ (IP) ಇಂಟರ್ನೆಟ್ನ ಮುಖ್ಯ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಟ್ರಾನ್ಸ್‌ಮಿಷನ್ ಕಂಟ್ರೋಲ್ ಪ್ರೋಟೋಕಾಲ್ (TCP) ಮತ್ತು UDP ಒಂದು ಆಧಾರವಾಗಿರುವ ಪ್ರೋಟೋಕಾಲ್‌ನ ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಸಾರಿಗೆ ಪದರ ಪ್ರೋಟೋಕಾಲ್‌ಗಳಾಗಿವೆ.

TCP/IP ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಒಂದು ಸೆಟ್, ಇದನ್ನು ಇಂಟರ್ನೆಟ್ ಪ್ರೋಟೋಕಾಲ್ ಸೂಟ್ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ, ಇದು ನಾಲ್ಕು ಪದರಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. TCP/IP ಕೇವಲ ಒಂದು ಪ್ರೋಟೋಕಾಲ್ ಅಲ್ಲ, ಆದರೆ IP, TCP ಮತ್ತು UDP ಯಂತಹ ಇತರ ಕೆಳ-ಹಂತದ ಪ್ರೋಟೋಕಾಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಒಂದು ಕುಟುಂಬ ಅಥವಾ ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಸೆಟ್ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ಯುಡಿಪಿಯು ಐಪಿಯ ಮೇಲಿರುವ ಸಾರಿಗೆ ಪದರದಲ್ಲಿದೆ (ಪ್ರೋಟೋಕಾಲ್ ನೆಟ್ವರ್ಕ್ ಪದರ) ಸಾರಿಗೆ ಪದರವು ಗೇಟ್ವೇಗಳ ಮೂಲಕ ನೆಟ್ವರ್ಕ್ಗಳ ನಡುವೆ ಸಂವಹನವನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಿವಿಧ ಸಾಧನ ಡ್ರೈವರ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇಂಟರ್ನೆಟ್ ಅಥವಾ ಇನ್ನೊಂದು ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಕಳುಹಿಸಲು ಇದು IP ವಿಳಾಸಗಳನ್ನು ಬಳಸುತ್ತದೆ.

ನೀವು ಅಧ್ಯಯನವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಯುಡಿಪಿ ಕೆಲಸ, ನೀವು ಚೆನ್ನಾಗಿ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ಮೂಲಭೂತ ಪರಿಭಾಷೆಗೆ ತಿರುಗೋಣ. ಕೆಳಗೆ ನಾವು UDP ಯೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಮುಖ್ಯ ಪದಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇವೆ:

ಪ್ಯಾಕೇಜುಗಳು

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

ಡೇಟಾಗ್ರಾಮ್‌ಗಳು

ಡೇಟಾಗ್ರಾಮ್ ಎನ್ನುವುದು ಮೂಲದಿಂದ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಪ್ರಯಾಣಿಸಲು ಸಾಕಷ್ಟು ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವ ಒಂದು ಸ್ವತಂತ್ರ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಮೂಲ, ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಸಾರಿಗೆ ನೆಟ್‌ವರ್ಕ್ ನಡುವೆ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ದಟ್ಟಣೆಯ ಅಗತ್ಯವಿಲ್ಲ.

MTU (ಗರಿಷ್ಠ ಪ್ರಸರಣ ಘಟಕ)

MTU ನಿರೂಪಿಸುತ್ತದೆ ಲಿಂಕ್ ಪದರಮತ್ತು ಅನುರೂಪವಾಗಿದೆ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಒಂದು ಪ್ಯಾಕೆಟ್‌ನಲ್ಲಿ ರವಾನಿಸಬಹುದಾದ ಬೈಟ್‌ಗಳು. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, MTU ಒಂದು ನಿರ್ದಿಷ್ಟ ನೆಟ್‌ವರ್ಕ್ ಪರಿಸರವು ಸಾಗಿಸಬಹುದಾದ ಅತಿದೊಡ್ಡ ಪ್ಯಾಕೆಟ್ ಆಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಈಥರ್ನೆಟ್ 1500 ಬೈಟ್‌ಗಳ ಸ್ಥಿರ MTU ಅನ್ನು ಹೊಂದಿದೆ. UDP ಯಲ್ಲಿ, ಡೇಟಾಗ್ರಾಮ್ ಗಾತ್ರವು MTU ಗಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, IP ಪ್ರೋಟೋಕಾಲ್ ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು ಸಣ್ಣ ತುಂಡುಗಳಾಗಿ (ತುಣುಕುಗಳು) ಒಡೆಯುವ ಮೂಲಕ ವಿಘಟನೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಪ್ರತಿ ತುಣುಕು MTU ಗಿಂತ ಕಡಿಮೆಯಿರುತ್ತದೆ.

ಬಂದರುಗಳು

ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಗೆ ಒಳಬರುವ ಡೇಟಾವನ್ನು ಹೊಂದಿಸಲು, UDP ಪೋರ್ಟ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಡೇಟಾಗ್ರಾಮ್‌ನ UDP ಹೆಡರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಯನ್ನು ಬಳಸಿಕೊಂಡು UDP ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಸೂಕ್ತ ಸ್ಥಳಕ್ಕೆ ರವಾನಿಸುತ್ತದೆ. ಪೋರ್ಟ್‌ಗಳನ್ನು 16-ಬಿಟ್ ಸಂಖ್ಯೆಗಳಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ 0 ರಿಂದ 65,535 ರವರೆಗಿನ ಮೌಲ್ಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇವುಗಳನ್ನು ತಾರ್ಕಿಕ ಸಂಪರ್ಕದ ಅಂತಿಮ ಬಿಂದುಗಳು ಎಂದೂ ಕರೆಯುತ್ತಾರೆ, ಇದನ್ನು ಮೂರು ವರ್ಗಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ:

    ಫೈನ್ ಪ್ರಸಿದ್ಧ ಬಂದರುಗಳು- 0 ರಿಂದ 1023 ರವರೆಗೆ

    ನೋಂದಾಯಿತ ಬಂದರುಗಳು - 1024 ರಿಂದ 49151 ವರೆಗೆ

    ಡೈನಾಮಿಕ್/ಖಾಸಗಿ ಬಂದರುಗಳು - 49152 ರಿಂದ 65535

UDP ಪೋರ್ಟ್‌ಗಳು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, TCP ಮತ್ತು UDP ಸೇವೆಗಳು ಒಂದೇ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ 7 (ಎಕೋ) ಅಥವಾ 23 (ಟೆಲ್ನೆಟ್).

UDP ಕೆಳಗಿನ ತಿಳಿದಿರುವ ಪೋರ್ಟ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ:

UDP ಮತ್ತು TCP ಪೋರ್ಟ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು IANA (ಇಂಟರ್ನೆಟ್ ಅಸೈನ್ಡ್ ನಂಬರ್ ಅಥಾರಿಟಿ) ನಿರ್ವಹಿಸುತ್ತದೆ.

IP ವಿಳಾಸಗಳು

IP ಡೇಟಾಗ್ರಾಮ್ 32-ಬಿಟ್ ಮೂಲ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನ IP ವಿಳಾಸಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಗಮ್ಯಸ್ಥಾನ IP ವಿಳಾಸವು UDP ಡೇಟಾಗ್ರಾಮ್‌ಗಾಗಿ ಅಂತಿಮ ಬಿಂದುವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ ಮತ್ತು ಸಂದೇಶವನ್ನು ಯಾರು ಕಳುಹಿಸಿದ್ದಾರೆ ಎಂಬುದರ ಕುರಿತು ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಮೂಲ IP ವಿಳಾಸವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಗಮ್ಯಸ್ಥಾನದಲ್ಲಿ, ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಮಾನ್ಯವಾದ ವಿಳಾಸಗಳ ಸೆಟ್‌ನಲ್ಲಿ ಮೂಲ ವಿಳಾಸಗಳನ್ನು ಸೇರಿಸದೆ ಇರುವವರನ್ನು ಕಳುಹಿಸುವವರಿಗೆ ಸೂಚನೆ ನೀಡದೆ ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

ಯುನಿಕಾಸ್ಟ್ ಐಪಿ ವಿಳಾಸವು ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಹೋಸ್ಟ್ ಅನ್ನು ಅನನ್ಯವಾಗಿ ಗುರುತಿಸುತ್ತದೆ, ಆದರೆ ಮಲ್ಟಿಕಾಸ್ಟ್ ಐಪಿ ವಿಳಾಸವು ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿನ ನಿರ್ದಿಷ್ಟ ಗುಂಪಿನ ವಿಳಾಸಗಳನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಬ್ರಾಡ್‌ಕಾಸ್ಟ್ IP ವಿಳಾಸಗಳನ್ನು ಎಲ್ಲಾ ಹೋಸ್ಟ್‌ಗಳಿಂದ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಸಬ್ನೆಟ್.

TTL

ಟೈಮ್-ಟು-ಲೈವ್, ಅಥವಾ TTL (ಟೈಮ್-ಟು-ಲೈವ್) ಮೌಲ್ಯವು ಡೇಟಾಗ್ರಾಮ್ ರವಾನಿಸಬಹುದಾದ ರೂಟರ್‌ಗಳ ಸಂಖ್ಯೆಯ ಮೇಲಿನ ಮಿತಿಯನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. TTL ಮೌಲ್ಯವು ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ತಲುಪದಂತೆ ತಡೆಯುತ್ತದೆ ಅಂತ್ಯವಿಲ್ಲದ ಕುಣಿಕೆಗಳು. ಇದನ್ನು ಕಳುಹಿಸುವವರಿಂದ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಪ್ರತಿ ರೂಟರ್‌ನಿಂದ ಒಂದರಿಂದ ಕಡಿಮೆಗೊಳಿಸಲಾಗುತ್ತದೆ. TTL ಮೌಲ್ಯವು ಶೂನ್ಯವಾದಾಗ, ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

ಗುಂಪು ಮೇಲಿಂಗ್

ಮಲ್ಟಿಕ್ಯಾಸ್ಟ್ ಎನ್ನುವುದು ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಬಳಕೆದಾರರಿಗೆ ಒಂದೇ ರೀತಿಯ ಮಾಹಿತಿಯನ್ನು ವಿತರಿಸಲು ಮುಕ್ತ, ಮಾನದಂಡ-ಆಧಾರಿತ ವಿಧಾನವಾಗಿದೆ. ಮಲ್ಟಿಕಾಸ್ಟ್ ಯುಡಿಪಿ ಪ್ರೋಟೋಕಾಲ್‌ನ ಮುಖ್ಯ ಲಕ್ಷಣವಾಗಿದೆ; ಇದು TCP ಪ್ರೋಟೋಕಾಲ್‌ಗೆ ಸಾಧ್ಯವಿಲ್ಲ. ಮಲ್ಟಿಕ್ಯಾಸ್ಟ್ ಒಂದರಿಂದ ಹಲವು ಸಂವಾದವನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಬಹು ಸ್ವೀಕರಿಸುವವರಿಗೆ ಸುದ್ದಿ ಮತ್ತು ಮೇಲ್ ಕಳುಹಿಸುವುದು, ಇಂಟರ್ನೆಟ್ ರೇಡಿಯೋ ಅಥವಾ ನೈಜ-ಸಮಯದ ಡೆಮೊ ಕಾರ್ಯಕ್ರಮಗಳಂತಹ ಸಂಭಾವ್ಯ ಬಳಕೆಗಳನ್ನು ಮಾಡುವುದು. ಮಲ್ಟಿಕಾಸ್ಟ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಪ್ರಸಾರದ ಪ್ರಸಾರದಷ್ಟು ಲೋಡ್ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಡೇಟಾವನ್ನು ಹಲವಾರು ಬಳಕೆದಾರರಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ:

UDP ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

UDP-ಆಧಾರಿತ ಅಪ್ಲಿಕೇಶನ್ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಮತ್ತೊಂದು ಹೋಸ್ಟ್‌ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಿದಾಗ, UDP ಅದನ್ನು ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಮೂಲ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳು, ಡೇಟಾದ ಒಟ್ಟು ಉದ್ದ ಮತ್ತು ಚೆಕ್‌ಸಮ್ ಅನ್ನು ಹೊಂದಿರುವ ಎಂಟು-ಬಿಟ್ ಹೆಡರ್‌ನೊಂದಿಗೆ ಸೇರಿಸುತ್ತದೆ. IP ಯುಡಿಪಿ ಡೇಟಾಗ್ರಾಮ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಅದರ ಹೆಡರ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ, ಇದು ಐಪಿ ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು ರೂಪಿಸುತ್ತದೆ:

UDP ಹೆಡರ್‌ನ ಒಟ್ಟು ಉದ್ದವು ಎಂಟು ಬೈಟ್‌ಗಳು ಎಂದು ಹಿಂದಿನ ಅಂಕಿ ಸೂಚಿಸುತ್ತದೆ. ಸೈದ್ಧಾಂತಿಕವಾಗಿ ಗರಿಷ್ಠ ಗಾತ್ರಒಂದು IP ಡೇಟಾಗ್ರಾಮ್ 65,535 ಬೈಟ್‌ಗಳು. IP ಹೆಡರ್‌ನ 20 ಬೈಟ್‌ಗಳು ಮತ್ತು UDP ಹೆಡರ್‌ನ 8 ಬೈಟ್‌ಗಳೊಂದಿಗೆ, ಬಳಕೆದಾರರ ಡೇಟಾ ಉದ್ದವು 65,507 ಬೈಟ್‌ಗಳವರೆಗೆ ಇರಬಹುದು. ಆದಾಗ್ಯೂ, ಹೆಚ್ಚಿನ ಪ್ರೋಗ್ರಾಂಗಳು ಡೇಟಾದೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಸಣ್ಣ ಗಾತ್ರ. ಹೀಗಾಗಿ, ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ, ಡೀಫಾಲ್ಟ್ ಉದ್ದವು ಸರಿಸುಮಾರು 8192 ಬೈಟ್‌ಗಳಾಗಿರುತ್ತದೆ, ಏಕೆಂದರೆ ಇದು ನೆಟ್‌ವರ್ಕ್‌ನಿಂದ ಓದುವ ಮತ್ತು ಬರೆಯಲಾದ ಡೇಟಾದ ಪ್ರಮಾಣವಾಗಿದೆ. ಕಡತ ವ್ಯವಸ್ಥೆ(NFS). ನೀವು ಇನ್‌ಪುಟ್ ಮತ್ತು ಔಟ್‌ಪುಟ್ ಬಫರ್‌ಗಳ ಗಾತ್ರಗಳನ್ನು ಹೊಂದಿಸಬಹುದು.

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

ಮುಂದಿನ ಹಂತದಲ್ಲಿ, ITL, ಮೂಲ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನ IP ವಿಳಾಸಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಡರ್‌ನ 20 ಬೈಟ್‌ಗಳನ್ನು IP ಲೇಯರ್ ಸೇರಿಸುತ್ತದೆ. ಈ ಕ್ರಿಯೆಯನ್ನು ಐಪಿ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

ಮೊದಲೇ ಹೇಳಿದಂತೆ, ಗರಿಷ್ಠ ಪ್ಯಾಕೆಟ್ ಗಾತ್ರ 65,507 ಬೈಟ್‌ಗಳು. ಪ್ಯಾಕೇಜ್ ಡೀಫಾಲ್ಟ್‌ಗಿಂತ ದೊಡ್ಡದಾಗಿದ್ದರೆ MTU ಗಾತ್ರ, ನಂತರ IP ಪದರವು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಭಾಗಗಳಾಗಿ ಒಡೆಯುತ್ತದೆ. ಈ ವಿಭಾಗಗಳನ್ನು ತುಣುಕುಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಡೇಟಾವನ್ನು ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸುವ ಪ್ರಕ್ರಿಯೆ ವಿಘಟನೆ. IP ಹೆಡರ್ ಎಲ್ಲಾ ತುಣುಕು ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ.

ಕಳುಹಿಸುವ ಅಪ್ಲಿಕೇಶನ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು "ಎಸೆದಾಗ", ಅದನ್ನು IP ಹೆಡರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಗಮ್ಯಸ್ಥಾನ IP ವಿಳಾಸಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ರೂಟರ್ ಮೂಲಕ ಹಾದುಹೋಗುವಾಗ, ಐಪಿ ಹೆಡರ್‌ನಲ್ಲಿ ವಾಸಿಸುವ ಸಮಯ (ಟಿಟಿಎಲ್) ಮೌಲ್ಯವು ಒಂದರಿಂದ ಕಡಿಮೆಯಾಗುತ್ತದೆ.

ನಿರ್ದಿಷ್ಟ ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಪೋರ್ಟ್‌ಗೆ ಡೇಟಾಗ್ರಾಮ್ ಬಂದಾಗ, ಡೇಟಾಗ್ರಾಮ್ ವಿಘಟಿತವಾಗಿದೆಯೇ ಎಂದು ನೋಡಲು IP ಲೇಯರ್ ಅದರ ಹೆಡರ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಹಾಗಿದ್ದಲ್ಲಿ, ಹೆಡರ್ನಲ್ಲಿನ ಮಾಹಿತಿಯ ಪ್ರಕಾರ ಡೇಟಾಗ್ರಾಮ್ ಅನ್ನು ಜೋಡಿಸಲಾಗುತ್ತದೆ. ಅಂತಿಮವಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಪದರಶಿರೋಲೇಖವನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡಿದ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ.

UDP ಯ ಅನಾನುಕೂಲಗಳು

TCP ಗೆ ಹೋಲಿಸಿದರೆ, UDP ಕೆಳಗಿನ ಅನಾನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ:

    ಯಾವುದೇ ಸ್ವೀಕೃತಿ ಸಂಕೇತಗಳಿಲ್ಲ. UDP ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸುವ ಮೊದಲು, ಕಳುಹಿಸುವ ಭಾಗವು ಸ್ವೀಕರಿಸುವ ಬದಿಯೊಂದಿಗೆ ಹ್ಯಾಂಡ್‌ಶೇಕ್ ಸಂಕೇತಗಳನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, ಕಳುಹಿಸುವವರಿಗೆ ಡೇಟಾಗ್ರಾಮ್ ಗಮ್ಯಸ್ಥಾನ ವ್ಯವಸ್ಥೆಯನ್ನು ತಲುಪಿದೆಯೇ ಎಂದು ತಿಳಿದುಕೊಳ್ಳಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ. ಪರಿಣಾಮವಾಗಿ, UDP ಡೇಟಾವನ್ನು ವಾಸ್ತವವಾಗಿ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ತಲುಪಿಸಲಾಗುತ್ತದೆ ಎಂದು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ (ಉದಾಹರಣೆಗೆ, ಅಂತಿಮ ಸಿಸ್ಟಮ್ ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ಡೌನ್ ಆಗಿದ್ದರೆ).

    ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, TCP ಸಂಪರ್ಕ-ಆಧಾರಿತವಾಗಿದೆ ಮತ್ತು ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೆಟ್‌ವರ್ಕ್-ಸಂಪರ್ಕಿತ ಹೋಸ್ಟ್‌ಗಳ ನಡುವೆ ಸಂವಹನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸಾಗಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು TCP ಹ್ಯಾಂಡ್‌ಶೇಕ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ.

    ಅವಧಿಗಳನ್ನು ಬಳಸುವುದು. TCP ಯ ಸಂಪರ್ಕ-ಆಧಾರಿತ ಸ್ವಭಾವವು ಅತಿಥೇಯಗಳ ನಡುವಿನ ಅವಧಿಗಳಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ. ಎರಡು ಅತಿಥೇಯಗಳ ನಡುವಿನ ಸಂಪರ್ಕಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು TCP ಸೆಷನ್ ಐಡೆಂಟಿಫೈಯರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. UDP ಅದರ ಸಂಪರ್ಕವಿಲ್ಲದ ಸ್ವಭಾವದಿಂದಾಗಿ ಅಧಿವೇಶನ ಬೆಂಬಲವನ್ನು ಹೊಂದಿಲ್ಲ.

    ವಿಶ್ವಾಸಾರ್ಹತೆ. ಡೇಟಾದ ಒಂದು ಪ್ರತಿಯನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸುವವರಿಗೆ ತಲುಪಿಸಲಾಗುತ್ತದೆ ಎಂದು UDP ಖಾತರಿ ನೀಡುವುದಿಲ್ಲ. ಕಳುಹಿಸಲು ಅಂತಿಮ ವ್ಯವಸ್ಥೆದೊಡ್ಡ ಪ್ರಮಾಣದ ಡೇಟಾ, UDP ಅದನ್ನು ಸಣ್ಣ ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ. ಈ ಭಾಗಗಳನ್ನು ಮೂಲದಲ್ಲಿ ರಚಿಸಿದ ಅದೇ ಕ್ರಮದಲ್ಲಿ ಅವುಗಳ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ತಲುಪಿಸಲಾಗುತ್ತದೆ ಎಂದು UDP ಖಾತರಿ ನೀಡುವುದಿಲ್ಲ. ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, TCP ಜೊತೆಗೆ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸುತ್ತದೆ ಸರಣಿ ಸಂಖ್ಯೆಗಳುಮತ್ತು ಡೇಟಾದ ಕ್ರಮಬದ್ಧ ವಿತರಣೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ದೃಢೀಕರಣಗಳನ್ನು ನಿಯಮಿತವಾಗಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.

    ಸುರಕ್ಷತೆ. TCP ಯುಡಿಪಿಗಿಂತ ಹೆಚ್ಚು ಸುರಕ್ಷಿತವಾಗಿದೆ. ಅನೇಕ ಸಂಸ್ಥೆಗಳಲ್ಲಿ, ಫೈರ್‌ವಾಲ್‌ಗಳು ಮತ್ತು ರೂಟರ್‌ಗಳು UDP ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ. ಏಕೆಂದರೆ ಹ್ಯಾಕರ್‌ಗಳು ಇದರ ಲಾಭ ಪಡೆಯಬಹುದು UDP ಬಂದರುಗಳುಸ್ಪಷ್ಟ ಸಂಪರ್ಕಗಳನ್ನು ಮಾಡದೆ.

    ಹರಿವಿನ ನಿಯಂತ್ರಣ. UDP ಯಾವುದೇ ಹರಿವಿನ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಿಲ್ಲ, ಮತ್ತು ಇದರ ಪರಿಣಾಮವಾಗಿ, ಕಳಪೆಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ UDP ಅಪ್ಲಿಕೇಶನ್ ಗಮನಾರ್ಹ ಭಾಗವನ್ನು ಸೆರೆಹಿಡಿಯಬಹುದು ಬ್ಯಾಂಡ್ವಿಡ್ತ್ಜಾಲಗಳು.

UDP ಯ ಪ್ರಯೋಜನಗಳು

TCP ಗೆ ಹೋಲಿಸಿದರೆ, UDP ಕೆಳಗಿನ ಅನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ:

    ಯಾವುದೇ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ. UDP ಸಂಪರ್ಕವಿಲ್ಲದ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಇದು ಸಂಪರ್ಕಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದರೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಓವರ್ಹೆಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. UDP ಹ್ಯಾಂಡ್‌ಶೇಕ್‌ಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲವಾದ್ದರಿಂದ, ಸಂಪರ್ಕ ವಿಳಂಬಗಳನ್ನು ಸಹ ತಪ್ಪಿಸಲಾಗುತ್ತದೆ. ಇದಕ್ಕಾಗಿಯೇ DNS TCP ಗಿಂತ UDP ಗೆ ಒಲವು ತೋರುತ್ತದೆ - TCP ಗಿಂತ DNS ಹೆಚ್ಚು ನಿಧಾನವಾಗಿರುತ್ತದೆ.

    ವೇಗ. UDP TCP ಗಿಂತ ವೇಗವಾಗಿದೆ. ಈ ಕಾರಣಕ್ಕಾಗಿ, ಅನೇಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು TCP ಗಿಂತ UDP ಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತವೆ. ಅದೇ ವಿಷಯಗಳು TCP ಅನ್ನು ಹೆಚ್ಚು ದೃಢಗೊಳಿಸುತ್ತವೆ (ಉದಾಹರಣೆಗೆ ಹ್ಯಾಂಡ್‌ಶೇಕ್ ಸಿಗ್ನಲ್‌ಗಳು) ಸಹ ಅದನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ.

    ಟೋಪೋಲಾಜಿಕಲ್ ವೈವಿಧ್ಯತೆ. UDP ಒಂದರಿಂದ ಒಂದು ಮತ್ತು ಒಂದರಿಂದ ಹಲವು ಸಂವಹನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ TCP ಕೇವಲ ಒಂದರಿಂದ ಒಂದು ಸಂವಹನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.

    ಓವರ್ಹೆಡ್ಗಳು. TCP ಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಎಂದರೆ ಹೆಚ್ಚಿದ ಓವರ್ಹೆಡ್, UDP ಯಿಂದ ವಿಧಿಸಲಾದ ಓವರ್ಹೆಡ್ ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆಯಾಗಿದೆ. UDP ಗೆ ಹೋಲಿಸಿದರೆ TCP ಗಣನೀಯವಾಗಿ ಹೆಚ್ಚಿನ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತದೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್, ಮತ್ತು ಪರಿಣಾಮವಾಗಿ, ಸರ್ವರ್‌ಗಳು ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಸೇವೆ ಸಲ್ಲಿಸುವ ಪರಿಸರದಲ್ಲಿ, UDP ಅನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

    ಹೆಡರ್ ಗಾತ್ರ. ಪ್ರತಿ ಪ್ಯಾಕೆಟ್‌ಗೆ, UDP ಹೆಡರ್ ಕೇವಲ ಎಂಟು ಬೈಟ್‌ಗಳ ಉದ್ದವಿರುತ್ತದೆ, ಆದರೆ TCP 20-ಬೈಟ್ ಹೆಡರ್‌ಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಆದ್ದರಿಂದ UDP ಕಡಿಮೆ ನೆಟ್‌ವರ್ಕ್ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.