تعليمتقنية

فحص الشبكات – بروتوكولات TCP/IP


تحدثنا سابقاً عن أهمية الفحص وما سنقوم من خلاله بجمع المعلومات، اليوم سنشرح TCP/IP suite أو حزمة بروتوكولات TCP وهناك من يطلق عليها Internet protocol suite.

هذه الحزمة سنتعرف عليها بشكل سريع ليتعلم الناس الذين لم يسبق لهم معرفتها وكيف تعمل، ويستكملوا باقي دروس الوحدة لأهميتها في عملية الفحص scanning.

ما هي TCP/IP suite

هي نموذج اتصال يحوي مجموعة من البروتوكولات الخاصة بالاتصال بين الأجهزة والشبكات ووظيفتها توفير en

وهي عملية اتصال بين طرفي المحادثة

بحيث أن البيانات التي يتم إرسالها من كمبيوتر إلى آخر يتم تنظيمها وتنسيقها بهذه البروتوكولات وتتم عملية تحزيم البيانات وتقسيمها.

ما هو التحزيم packetize

فلو فرضنا أنك أرسلت ملفاً حجمه 10 ميجا، فال تسيبي لا ترسله دفعة واحدة بل تعمل على تقسيمه وكل قسم منه يضعه في حزمة.

ترقيم الحزم

ومن ثم كل حزمة من البيانات يعطيها رقم تسلسلي ليحددها ويرتبها، حتى عندما تصل البيانات إلى الطرف الآخر، فيعمل الطرف الآخر بتجميعها بشكل صحيح وليس بشكل عشوائي.

TCP suite تقوم بنقل البيانات من طرف إلى آخر وتتأكد من نقلها

routing

توفر توجيهها أيضاً، فعند ارسالها من طرف إلى آخر، لا يتم إرسالها بشكل مباشر وإنما عبر شبكة كبيرة، ويمكن لا تكون أجهزة متصلة بشكل مباشر.

فربما جهاز موجود في الأردن وجهاز في أمريكا، فستمر بمجموعة كبيرة جداً من الراوترات، فتحدد عملية توجيه الحزم الصغيرة إلى وجهتها.

استقبال وتجميع transmit & receive

وهذه TCP suite مسؤولة عن استقبال الحزم الصغيرة وتجميعها.

طبقات TCP

لتقوم TCP suite بهذه الأمور السابقة، فإنه تم قسم عملية TCP suite إلى أربع مراحل أو طبقات، وكل طبقة تقوم بعملية معينة ولها بروتوكولات خاصة به.

Application layer

وظيفته يتعامل مع التطبيقات، فمثلاً تريد تصفح الإنترنت، فأنت تتصفحه من خلال متصفح، والمتصفح هو تطبيق يتعامل مع http بروتوكول، وهو تطبيق للبروتوكول.

في الطرف الآخر هو web server ، وهو عبارة عن تطبيق وظيفته التعامل مع application protocol.

application protocol

وظيفته أن التطبيقين الموجودين في كلا الطرفين، يستطيعان التواصل مع بعضهما. باختصار هو واجهة وظيفتها توصيل البيانات بين الطرفين.

Transport layer

وظيفته أن يقوم ب Host to Host ، وهي أن يسمح للطرفين بإنشاء تواصل وتراسل بيانات بينهما.

وفيه مجموعة بروتوكولات أهمها TCP Protocol و UDP Protocol وهي التي تهمنا في هذا الدرس.

Internet layer

وهي أن البيانات التي أرسلت بعد أن يتم تقسيمها وعنونتها من أرسل ومن أستقبل، ويجمعها ثم يرسلها إلى الطرف الآخر ويقوم بال routing أي توجيهها.

Network access layer

في بعض الأحيان يمكن تسمية  Internet layerب Network layer في بعض الأحيان، ويمكن تسمية Network access layer ب link layer .

ووظيفتها : أنك ترسل البيانات عن طريق وصلة الكابل أو وايرلس أو غيرها ترسلها ب 01 ووظيفته أن يرسلها من طرف إلى آخر بأن يرسلها ب transmission media

التي يمكن أن تكون كابل أو اثرنت أو وايرلس أو غيرها.

ويوجد فيها أيضاً colleging domain بحيث أن يتأكد من أن البيانات التي تم إرسالها وهي في طريق الإرسال أن هناك بيانات يريد استقبالها.

وبالتالي يمكن أن يحدث تضارب فيتأكد من ألا يحدث تضارب بحيث تصل بشكل صحيح.

أنواع الطبقات لل تسبي ايبي

TCP/IP PROTOCOLSTCP/IP LAYERS
DNSSMTPTELNETFTPHTTPAPPLICATION LAYER
UDPTCPTRANSPORT LAYER
IGMPICMPARPIPNETWORK LAYER
OTHER LINK LAYER PROTOCOLSTOKEN RINGETHERNETNETWORK INTERFACE LAYER

 

كيف يتم تدفق البيانات Data Flow

لنفرض أن لدي جهاز A وجهاز B بغض النظر عن نوعها كمبيوتر، طابعة، سيرفر وغيرها، A سيتواصل مع B ويرسل بيانات بأي بروتوكول .

منطقياً عندما يرسل البيانات يكون لديه تطبيق، وهذا التطبيق لديه Process.

فلو فرضنا أنه سيتواصل عن طريق HTTP protocol فال Processهو المتصفح ويمكن أن يكون فاير فوكس أو كروم أو غيرها.

