بروتوكولات الشبكة
Download
Report
Transcript بروتوكولات الشبكة
مادة نظم تشغيل ش بكية 2
احملارضة الثالثة
بروتوكوالت الش بكة
THE OSI Model - TCP/IP
اعداد املهندس وسام احملمود
ً
أوال :مقدمة
• OSIهي اختصار لـ Open System Interconnect
• هي الطريقة التي بها تستطيع أن تفهم كيفية نقل البيانات عبر
الشبكات ،وكما هو معلوم أن الشبكات ربما تحوي أجهزة بـ
Hardwareمختلف وأيضا ً برامج وأنظمة تشغيل مختلفة إذاً
كيف نوجد عالقة للتعامل مع هذه األجهزة على الشبكة في إطار
واحد إذ ليس من المنطق أن تتعامل مع بعضها البعض بدون
طريقة وسطية وأيضا ً نقل الملفات مثالً عبر الشبكة قد تكون
مسألة بسيطة بالنسبة لك ال تتعدي نقرة زر إال أن األمر وراء
الكواليس يحتاج غلى عمليات أكثر تعقيداً لنقل هذه البيانات عبر
الشبكة من جهاز إلى آخر وهنا يأتي دور الـ OSI Model
لنفهم ما الذي يحدث بالضبط
مم تتكون OSI
• يتكون نموذج OSIمن سبع طبقات
• يؤمن هذا التقسيم للطبقات إمكانية االتصال بين أجهزة بأنظمة
تشغيل مختلفة مثل LinuxوWindows
• ضع في اعتبارك أن الـ OSIهو مجرد Modelأو نموذج يشرح
فقط كيفية االتصال وليس بروتوكول مستخدم في االتصال من قبل
األجهزة والبرمجيات
ً
OSI طبقات: ثانيا
Physical Layer
Data Link Layer
Network Layer
Transport layer
Session Layer
Presentation Layer
Application Layer
(1
(2
(3
(4
(5
(6
(7
Physical Layer - 1
• هي الطبقة أو الجزء الذي يهتم بتسجيل بيانات االتصال الخاص
بالـ Hardwareمثل نوع البطاقة وعد الـ Pinsوغير ذلك
• تحوي أيضا ً معلومات التشبيك المختلفة أي طبولوجيا الشبكات
وتتمثل في
(Star, Ring, Mesh, and Bus) Topologies
• األجهزة التي تعمل على هذه الطبقة
NIC , Transceivers , Repeaters – Hubs
Data Link Layer - 2
• تقوم بتحويل البيانات واستالمها من Physical Layer
وتحويلها إلى (بنية منطقية)
• تحوي اسم الكمبيوتر والبيانات المرسلة وأيضا ً تنتظر كود ACK
• وتتكون هذه الطبقة من قسمين هامين هما :
– LLC Logical Link Control
– MAC Media Access Control
• األجهزة التي تعمل في هذه الطبقة
Bridge , Switch , NIC
Network Layer - 3
•
•
•
•
في هذه الطبقة يتم تحويل األسماء المنطقية لألجهزة إلى عناوين
فيزيائية
أيضا ً هناك خدمة تدعى Quality Of Serviceتعمل على هذه
الطبقة وهي مسؤولة عن عدم حدوث تأخير في بعض الخدمات
على الشبكة مثل الصوت والفيديو
أيضا ً مهام التوجيه Routingتتم في هذه الطبقة
األجهزة التي تعمل على هذه الطبقة
Routers , Layer 3 Switches
Transport layer - 4
• مسؤولة عن التأكد من نقل البيانات دون حدوث أخطاء
• تقسم الرسائل الكبيرة إلى عدة رسائل صغيرة وأيضا ً العكس تحول
األجزاء الصغيرة من الرسالة إلى رسالة طويلة مرة أخرى
• مسؤولة عن التحقق من وصول البيانات بشكل صحيح عن طريق
ما يسمى ACKأي التحقق من الوصول أو إشعار االستالم
Session Layer - 5
• يتم فيها يتم االتصال المباشر ما بين الجهازين حيث يتم التأكد من
رقم الجهاز وعنوانه وهل تم إرسال المعلومات أم ال؟
• وأيضا ً كلمات السر وتأمين البيانات يتم هنا في هذه الطبقة وأي
عملية يتم فيها التأكد من المعلومات تتم هنا أيضا ً
Presentation Layer - 6
• كما هو واضح من المعنى تقديم الـ Dataوتهيئتها للتبادل
• حيث يتم تشفير البيانات أو حتى ضغط للبيانات
Application Layer - 7
• هي أعلى طبقة وهي ال تعني الـ Applicationsكبرنامج
الـ Wordوالـ Accessبقدر ما تعني الـ Application
المسؤول عن تنفيذ األمر المتعلق بالشبكة الذي يطلبه برنامج
مثل الـ Word
• مثالً عندما تقوم بفتح برنامج عبر الشبكة فأنه يستخدم بعض
األدوات التي ال تراها تسمى Toolsوهي المقصودة في المعنى
• وتتضمن أيضا ً الطباعة والرسائل وال تقتصر على ذلك بل تتعداه
ً
ثالثا :البروتوكوالت
• البروتوكوالت هي أساليب التخاطب أو تقنيات التخاطب ما بين
األجهزة على الشبكة أو بين الشبكات المختلفة
• تنقسم البروتوكوالت إلى قسمين :
– بروتوكوالت االتصال Connection Oriented :وهي
بروتوكوالت تقوم بإجراء االتصال المباشر بين أجهزة الشبكة .و من
أشهرها بروتوكول TCP
– بروتوكوالت عديمة االتصال Connectionless :وهي
بروتوكوالت ال تسمح باالتصال المباشر مع الكمبيوتر .ويعد
بروتوكول IPهو أشهر تلك البروتوكوالت .
TCP/IP
• هو اختصار Transfer Control Protocol/Internet Protocol
• حقيقة هو ليس برتوكول في حد ذاته أكثر منه مجموعة من
األدوات وهو األكثر استخداما في اإلنترنت ويستخدم للربط
والتخاطب ما بين األجهزة عبر الشبكة المحلية وأيضا ً عبر
اإلنترنت وهو البروتوكول األكثر استخداما ً وشيوعا ً
ملحة تاريخية
• تم ابتكار هذا البروتوكول عام 1973لكنه لم يكن قياسيا ً حتى عام
1983حتى أصبح الطريقة االفتراضية في االتصال عبر اإلنترنت أو
عبر ARPAnetكما كانت تدعى شبكة اإلنترنت في ذلك الوقت
• وقد خرج هذا االبتكار من معامل جامعة كاليفورنيا األمريكية في
Berkeleyعندما كان علماء الكمبيوتر عاكفون على إخراج نسخة
UNIX BSDأي Berkeley Software Distribution
• بدأ انتشاره في الجامعات نظرا لبدء انتشار Unixفي الحياة األكاديمية حتى
أصبح ثورة في عالم اإلنترنت والشبكات المحلية
• السبب الذي أدى إلى تطوير هذا البروتوكول هو دعم وزراة
الدفاع األمريكية لألمر بحيث وضعت شروطا ً ومعايير وقيود على
التطوير طبقا ً لمعايير معينة على سبيل المثال :
(1ال يخضع لشركة معينة أو برامج معينة أو عتاد معين
(2يجب أن يحوي في داخله أدوات للصيانة حيث أن هذا كان متعلقا ً
بالمسائل العسكرية بوزراة الدفاع حيث إذا حدثت مشكلة في جزء من
الشبكة هذا ليس معناه سقوط الشبكة كليا ً
(3إمكانية االتصال ما بين الشبكات واألجهزة والبرمجيات المختلفة
DoD Model
• يستخدم TCP/IPما يسمى Department of Defense Model
• والذي يصف االتصال في أربعة طبقات فقط خالفا ً للـ OSI
Modelوالشكل التالي يوضح الفرق
• Process/Application Layerهي المسؤولة عن
البرمجيات مثل FTP, Telnet , HTTP
• Layer Host-to-Hostطبقة الوسيط للوسيط وهي التي
يتم فيها إضافة TCPوالبروتوكوالت ألخرى للـ Packet
• Internet Layerيتم فيها إضافة الـ IP
• Network Access Layerهي المسؤولة عن الربط ما
بين وسائط النقل مثل الكابالت وأيضا كروت الشبكة
Transmission Control Protocol TCP
• هو الجزء المسؤول عن نقل البيانات والربط ويقسم هذا الجزء
البيانات إلى أجزاء صغيرة للتعامل معها تسمى هذه األجزاء
Datagramالذي يحوي على معلومات عن المكان الذي
سوف ترسل له البيانات وعنوان المرسل وأيضا ً رقم ميز للـ
datagramهذه البيانات تسمى الـ Header
• كما تحتوي على ما يسمى 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توجيه أو نقل للمعلومات و Packaging
(تشطير الرزم وإعادة الرزم)
• ودائما يكون الـ Headerالخاص بـ IPمتصالً بالـ Header
الخاص بـ TCP
• من دون الـ Headerالخاص بـ IPلن تتم معرفة وجهة الـ
DataGramأو لن يتم عمل توجيه لها
• فالتوجيه Routingيقوم بفحص العنوان الموجود على الرزمة
الـ Packetويعطيه تصريح تجول في أرجاء الشبكة
وهذا التصريح له مدة محددة TIME TO LIVEفإذا انتهت
هذه الفترة الزمنية فقدت تلك الرزمة ولم تعد تسبب ازدحام داخل
الشبكة
• وعمليه الـ تشطير الرزم وإعادة الرزم Packaging
تستخدم في التوليف بين بعض أنواع الشبكات المختلفة مثل شبكة
الـ Token Ringو Ethernet
بسبب ما لشبكة الـ Token Ringمن سعة في نقل اإلشارات
لذلك وجب تشطيرها ثم إعادة تجميعها مره أخرى
• Versionتعبر عن رقم إصدار الـ IPالمستخدم واإلصدار
االفتراضي المستخدم حاليا هو IPv4إال أن هناك اإلصدار
السادس IPv6إال انه لم يدعم إال من بعض األجهزة الحديثة
حاليا إال انه سوف يصبح اإلصدار االفتراضي قريبا ً جداً
• IHLأو Internet Header Length
وهو طول الـ Headerوالرقم االفتراضي له هو خمسة كلمات
من طول 32bit
• TOSأو Type of Service
تعبر عن اهمية البيانات المطلوبة
• Total Lengthتحدد طول الـ DataGramوتأخذ قيمة
بين 576بايت و 65532بايت
576 Byte – 65.532 KByte
• Identificationتعريف يسهل على الجهاز المستقبل اعادة
ترتيب الـ Datagram
• Flagsأول بت يعبر عن أن الـ DataGramال يمكن أن
يكون مقسما ً إلى أجزاء صغيرة والبت األخير يعبر عن آخر قسم
في أي Packetمقسمة إلى أقسام
• Fragmentation Offset
تعبر عن المكان المحدد للمعلومات وهي تستخدم في عملية إعادة
تجميع البيانات من قبل المستقبل
• Time to Live
الوقت المستخدم أو المخصص لنقل الـ Packetبعد أن ينقضي
هذا الوقت ستصبح بعدها الـ Packetمفقودة Lostولها معنى
آخر هو Hopودائما تجدها 32Hops
• Protocol
تعبر عن نوع البروتوكول ألنه من الممكن استخدام بروتوكوالت
أخرى غير الـ TCP/IP
القيمة ٦تعبر عن TCP
والقيمة ١٧تعبر عن User Datagram Protocol UDP
• Header Checksum
قيمة للتحقق من عدم وجود األخطاء في الـ Header
• TCP Header
هو كما تعرفت عليه سابقا الـ Headerالخاص بـ TCP
• Start of Data
بداية المعلومات الحقيقية التي سوف يتم نقلها
عنوان الشبكة IP
• الرقم المميز لكل جهاز على الشبكة وإذا استخدمت بروتوكول
TCP/IPفهذا يحتم عليك أن يكون هناك رقم مميز لكل جهاز
على الشبكة.
• هناك نوعان أو إصداران من الـ IPهما IPv4و IPv6
IPv4
• هذا اإلصدار هو األكثر استخداما اآلن وهو عبارة عن ٤خانات
تتكون من رقم 32bitودائما ً يتم الفصل بين األربع خانات إما
بنقطة أو بعالمة عشرية وهو يبدأ باألرقام من صفر حتى 255
في كل خانة من الخانات األربعة مثالً 192.168.1.33
• نسمي كل خانة Octetأو Byte
• وتقسم أرقام الـ IPإلى فئات أو صفوف حسب حجم الشبكات
واألجهزة المتوفرة عليها وهي
Class A, Class B, Class C, Class D, Class E
IPv6
• التقنية القادمة في الـ IPوتم ابتكاره خصيصا ألن األرقام
المتوفرة في النظام السابق أصبحت قليلة لكثرة المستخدمين على
الشبكة ويستخدم 128bitويعطي حوالي 79Octellionأي
79.000.000.000.000.000.000.000.000.000
• يستخدم نظام Hexadecimalبدالً من النظام الثنائي
• في ثمانية خانات منفصلة تتكون خانة من أربعة أرقام وحروف
على سبيل المثال
3FFE:0B00:0800:0002:0000:0000:0000:000C
ً
بروتوكوالت الشبكة: رابعا
SNMP
FTP
TFTP
SMTP
POP
IMAP
Telnet
ICMP
HTTP
ARP
•
•
•
•
•
•
•
•
•
•
NTP •
UDP •
1 – SNMP
Simple Network Management Protocol
• ويستخدم هذا البروتوكول من قبل مديري الشبكة لمعرفة
معلومات إضافية عن الشبكة وأيضا ً األجهزة الموجودة
على الشبكة كالمبدالت Switchesومرشدات المسار
Routersوأية أجهزة أخرى
2 – FTP
File Transfer Protocol
• هو أداة مهمة جداً لنقل الملفات عبر الشبكة وما بين األجهزة التي
تدعم هذه التقنية والتي تسمى FTP Servers
وبالتأكيد إذا كنت تتعامل مع مواقع اإلنترنت فقد سمعت بهذا
البروتوكول
3 – TFTP
Trivial File Transfer Protocol
Boot Image تستخدم لنقل الـFTP • نسخة مصغرة من
Boot Disk لألجهزة التي ال يوجد بها
Routers وأيضا ً من وإلى الـ
4 – SMTP
Simple Mail Transfer Protocol
• المسؤل عن نقل الرسائل اإلليكترونية عبر الشبكة ومن جهاز إلى
جهاز آخر وهو المسؤل عن اإلرسال الخاص بالـ Emails
5 – POP
Post Office Protocol
• ويوفر مساحة تخزينية الستقبال الرسائل اإلليكترونية وهو
معروف باسم POP3وفي بعض األحيان يستخدم الـ IMAP
بدالً من POP3
6 – IMAP
Internet Mail Access Protocol
• ويوفر مساحة تخزينية للمستخدم لتخزين الرسائل وايضا قراءة الـ
Email Header
وتخزين جزء من الرسالة على الـ Server
هو المستخدم في Yahoo
7 – Telnet
Terminal Emulation
• ويتيح االتصال عن بعد باألجهزة على الشبكة
8 – ICMP
Internet Control Message
Protocol
• والمثال الواضح لهذا البرنامج هو األمر Ping
الذي تستخدمه للتحقق من وجود الـ Hostعلى الشبكة حيث يقوم
بإرسال رسالة للـ Hostواستقبالها منه مرة أخرى
• يوجد على نفس الطبقة مع بروتوكول IPحيث يوفر بروتوكول
IPخدمة عديمة االتصال ،Connectionlessفإذا
حصلت أي مشاكل في اإلرسال فإنه ال يوجد أي طريقة
لبروتوكول IPللتعرف على هذه المشاكل أو حلها ،وهنا يأتي
دور بروتوكول ICMPليصدر تقريراً عن المشكلة
9 – HTTP
Hypertext Transfer Protocol
• وهو وسيلة التخاطب ما بين األجهزة والـ Web Servers
والمستخدم في فتح المواقع على الـ Internet Browser
10 – ARP
Address Resolution Protocol
• أداة أو برنامج يمكنك من معرفة معلومات عن الـ Physical
Hardwareالخاصة ببطاقات الشبكة والعناوين IPالخاصة
بها
• فهو مسئول عن تحديد عنوان بروتوكول IPوإيجاد عنوان الـIP
الهدف باستخدام عنوان الـ MACالموجود في الشبكة
• فإذا وجده قدم خريطة دقيقة للعنوان فإذا كان الحاسب بعيد (في
شبكة بعيدة) يقوم الـ ARPبتوجيه الـ IPإلى عنوان الموجة
الـ ROUTERثم بعد ذلك يقوم هذا الموجه بتسليم الطلب
لـ ARPحتى يبحث عن العنوان الفيزيائي MAC Address
لرقم الـIP
11 – NTP
Network Time Protocol
• هذه األداة مهمة جدا وقد تم ابتكارها من قبل البروفيسور
David Millsفي جامعة Delaware
والغرض األساسي منه هو جعل جميع األجهزة في الشبكة تعمل
بتوقيت واحد أو Synchronizeوهذا التوقيت حسب ساعة
معينة ألنه لو حصل اختالف في التوقيت بين األجهزة على الشبكة
هذا معناه اختالل العمل وضياع المعلومات .
12 – UDP
User datagram Protocol
• هذه األداة أو البرنامج تعطي اتصال مباشراً بين البرمجيات وهي
تعمل في طبقة Transportوأيضا ً تتيح االتصال بخدمة معينة
أو برنامج معين عبر Portمحدد في كمبيوتر آخر على الشبكة
• يستخدم في نقل الوسائط المتعددة مثل الصوت ،الفيديو ألنها
وسائط ال تحتاج إلى الدقة في الوصول كما أنه ذو فعالية كبيرة
وسريع األداء
• من أهم األسباب التي أدت إلى إنشاء البروتوكول UDPأن
اإلرسال عبر هذا البروتوكول ال يتطلب إال القليل من التحميل
والوقت فهو بروتوكول غير موثوق
ً
خامسا PORTS and Sockets :
•
•
•
•
•
•
في شبكات TCP/IPتنتقل المعلومات من الـ Portفي الكمبيوتر
المرسل للمعلومة إلى الـ Portفي الكمبيوتر المستقبل للمعلومة حسب
رقم الـ ( Portالمنفذ) والبرنامج الذي يستخدمه هذا المنفذ
كل برنامج له منفذ معين يعمل عليه في االتصال
كل منفذ عبارة عن رقم 16bitوبالتالي تأخذ قيما ً من صفر حتى
65535
هذه المنافذ تقسم إلى TCP Portsو UDP Portsحسب
البروتوكول الذي يعمل عليه المنفذ
جميع المخدمات التي تتصل على خدمة Telnetتستخدم الـ Port
23وهو TCP Port
جميع مخدمات الوب تعمل على المنفذ 80
• المداخل SOCKETS
هي عبارة عن تطبيقات جزئية مسؤولة عن السماح بالدخول إلى معظم
األنظمة من خالل بروتوكول ،TCP/IPالذي ال يستخدم فقط
للدخول إلى االنترنيت ،وإنما يستخدم أيضا ً على نطاق واسع لبناء
الشبكات الخاصة.
وقد تكون هذه الشبكات الخاصة مرتبطة باالنترنيت ،وقد ال تكون
مرتبطة بأي شبكة أخرى
ونسمي الشبكة الخاصة التي تستخدم بروتوكول TCP/IPوبرمجيات
االنترنيت ،بشبكات انترانيت
ً
سادسا Linux and Networking :
• Linuxنظام مبني من األساس وفي كل جزئية بما يتوافق مع
الشبكات واألمن وهو يو ّفر في نواته مجال ودعم أكبر
للبروتوكوالت الشبكية الشهيرة كما تأتي أغلب التوزيعات وهي
مزودة بالعديد من األدوات والخدمات الخاصة بإدارة وإعداد
الشبكات كل هذا الدعم وأكثر من بروتوكوالت وأدوات وبرامج
تشكل بمجموعها دعم يتفوق على كثير من األنظمة األخرى في
مجال الشبكات .
• سنتناول اإلعداد بما يتوافق مع أنظمة RedHatولكن لن
تختلف طريقة اإلعداد واألدوات في غير توزيعات ألن أدوات
RedHatهي أقوى األدوات وهي مستخدمة في أكثر من
توزيعة وما يعمل على RedHatيعمل على غيرها
أسرع TCP/IP
• Linuxيحتوي على قدرات متقدمة للشبكات .حيث أن مطوريه
تعاونوا واستخدموا اإلنترنت لتطويره دعم الشبكات أتى في
المراحل األولى لعملية التطوير
• تعتبر قدرات دعم الشبكات في نظام Linuxأعلى من قدرات
أغلب أنظمة التشغيل األخرى .حيث يدعم االتصال بشبكة
اإلنترنت أو أي شبكات أخرى بواسطة بروتوكوالت TCP/IP
أو IPXعن طريق ،Fast Ethernet ،Ethernet
ATMو Token Ringوغيرها الكثير
• يمكن استخدام نظام لينكس كخادم Serverلشبكة اإلنترنت
• يدعم نظام Linuxجميع أشهر بروتوكوالت اإلنترنت ،متضمنا ً البريد
اإللكتروني ،أخبار ،FTP ،Web ،Telnet ،Gopher ،UseNet
،SNMP ،NIS ،DNS ،NFS ،IRC ،NTP ،POP ،Talk
WAIS ،Kerberosوغيرها الكثير.
• يمكن لنظام Linuxأن يعمل كتابع/كزبون أو كخادم لجميع البروتوكوالت
السابقة وتم استخدامه وفحصه بانتشار للتأكد من ذلك
• يمكن أيضا ً لنظام Linuxأن ينخرط في الشبكة المحلية LANبكل سهولة
ويسر بغض النظر عن مختلف األجهزة التي تستخدمها .حيث يدعم دعما ً
كامالً ألنظمة Windows ،Windows ،DOS ،Macintosh :
OS/2 ،Novel ،Windows95 ،NTك ٌل يستخدم بروتوكوالته
الخاصة .يمكن لنظام لينكس أن يعمل كل ذلك بوجود فقط 16ميجابايت من
الذاكرة أو حتى أقل من ذلك بوجود خاصية التبديل Swapspace
شكر ًا حلسن
اصغائمك