سوف نتعرف في هذه التدوينة علي برتوكولات TCP/IP حيـث سـنتعرض لأساسياته وتاريخه وكيفية عمله لأنه من الأجزاء الهامة جدا في علم الشبكات وقد يخـصص له كتب متخصصة يمكنك العثور عليها ايضا لتنمية مهاراتك وخبراتك في الشبكات.

لمحة تاريخية عنTC P / IP

تم ابتكار الـ TCP/IP عام ١٩٧٣ ولكنه لم يكن الــ Standard فـي الاتصالات عبـر الإنترنت حتى ١٩٨٣ حتى اصبح الطريقة الافتراضية في الإتصال عبر الإنترنـت او عبـر Arpanet ان صح التعبير. وقد خرج هذا الابتكار من معامل جامعة كاليفورنيا الأمريكيـة في Berkeley عندما كان علماء الكمبيوتر عاكفون على اخراج نسخة Unix والتي عرفـت باسمهم فيما بعد UNIX BSD اي Berkeley Software Distribution ولهذا بدأ انتـشار TCP/IP في الجامعات نظرا لبدء انتشار UNIX في الحياة الاكاديمية حتـى اصـبح الــ TCP/IPهو صاحب الثورة في الإتصال عبر الإنترنت وايضا الشبكات المحلية وايضا مما ادى إلى تطوير هذا البروتوكول هو دعم وزارة الدفاع الأمريكيـة للأمـر بحيـث وضعت شروطا ومعايير وقيود على التطوير طبقا لمعايير معينة على سبيل المثال:

  • ان الـ TCP/IP لا يخضع لشركة معينة او برامج معينة او Hardware معين
  • ان الـ TCP/IP يجب ان يحوي في داخله ادوات للـصيانة او Failure­Recovery حيث ان هذا كان متعلقا بالمسائل العسكرية بوزارة الدفاع حيث إذا حدثت مشكلة فـي جزء من الشبكة هذا ليس معناه سقوط الشبكة كليا.
  • امكانية الإتصال ما بين الشبكات والأجهزة والبرمجيات المختلفة

ويستخدم الـ TCP/IP ما يـسمى DoD Model او Department of Defense Model والذي يصف الإتصال في اربعة طبقات فقط او Layers خلافا للـ OSI Model كمــا ذكرنا سابقا والـشكل التالي يوضع الفرق. وكما ترى من الشكل فإن الـ DoD Model يتمثل في:

  • Process/Application Layer وهي المسؤلة عن البرمجيات مثل FTP, Telnet
  • Host-­to-­Host Layer طبقة الوسيط للوسيط وهي التي يتم فيها اضافةTCP والبروتوكولات الأخرى للـ Packet
  • Internet Layer يتم فيها اضافة الـIP للـ Packet
  • Network Access Layer هي المسؤلة عن الربط ما بين وسائط النقل مثل الكوابل وايضا كروت الشبكة

Transmission Control Protocol ( TCP )

هذا الجزء من البروتوكول هو الجزء المسؤل عن نقل البيانات والربط ويقـسم هـذا الجـزء البيانات إلى اجزاء صغيرة للتعامل معها تسمى هذه الأجزاء بـ Datagram ويحـوي الــ Datagram معلومات عن المكان الذي سوف ترسل له البيانات وعنوان الراسل وايضا رقـم مميز للـ datagram سوف يتم تسلسله فيما بعد كل هذا يسمى الـ Header الخاص بالــ Datagram ويحوي ايضا الـ Datagram ما يسمى Checksum للتأكـد مـن وصـول البيانات إلى النقطة المرسل اليها البيانات والشكل التالي يوضح اهم مكونات الــ Datagram في الـ TCP.

  • Source Port  يعبر عن رقم المكان الذي يرسل البيانـات 
  • Destination Port  هـو ر قم المكان او النقطة المرسل اليها البيانـات. 
  • Sequence Number هـو الـرقم المسلـسل الخاص بالـ datagram لتسهيل عملية اعادة تنظيم البيانات على الكمبيوتر المستقبل. 
  • Acknowledgement Number  هو رقم يمكن الكمبيوتر الراسل من معرفة ان البيانات تـم نقلها بنجاح.
  • Offset  تعبر عن طول الـ Header ككل
  • Reversed  هو عبارة عن متغير يمكن الاستفادة منه في اي شيء آخر اضافي
  • Flags  تعبر عن ان هذه المعلومات هامة جدا او انها نهاية المعلومات المنقولة
  • Window  تعطي امكانية زيادة حجم الـ Packet مما يؤدي إلى دقة نقل البيانات
  • Urgent Pointer  يعطي تصريحا بأهمية البيانات
  • Options  مجموعة من المتغيرات ربما تستخدم فيما بعد من قبل المستخدم
  • Padding  للتأكد من ان الـ Header انتهى عند32 Bit Start of Data بداية المعلومات الحقيقية التي سوف يتم نقلها

Internet Protocol

هو المسؤل عن نقل البيانات من نقطة إلى نقطة اخرى على الشبكة وهـو لا يحمل اي IP او يحوي اي نوع من البرمجيات الخاصة بالاتصال لكنه يعتمد كليا على الـ TCP ولكنه فقـط يقوم بعمل route او نقل للـ Data او المعلومات. ودائما يكون الـ Header الخاص بالـ IP ملتصقا بالـ Header الخاص بالـ TCP ومـن دون الـ Header الخاص بالـ IP لن يتم معرفة اين سيتم نقل الــ Datagram او عمـل Routing له، والشكل التالي يوضح تركيب الـ Header الخاص بالـ IP

  • Version تعبر عن رقم اصدار الـ IP المستخدم والإصدار الافتراضي المستخدم حاليـا هـو IPV4 إلا ان هناك الإصدار السادس IPV6 إلا انه لم يدعم إلا من بعض الأجهـزة الحديثـة حاليا إلا انه سوف يصبح الإصدار الافتراضي قريبا جدا
  • IHL: Internet Header Length وهو طول الـ Header والرقم الافتراضي له هو خمسة كلمات من سعة 32 bit TOS او Type of Service تعبر عن اهمية البيانات المطلوبة
  • Total Length تحدد طول الـ Datagram ككل والتي تنحصر ما بين 576 bytes كأقل قيمة و 65.532 bytes كأعلى قيمة Identification تعريف يسهل على الجهاز المستقبل اعادة ترتيب الـ datagram Flags اول bit يعبر عن ان الـ datagram لا يمكن ان يكون مقسا إلى اجزاء صغيرة والـ مقسمة إلى اقسام Packet الأخير هو يعبر ع ن آخر قسم في اي Bit
  • Fragmentation Offset تعبر عن المكان المحدد للمعلومات وهي تستخدم في عملية إعادة تجميع البيانات من قبل المستقبل
  • Time to Live الوقت المستخدم او المخصص لنقل الـ Packet بعد ان ينقضي هذا الوقت تسصبح بعدها الـ Packet مفقودة او Lost ولها معنى آخر هوhop ودائما تجدها 32 hops Protocol تعبر عن نوع الـ Protocol لأنه من الممكن استخدام بروتوكولات اخرى غير الـ TCP/IP القيمة ٦ تعبر عن TCP والقيمة ١٧ تعبر عنUDP اوUser Datagram
  • Protocol Header قيمة للتحقق من عدم وجود الأخطاء في الـ Header Checksum
  • TCP Header هو كما تعرفت عليه سابقا الـ Header الخاص بالـ TCP