דוגמה לאיתות בפרוטוקול תקשורת TCP
**פרוטוקול תקשורת** הוא נוהל לתקשורת. כלומר, אוסף של כללים המגדירים את אופן בקשת וקבלת נתונים במערכת תקשורת מסוימת וכולל כללים לייצוג המידע, איתות, אימות, ותיקון שגיאות לצורך העברת המידע בערוץ תקשורת. פרוטוקול מוכר ופשוט הוא שיחת טלפון הכוללת כללים מוסכמים: הרמת השפופרת, קריאת "הלו", הצד מנגד עונה ב"שלום" (זהו שלב האימות) ולאחר מכן יסביר את מהות ההתקשרות ותתחיל העברת המידע. לפני ניתוק השיחה ייפרדו האנשים ב"ביי" או "להתראות". אולם ישנה גמישות, ואין בהכרח צורך בפרוטוקול קשיח ומוחלט, ולכן לא כל שיחת טלפון מתנהלת על-פי הפרוטוקול המדויק הנ"ל. אך כאשר מדובר ברשת תקשורת בין מחשבים, שימוש בפרוטוקולים מדויקים הכרחי על-מנת שהצדדים יבינו זה את זה ויוכלו לספק שירותים זה לזה.

מאפיינים עיקריים
----------------

זרימת מידע ברשת
רוב הפרוטוקולים כוללים מספר עקרונות:

* גילוי השכבה הפיזית, קווי או אלחוטי וקיום של נקודת קצה או צומת
* לחיצת יד - Handshaking
* תיאום של מאפייני התקשורת - Autonegotiation
* כללים להתחלה וסיום של הודעות
* כללים למבנה ההודעה
* כללים להודעות שגויות - תיקון שגיאות
* גילוי ניתוק בחיבוריות ופעולות בהתאם
* סיום ההתקשרות או ה-Session

התמודדות עם ערוצי תקשורת לא-אמינים
----------------------------------

באופן כללי, ערוצי תקשורת לא יכולים להבטיח שמידע שנשלח מקצה אחד, יגיע תקין, או יגיע בכלל לצד השני. הסיבות לכישלון מגוונות: כבל פגום או חתוך לחלוטין לערוץ תקשורת חוטי, חסימת תדרים לערוץ תקשורת אלחוטית ועוד. כדי להתגבר על מכשול זה ולהעביר מידע באופן אמין, פרוטוקולים משתמשים בשני סוגים של מנגנונים: מנגנון הבטחת קבלת המידע, ומנגנון הבטחת תקינות המידע.

### הבטחת קבלת מידע

כדי להבטיח שהמידע אכן מגיע ליעדו, בפרוטוקולים רבים נהוג לאשר הגעה של חבילות מידע בדרכים שונות. אישור כזה נקרא לרוב (Ack (Acknowledgements. חבילות מידע שלא מתקבל עליהן אישור בטרם נקבע timeout נשלחות שוב. בצורה זו מבטיחים שכל המידע מגיע לבסוף ליעדו.

### הבטחת תקינות מידע

כדי להבטיח שהמידע הגיע בדיוק כפי שנשלח, משתמשים במנגנוני תקינות מידע, כמו סיכום ביקורת, CRC, סיבית זוגיות. המידע הנוסף שיש לשלוח לביצוע בדיקות התקינות נשלח כחלק מהפתיחה (header). יש לציין שלעיתים ניתן לא רק לזהות שגיאות, אלא גם לתקן אותן.
עם זיהוי שגיאה, פרוטוקולים מסוימים יבקשו שליחה חוזרת של המידע הפגום, בעוד שאחרים יתעלמו מהמידע הפגום.

מודל הייחוס
-----------

 ערך מורחב – **מודל ה-OSI**  

פרוטוקולי תקשורת כיום מוגדרים בצורה מודולרית, כדי לאפשר פיתוח ושילוב של פרוטוקולים שונים המתמחים בתכונות שונות של העברת הנתונים ברשת. לשם הגדרה והצגה של פרוטוקול, מקובל להשתמש במודל ה-OSI, המציע חלוקה לשבע רמות של הטיפול בנתונים. הנתונים עוברים מן הרמה הגבוהה לנמוכה בזמן שידור, ובכיוון ההפוך בזמן קליטה. חלוקה זו איננה נשמרת על ידי כל הפרוטוקולים, אך היא משמשת מסגרת לדיון ולהבנה בתחום, ובהתאם לה נוהגים למיין את הפרוטוקולים השונים.
בין שכבה לשכבה שמעליה ומתחתיה באותו מחשב מוגדר ממשק, בין אותה שכבה בשני מחשבים שונים מוגדר פרוטוקול.
פרוטוקול תקשורת מגדיר בדרך כלל את צורתן ותוכנן של חבילות נתונים. חבילה בדרך כלל מורכבת מפתיחה (header) - שמכילה מידע אודות הצד השולח, הנמען ופרטים טכניים שונים הקשורים בחבילה, מידע - הנתונים שצריכים לעבור, וסוגר (footer) - סימן מוסכם שתפקידו להודיע על סוף החבילה. הפרוטוקול גם קובע כללי שידור, כללים להכרזה על קיום קשר ("הלו") ועל הפסקתו ("להתראות").

פרוטוקולי התקשורת מסדירים היבטים שונים של העברת מידע בין נקודות שונות ברשת תקשורת.

סוגי פרוטוקולים
---------------

פרוטוקולי תקשורת פועלים בשתי תצורות עיקריות:

* עמית לעמית - פרוטוקולים בהם לכל הצדדים מעמד שווה
* שרת-לקוח - פרוטוקולים בהם לצד אחד (שרת) יש נתונים הדרושים לצד השני (לקוח)

ראו גם
------

* מונחים ברשת מחשבים

קישורים חיצוניים
----------------

| מיזמי קרן ויקימדיה |
| --- |
| ויקימילון ערך מילוני בוויקימילון: **פרוטוקול תקשרת** |
| ויקישיתוף תמונות ומדיה בוויקישיתוף: **פרוטוקול תקשורת** |

* מדריך לרשתות תקשורת

| סיווג פרוטוקולים על פי מודל ה־OSI |
| --- |
| שכבת היישום | HTTP • SMTP • FTP • RTP • IRC • SNMP • SIP • DNS • DHCP |
| שכבת הייצוג | MIME • ASCII • Unicode • TLS |
| שכבת השיחה | ASP • PPTP • SSH • NFS • RPC • SOCKS |
| שכבת התעבורה | TCP • UDP • SCTP • DCCP |
| שכבת הרשת | IP (IPv4 • IPv6) • ICMP • IPX • ניתוב |
| שכבת הקו | אתרנט • Token ring • FDDI |
| השכבה הפיזית | E1 • 10Base-T • RS-232 • DSL • SONET |

|  |  |
| --- | --- |
| בקרת זהויות עריכת הנתון בוויקינתונים | 
* NKC: ph163068

 |