فهنا عملية تتواصل مع عملية أخرى موجودة في B وعلى B يوجد web server  أياً كان نوعه.

بعد أن تكتب مثلاً: www.google.com  فالبيانات التي تطلبها ترسل إلى الطبقة التي أسفلها وهي Transport layer ووظيفتها أن يجهز عملية الاتصال من a إلى B  طريق تحديد الوجهة.

أي يحدد المنفذ المفتوح الذي يتصل معه، يحدد الوجهة و source port number ويهيئ عملية الاتصال.

يأتي دور طبقة إنترنت التي تقسم البيانات إلى حزم صغيرة ويحدد IP Address للمصدر والوجهة ويقوم ب routing ثم يرسلها ب link layer عن طريق الاثرنت أو غيرها.

يرسل البيانات فتصل لأول راوتر لأن يمكن ألا يكون الجهازين مرتبطين بنفس الشبكة، ومن ثم الراوتر الثاني والثالث وكذا حتى تصل إلى الوجهة.

بمجرد وصول البيانات للوجهة، تتم العملية بالعكس ، Link layer تجمع البيانات وترسلها بطريقة معكوسة.

بروتوكولات Transmit Layer

هناك بروتوكولان هامان هما TCPو UDP ، وكلاهما يقومان بعملية ال Transmition، لكن هناك فرق بينهما:

TCP Protocol

هي reliable و connection oriented ويقصد بها أنه قبل بدء عملية نقل البيانات من A إلى B يجب أن يتأكد الطرفين من وجود اتصال صحيح بينهما، ليتم نقل البيانات بينهما.

ولهذا يدعى connection oriented.

وتعني reliable أنه البيانات عندما يتم إرسالها يتم إعطائها رقم تسلسلي لتصل بالترتيب الصحيح. فتصل ويتم التأكد منها، فإن سقط أحد الأجزاء سهواً لسبب ما، يتم إعادة إرسالها.

TCP Segment

كل واحد من البروتوكولات لديه حزمة يضع فيها عدة أمور، يضع فيها:

منفذ المصدر

منفذ الوجهة

رقم التسلسل

Acknowledgement يعني أنه عرف أنها وصل لكن أنتظر الحزمة الفلانية.

الأعلام وهي مهمة للبيانات التي يتم إرسالها.

TCP Communication Flags

الأعلام التي سنتعامل معهم هم التاليات:

URG

 Urgent وهي عبارة عن: إذا كانت قيمته 1 يعني أن على الوجهة أن تعالج البيانات بسرعة.

FIN

 Finish يعني أنه لا يوجد بث أو نقل

RST

 Reset إعادة الاتصال

PSH

 Push إرسال البيانات المحولة حالاً

ACK

 Acknowledgement التعرف على الحزمة الواصلة.

SYN

 Synchronize بدء عملية التزامن بين الطرفين.

TCP 3-way handshake

وهي تتم بطريقة أن A يريد التواصل مع B فيرسل حزمة بيانات والحزمة تحوي العلم الذي قيمته 1 ورقم التسلسل له قيمة مثلاً 101.

عند استقبال B للبيانات يقوم بإرسال إلى A أن Syn number رقمه 508 مثلاً ويكون رقمك الذي سأنظره 102 وأرسل معه ACK أن البيانات وصلتني.

وينتظر رقم تسلسلي 509 و رقمي التسلسلي هو 102.

TCP Session Termination

لإنهاء التواصل، يقوم A بإرسال Fin لإيقاف إرسال البيانات، فيرسل B له ACK و FIN فيرد A بإرسال ACK ويتم هكذا إيقاف التطبيقات والإرسال البيانات.

TCP Packet Loss

لنفرض أن A أرسل بيانات إلى B ، ولم تصل لسبب ما، بأن تسقط أو فصل بالاتصال، كيف يحقق ؟

هناك time out المرسل ينتظر فترة معينة، وأي حزمة يرسل لها وقت معين، إن انتهت الفترة ولم يصل acknowledgement  من المتلقي.

يعيد المرسل إرسالها ثانية، وهنا يحقق reliability عن طريق التحقق أن الحزمة فقدت أم لا .

UDP Protocol

وهو يقوم ب connectionless datagram ويعني أن البيانات قبل إرسالها لا يكون هناك اتصال، ويرسلها بدون اتصال وبدون معرفة المرسل إليه.

وهي ليست Reliable أي أنه لو هناك حزمة بيانات تم إرسالها ولم تصل إلى الجهة الأخرى، يعني أنه لن يرسل البيانات التي سقطت.

وتعمل حسب التطبيق، إن كان التطبيق لا يهمه إن وصلت أم لم تصل البيانات فإنه يتعامل مع  UDP.

ولكن إن أراد التأكد من البيانات ويمكن لسقوط جزء من البيانات أن يؤدي لتخريب فيها فيجب أن يستخدم TCP.

UDP Datagram

هي فقط عبارة عن رقم المنفذ المرسل ورقم منفذ المرسل إليه، وحجم البيانات وملخص ليتأكد أن البيانات لم يتم التعديل عليها.

وليست مثل TCP حيث تحرص TCP على إيصال البيانات ولديها أعلام للوصول وحجم البيانات والتأكيد.

مقالات ذات صلة

زر الذهاب إلى الأعلى