UIP (software)
ಯುಐಪಿಯು ಸಣ್ಣ 8-ಮತ್ತು 16-ಬಿಟ್ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ಗಳೊಂದಿಗೆ ಬಳಸಲು ಉದ್ದೇಶಿಸಲಾದ ಟಿಸಿಪಿ/ಐಪಿ ನೆಟ್ವರ್ಕ್ ಪ್ರೊಟೊಕಾಲ್ ಸ್ಟಾಕ್ನ ಮುಕ್ತ-ಮೂಲ ಅನುಷ್ಠಾನವಾಗಿದೆ. ಇದನ್ನು ಆರಂಭದಲ್ಲಿ ಸ್ವೀಡಿಷ್ ಇನ್ಸ್ಟಿಟ್ಯೂಟ್ ಆಫ್ ಕಂಪ್ಯೂಟರ್ ಸೈನ್ಸ್ನಲ್ಲಿ ನೆಟ್ವರ್ಕ್ಡ್ ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಸ್ ಗ್ರೂಪ್ನ ಆಡಮ್ ಡಂಕೆಲ್ಸ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು, ಬಿಎಸ್ಡಿ ಶೈಲಿಯ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದರು ಮತ್ತು ಅಭಿವರ್ಧಕರ ವ್ಯಾಪಕ ಗುಂಪಿನಿಂದ ಮತ್ತಷ್ಟು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು. ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಯುಐಪಿ ಬಹಳ ಉಪಯುಕ್ತವಾಗಿದೆ ಏಕೆಂದರೆ ಇದಕ್ಕೆ ಬಹಳ ಕಡಿಮೆ ಪ್ರಮಾಣದ ಕೋಡ್ ಮತ್ತು ರಾಮ್ ಅಗತ್ಯವಿರುತ್ತದೆ. ಇದನ್ನು ಡಿಎಸ್ಪಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳು ಸೇರಿದಂತೆ ಹಲವಾರು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಿಗೆ ಪೋರ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಅಕ್ಟೋಬರ್ 2008ರಲ್ಲಿ, ಸಿಸ್ಕೋ, ಅಟ್ಮೆಲ್ ಮತ್ತು ಎಸ್. ಐ. ಸಿ. ಎಸ್. ಯು ಯು. ಐ. ಪಿ. ವಿ6 ಎಂದು ಕರೆಯಲಾಗುವ ಯು. ಐ. ಪಿ. ಗೆ ಸಂಪೂರ್ಣ ಅನುಸರಣೆಯ ಐಪಿವಿ6 ವಿಸ್ತರಣೆಯನ್ನು ಘೋಷಿಸಿದವು. ಅನುಷ್ಠಾನ ಯುಐಪಿ ಅಗತ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಅನೇಕ ಅಸಾಮಾನ್ಯ ವಿನ್ಯಾಸ ಆಯ್ಕೆಗಳನ್ನು ಮಾಡುತ್ತದೆ. ಯುಐಪಿಯ ಸ್ಥಳೀಯ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಇಲ್ಲದ ಸಣ್ಣ ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಇದನ್ನು ಟೈಮ್ಡ್ ಲೂಪ್ನಲ್ಲಿ ಕರೆಯಬಹುದು, ಮತ್ತು ಕರೆ ಎಲ್ಲಾ ಮರುಪ್ರಯತ್ನಗಳು ಮತ್ತು ಇತರ ನೆಟ್ವರ್ಕ್ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಯುಐಪಿಯನ್ನು ಕರೆದ ನಂತರ ಹಾರ್ಡ್ವೇರ್ ಚಾಲಕವನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ. ಯುಐಪಿ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ಮತ್ತು ನಂತರ ಚಾಲಕನು ಅದನ್ನು ಕಳುಹಿಸುತ್ತಾನೆ, ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆಯುತ್ತಾನೆ. ಐಪಿ ಪ್ರೋಟೋಕಾಲ್ ಸ್ಟ್ಯಾಕ್ ಸಾಫ್ಟ್ವೇರ್ ವಿವಿಧ ಐಪಿ ಪ್ಯಾಕೆಟ್ಗಳ ಅನೇಕ ಪ್ರತಿಗಳನ್ನು, ಪ್ರಸರಣಕ್ಕಾಗಿ, ಸ್ವಾಗತಕ್ಕಾಗಿ ಮತ್ತು ಅವುಗಳನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳುವ ಅಗತ್ಯವಿದ್ದರೆ ಪ್ರತಿಗಳನ್ನು ಇಟ್ಟುಕೊಳ್ಳುವುದು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಯುಐಪಿ ಮೆಮೊರಿಯ ಬಳಕೆಯಲ್ಲಿ ಮಿತವ್ಯಯಕಾರಿಯಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಕೇವಲ ಒಂದು ಪ್ಯಾಕೆಟ್ ಬಫರ್ ಅನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ. ಮೊದಲನೆಯದಾಗಿ, ಇದು ಪ್ಯಾಕೆಟ್ ಬಫರ್ ಅನ್ನು ಅರ್ಧ-ಡ್ಯುಪ್ಲೆಕ್ಸ್ ರೀತಿಯಲ್ಲಿ ಬಳಸುತ್ತದೆ, ಅದನ್ನು ಪ್ರಸರಣ ಮತ್ತು ಸ್ವಾಗತಕ್ಕಾಗಿ ಬಳಸುತ್ತದೆ. ಅಲ್ಲದೆ, ಯುಐಪಿ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಮರುಪ್ರಸಾರ ಮಾಡಬೇಕಾದಾಗ, ಅದು ಹಿಂದಿನ ಡೇಟಾವನ್ನು ಪುನರುತ್ಪಾದಿಸಲು ವಿನಂತಿಸುವ ರೀತಿಯಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ ಅನ್ನು ಕರೆಯುತ್ತದೆ. ಯುಐಪಿ ಸಂಪರ್ಕಗಳನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದು ಮತ್ತೊಂದು ವಿಚಿತ್ರವಾಗಿದೆ. ಹೆಚ್ಚಿನ ಐಪಿ ಅನುಷ್ಠಾನಗಳು ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕೆ ಒಂದು ಕಾರ್ಯವನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಮತ್ತು ಕಾರ್ಯವು ಸಂಪರ್ಕದ ಇನ್ನೊಂದು ತುದಿಯಲ್ಲಿರುವ ದೂರದ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿರುವ ಕಾರ್ಯದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ. ಯುಐಪಿಯಲ್ಲಿ, ಯಾವುದೇ ಬಹುಕಾರ್ಯಕ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ಊಹಿಸಲಾಗಿಲ್ಲ. ಸಂಪರ್ಕಗಳನ್ನು ಒಂದು ಶ್ರೇಣಿಯಲ್ಲಿ ನಡೆಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಕರೆಯಲ್ಲಿ, ಯುಐಪಿ ಸಂಪರ್ಕವನ್ನು ಒದಗಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ಗೆ ಸಬ್ ರೂಟಿನ್ ಕರೆ ಮಾಡುತ್ತದೆ, ಅದು ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ ಅಥವಾ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಸಂಪರ್ಕ ವ್ಯೂಹದ ಗಾತ್ರವು ಯುಐಪಿಯನ್ನು ಮರುಸಂಕಲಿಸಿದಾಗ ಸರಿಹೊಂದಿಸಬಹುದಾದ ಒಂದು ಸಂಖ್ಯೆಯಾಗಿದೆ. ಯುಐಪಿಯು ಟಿಸಿಪಿ, ಯುಡಿಪಿ ಮತ್ತು ಐಪಿಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಆರ್ಎಫ್ಸಿಗಳಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಅನುಗುಣವಾಗಿದೆ. ಇದು ಕಡ್ಡಾಯ ನಿರ್ವಹಣಾ ಶಿಷ್ಟಾಚಾರವಾದ ಐ. ಸಿ. ಎಂ. ಪಿ. ಯನ್ನು ಸಹ ಜಾರಿಗೆ ತರುತ್ತದೆ. ಯುಐಪಿ 0.9 ಆವೃತ್ತಿಯು ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳ ಮೇಲೆ ಕನಿಷ್ಠ ಅವಲಂಬನೆಯನ್ನು ಹೊಂದಿರುವ ಆವೃತ್ತಿಯಾಗಿದೆ, ಅತ್ಯಂತ ಚಿಕ್ಕ ಸಂಪನ್ಮೂಲ ಬಳಕೆ ಮತ್ತು ಶುದ್ಧ ಈವೆಂಟ್ ಲೂಪ್ ಎಪಿಐ ಅನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುವ ಏಕೈಕ ಆವೃತ್ತಿಯಾಗಿದೆ, ಆದರೆ ಅದರ ಮೂಲ ರೂಪದಲ್ಲಿ ಐಪಿ ಆವೃತ್ತಿ 6 ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಹಳೆಯ, ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾದ ಐಪಿವಿ 4 ಮಾತ್ರ. ಇದನ್ನು ಬಹಳ ಕಡಿಮೆ ಪ್ರಮಾಣದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿರುವ ಅಂತರ್ನಿರ್ಮಿತ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಸಬಹುದು. ಇದನ್ನು ಎಚ್. ಟಿ. ಟಿ. ಪಿ. (ಸರಳ ವೆಬ್ ಸರ್ವರ್), ಎಸ್. ಎಂ. ಟಿ. ಪಿ. (ಸರಳ ಮೇಲ್ ಟ್ರಾನ್ಸ್ಮಿಷನ್ ಪ್ರೋಟೋಕಾಲ್), ಎಫ್. ಟಿ. ಪಿ. (ಫೈಲ್ ವರ್ಗಾವಣೆ ಪ್ರೋಟೋಕಾಲ್), ಟೆಲ್ನೆಟ್ (ಟರ್ಮಿನಲ್ ಎಮ್ಯುಲೇಷನ್) ಮತ್ತು ಇತರವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಈವೆಂಟ್ ಲೂಪ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಉನ್ನತ ಮಟ್ಟದ ಪ್ರೋಟೋಕಾಲ್ಗಳ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ವಿತರಿಸಲಾಯಿತು. ಉದಾಹರಣೆಗಳು ಮತ್ತು ಅದರ ಸಣ್ಣ ಗಾತ್ರದ ಹೊರತಾಗಿಯೂ, ಯುಐಪಿ 0.9 ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಕಷ್ಟವಾಗಬಹುದು ಏಕೆಂದರೆ ಇದು ಯಾವುದೇ ರೀತಿಯ ಸಾಕೆಟ್ ಎಪಿಐ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಯುಐಪಿಯನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತಿದ್ದು, ಇದು ಪ್ರಸಿದ್ಧ ದೌರ್ಬಲ್ಯಗಳನ್ನು ಹೊಂದಿದೆ. ವಿನ್ಯಾಸವು 32-ಬಿಟ್ ಅಂಕಗಣಿತವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಬೇರ್ಪಡಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಇದನ್ನು 8 ಮತ್ತು 16-ಬಿಟ್ ಸಿಪಿಯುಗಳಿಗೆ ಸರಿಹೊಂದಿಸಬಹುದು ಅಥವಾ ಅತ್ಯುತ್ತಮವಾಗಿಸಬಹುದು. ಅಲ್ಲದೆ, 16-ಬಿಟ್ ಸಾಫ್ಟ್ವೇರ್ ಟೈಮರ್ಗಳು (ಸಣ್ಣ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯ) ಉಕ್ಕಿ ಹರಿಯಬಹುದು ಮತ್ತು ದೋಷಯುಕ್ತ ಕಾರ್ಯಾಚರಣೆಗೆ ಕಾರಣವಾಗಬಹುದು. ಇದನ್ನು ಓವರ್ಫ್ಲೋ ಆಗದ ಟೈಮರ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಸರಿಪಡಿಸಬಹುದು (ಉದಾ. ಟೈಮರ್ಗಳು ಎಣಿಕೆ ಮಾಡುತ್ತವೆ ಅಥವಾ ಮಾಡ್ಯುಲರ್ ಅಂಕಗಣಿತವನ್ನು ಬಳಸುತ್ತವೆ). ಮತ್ತೊಂದು ಸಮಸ್ಯೆಯೆಂದರೆ, ಅದರ ಏಕ ಪ್ಯಾಕೆಟ್ ಬಫರ್ ಗಣನೀಯ ಥ್ರೋಪುಟ್ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು ಏಕೆಂದರೆ ಪಿಸಿ ಹೋಸ್ಟ್ ಸಾಮಾನ್ಯವಾಗಿ "ಎಸಿಕೆ" ಪ್ಯಾಕೆಟ್ ಅನ್ನು ವಿಳಂಬಗೊಳಿಸುತ್ತದೆ, ಹೆಚ್ಚಿನ ಪ್ಯಾಕೆಟ್ಗಳಿಗಾಗಿ ಕಾಯುತ್ತದೆ. ನಿಧಾನಗತಿಯ, ಸೀರಿಯಲ್ ಪೋರ್ಟ್ ಅನುಷ್ಠಾನಗಳಲ್ಲಿ, ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಎರಡು ಅರ್ಧ-ಪ್ಯಾಕೆಟ್ ತುಣುಕುಗಳಾಗಿ ಕಳುಹಿಸಲು ಯುಐಪಿಯನ್ನು ಮಾರ್ಪಡಿಸುವ ಮೂಲಕ ಅಕ್-ಥ್ರೋಪುಟ್ ಅನ್ನು ಸರಿಪಡಿಸಬಹುದು. ವೇಗದ ಈಥರ್ನೆಟ್ ಅಥವಾ ವೈಫೈ ಹೊಂದಿರುವ ಯುಐಪಿ ವ್ಯವಸ್ಥೆಗಳು ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಎರಡು ಬಾರಿ ಕಳುಹಿಸಲು ಹಾರ್ಡ್ವೇರ್ ಚಾಲಕವನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು. ಕೆಲವು ಪಿಸಿಗಳು ಸ್ಥಳೀಯ ಈಥರ್ನೆಟ್ನಲ್ಲಿ ವೇಗದ ಯುಐಪಿ ವ್ಯವಸ್ಥೆಗೆ ಸರಿಯಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಯುಐಪಿ ವ್ಯವಸ್ಥೆಯು ಪಿಸಿ ಸ್ವೀಕರಿಸಲು ಸಿದ್ಧವಾಗುವ ಮೊದಲು ಪ್ರತಿಕ್ರಿಯಿಸುವ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು. ಮುಖ್ಯ ಲೂಪ್ನಲ್ಲಿ ಯುಐಪಿ ಸಿಸ್ಟಮ್ಗೆ ಕಡಿಮೆ ಬಾರಿ ಕರೆ ಮಾಡುವುದು ಪರಿಹಾರವಾಗಿದೆ (ವಿಂಡೋಸ್ ಪಿಸಿಗಳನ್ನು ಸುಮಾರು 1 ಮಿಲಿಸೆಕೆಂಡ್ಗಳ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯಕ್ಕಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ). ಯುಐಪಿಯ ವಿಶಿಷ್ಟ ಅನುಷ್ಠಾನಗಳು ಸ್ಥಿರವಾದ ಐಪಿ ವಿಳಾಸವನ್ನು ಹೊಂದಿವೆ, ಇದು ಅವುಗಳನ್ನು ನೈಜ ಜಾಲಗಳಲ್ಲಿ ಅಪ್ರಾಯೋಗಿಕವಾಗಿಸಬಹುದು, ಆದಾಗ್ಯೂ ಕೆಲವರು ಡಿಎಚ್ಸಿಪಿಯನ್ನು ಜಾರಿಗೆ ತಂದಿದ್ದಾರೆ. ಯುಐಪಿವಿ6ನ ಉಲ್ಲೇಖ ಆವೃತ್ತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ಯುಐಪಿಯ ನಂತರದ ಆವೃತ್ತಿಗಳನ್ನು ಕಾಂಟಿಕಿಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ, ಇದು ಸಹಕಾರಿ ಬಹುಕಾರ್ಯಕಕ್ಕಾಗಿ ಕೊರೌಟೈನ್ಗಳನ್ನು ಬಳಸುವ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ. ಕಾಂಟಿಕಿ ಯುಐಪಿಯ ಬಳಕೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಸರಳೀಕೃತ ಸಾಕೆಟ್ ಎಪಿಐಗೆ ಅಗತ್ಯವಿರುವ ಬಹುಕಾರ್ಯಕವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಆವೃತ್ತಿಗಳು 0.9ಕ್ಕಿಂತ ಕಡಿಮೆ ಜನಪ್ರಿಯವಾಗಿರಬಹುದು. ಎಂಬೆಡೆಡ್ ಕೋಡ್ನ ಅನೇಕ ಉದಾಹರಣೆಗಳು ಅವುಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಇಂಟರ್ನೆಟ್ ಎಂಜಿನಿಯರಿಂಗ್ ಟಾಸ್ಕ್ ಫೋರ್ಸ್ ಟಿಸಿಪಿ ಮತ್ತು ಯುಡಿಪಿ ಪೋರ್ಟ್ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿಯನ್ನು ಸಹ ನೋಡಿ-ಮತ್ತೊಂದು ಟಿಸಿಪಿ/ಐಪಿ ಸ್ಟ್ಯಾಕ್ ಪ್ರಾಜೆಕ್ಟ್ (ಡಂಕೆಲ್ಸ್ ಸಹ ರಚಿಸಿದೆ), ಆದರೆ ಹೆಚ್ಚು ಸಂಪೂರ್ಣವಾಗಿ ವೈಶಿಷ್ಟ್ಯಪೂರ್ಣವಾಗಿದೆ ಮತ್ತು ಹೆಚ್ಚು ಸಮರ್ಥ ಹಾರ್ಡ್ವೇರ್ ಉಲ್ಲೇಖಗಳನ್ನು ಗುರಿಯಾಗಿರಿಸಿಕೊಂಡಿದೆ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಎವಿಆರ್ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ಗಳಿಗಾಗಿ ಯುಐಪಿ ಮೂಲ ಯುಐಪಿ ಪೋರ್ಟ್ ಯುಐಪಿ ಆಧಾರಿತ ವೆಬ್ ಸರ್ವರ್ ಓಪನ್ಆರ್ಐಎಸ್ಸಿ-ಎಂಬೆಡೆಡ್ ಎಸ್ಒಸಿ ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ ಬಿಎಸ್ಡಿ ಪರವಾನಗಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಉಚಿತ ನೆಟ್ವರ್ಕ್-ಸಂಬಂಧಿತ ಸಾಫ್ಟ್ವೇರ್ ಸಾಫ್ಟ್ವೇರ್