علوم مهندسی کامپیوتر و IT و اینترنت

کاربردها و معماری لایه ای

karbordha_va_memarie_layee

در نمایش آنلاین پاورپوینت، ممکن است بعضی علائم، اعداد و حتی فونت‌ها به خوبی نمایش داده نشود. این مشکل در فایل اصلی پاورپوینت وجود ندارد.






  • جزئیات
  • امتیاز و نظرات
  • متن پاورپوینت

امتیاز

درحال ارسال
امتیاز کاربر [0 رای]

نقد و بررسی ها

هیچ نظری برای این پاورپوینت نوشته نشده است.

اولین کسی باشید که نظری می نویسد “کاربردها و معماری لایه ای”

کاربردها و معماری لایه ای

اسلاید 1: فصل دوم- کاربرد ها و معماری لایه ای پروتکل ها ، سرویس ها و لایه بندیمدل مرجع OSIمعماری TCP/IPلایه ها چگونه با یکدیگر کار می کنند؟سوکت های Berkeleyپروتکل های لایه کاربرد و تسهیلات آن ها

اسلاید 2: فصل دوم- کاربرد ها و معماری لایه ایپروتکل ها ، سرویس ها و لایه بندی

اسلاید 3: پروتکل ها ، سرویس ها و لایه بندیفرآیند کلی ارتباط، بین دو یا چند ماشینِ متصل به یک یا چند شبکه پیچیده است.لایه بندی، توابع ارتباطی مربوطه را در گروه های قابل مدیریت دسته بندی می کند.هر لایه به لایۀ بالاتر خود سرویس می دهد.هر لایه بر اساس یک پروتکل عمل می کند.با مثال این مفاهیم را نشان می دهیم.

اسلاید 4: کاربرد جستجوی وبوب به کاربران اجازه می دهد که به منابع (برای مثال مستندات) که در ماشین های متصل به اینترنت قرار گرفته اند، دسترسی پیدا کنند.مستندات در اینترنت بر اساس HTML آماده شده اند.یک برنامۀ کاربردی جستجوگر برای دسترسی به وب استفاده می شود.جستجوگر مستندات HTML که شامل لینک هایی به دیگر مستندات است را نمایش می دهد.هر لینک به یک URL رجوع می کند که نام ماشین و محل قرار گرفتن مستندات در آن را مشخص می کند.حال به بررسی نحوۀ عملکرد، زمانی که یک لینک توسط کاربر کلیک می شود می پردازیم.

اسلاید 5: کاربر لینک http://www.nytimes.com/ را کلیک می کند.URL شامل نام ماشین در اینترنت (www.nytimes.com) است ولی آدرس آن در اینترنت را ندارد.اینترنت به آدرس ماشین برای ارسال اطلاعات به آن نیاز دارد.نرم افزار جستجوگر از پروتکل DNS برای ارسال query برای بدست آوردن آدرس اینترنت استفاده می کند. سیستم DNS آدرس اینترنت آن ماشین را پاسخ می دهد.Q. www.nytimes.com?A. 64.15.247.2001- DNS

اسلاید 6: نرم افزار جستجوگر از HTTP برای ارسال درخواست یک سند استفاده می کند.سرور های HTTP با گوش دادن به پورت مشخصی ( پورت 80 برای HTTP) منتظر درخواست ها می مانند.HTTP Client پیغام درخواست را از طریق پورت موقتی برای مثال پورت 1127 ارسال می کند.HTTP برای ارسال پیغام ها به شکل مطمئن احتیاج به یک ارتباط TCP بین HTTP Client و HTTP Server دارد.TCP Connection RequestFrom: 128.100.11.13 Port 1127To: 64.15.247.200 Port 802-TCPACK, TCP Connection RequestFrom: 64.15.247.200 Port 80 To:128.100.11.13 Port 1127ACK

اسلاید 7: HTTP Client پیغام درخواستش را ارسال می کند: “GET …” HTTP Server یک پاسخ وضعیت ارسال می کند: “200 OK”HTTP Server فایل درخواست شده را ارسال می کند.جستجوگر، سند را نمایش می دهد.کلیک کردن یک لینک زنجیره ای از رخداد ها را در اینترنت سبب می شود.حال به بررسی نقش پروتکل ها و لایه ها می پردازیم.GET / HTTP/1.1200 OK3-HTTPContent

اسلاید 8: پروتکل هایک پروتکل مجموعه ای از قوانین است که مشخص می کند چگونه دو یا چند موجودیت ارتباطی در یک لایه ، با هم تعامل داشته باشند.پیغام هایی که می توانند ارسال و دریافت شوند را مشخص می کند.عمل هایی که باید در صورت بروز یک رخداد مانند ارسال و یا دریافت پیغام و یا انتقضای یک تایمر انجام شود را مشخص می کند.هدف پروتکل ارائه سرویس به لایۀ بالاتر است.

اسلاید 9: لایه هامجموعه ای از توابع ارتباطی مرتبط که می توانند با یکدیگر مدیریت شوند و در یک دسته قرار گیرند.لایۀ کاربرد: توابع ارتباطی که توسط برنامه های کاربردی استفاده می شوند.HTTP ، DNS ، SMTP (mail) لایۀ انتقال: ارتباط انتها به انتها بین دو فرآیند در دو ماشینTCP ، UDP لایۀ شبکه: ارتباط گره به گره بین ماشین هاIP

اسلاید 10: مثال: HTTPHTTP یک پروتکل لایۀ کاربرد است.مستندات را برای یک برنامۀ جستجوگر بازیابی می کند.پروتکلHTTP فیلد های پیغام درخواست و پاسخ را مشخص می کند.Request types ، Request code و ...Content type ، options ، cookies و ...HTTP عمل هایی که با دریافت پیغام های مشخص باید انجام شود را مشخص می کند.

اسلاید 11: HTTPClientپروتکل HTTPGETResponseHTTPServerHTTP فرض می کند پیغام ها مستقیماً بین HTTP Client و HTTP Server مبادله می شوند.HTTP client و HTTP server دو فرآیند هستند که در دو ماشین بر روی اینترنت اجرا می شوند.HTTP از جریان ارسالی مطمئن که توسط TCP ارائه می شود، استفاده می کند.

اسلاید 12: مثال: TCPTCP یک پروتکل لایۀ انتقال است.یک سرویس جریان دادۀ مطمئن بین دو فرآیند در دو ماشین بر روی اینترنت ارائه می دهد.شمارۀ ترتیب(sequence number) برای دنبال کردن بسته های ارسال شده و دریافت شده استفاده می شود.مکانیزم های تشخیص خطا و ارسال مجدد برای رفع خطاهای ارسال و از دست رفتن بسته ها استفاده می شود.TCP اتصال گرا : فرستند و گیرنده قبل از ارسال داده ،ابتدا باید ارتباط ایجاد کنند و مقدار اولیۀ شمارۀ ترتیب را مشخص کنند.شناسۀ هر ارتباط(Connection ID) به طور یکتا و منحصر به فرد توسط مقادیر زیر مشخص می شود.(send port #, send IP address, receive port #, receiver IP address)

اسلاید 13: HTTPserverHTTPclientTCPPort 80Port 1127HTTP از سرویس TCP استفاده می کند.TCPResponseGETTCP80, 1127 GET1127, 80bytesResponseGETResponse

اسلاید 14: مثال: پروتکل DNSپروتکل DNS یک پروتکل لایۀ کاربرد است.DNS یک پایگاه دادۀ توزیع شده است که بر روی چندین ماشین در اینترنت قرار گرفته است.پروتکل DNS اجازۀ انواع مختلف query را می دهد:Name-to-address or Address-to-nameMail exchangeDNS عموماً از پیغام های کوتاه استفاده می کند و بنابراین از سرویسی که UDP ارائه می کند استفاده می کند.DNS از پورت مشخص و معروف 53 را استفاده می کند.

اسلاید 15: Local Name Server : برای نام هایی که به طور محلی بسیار استفاده می شود.دانشکده ، ISP اگر نتواند به query پاسخ دهد، با Root Name Server ارتباط برقرار می کند.Root Name Server : 13 سرور جهانی از آن وجود دارد.به query ها پاسخ می دهد ویا query را به Authoritative Name Server ارجاع می دهد.Authoritative Name Server : آخرین پناهگاههر ماشین باید آدرس خود را در حداقل دو Authoritative Name Server ثبت نماید.123456LocalNameServerRootNameServerAuthoritativeNameServer

اسلاید 16: مثال : UDPUDP یک پروتکل لایۀ انتقال است.سرویس دیتاگرامBest-effort بین دو فرآیند در دو ماشین بر روی اینترنت ارائه می دهد.شمارۀ پورت برای مشخص کردن فرآیند های مختلف در یک ماشین استفاده می شود.UDP بدون اتصال است.دیتاگرام به صورت بلادرنگ ارسال می شود.سریع ، ساده ولی غیر مطمئن

اسلاید 17: خلاصهلایه ها: توابع ارتباطی مرتبطلایۀ کاربرد: HTTP, DNS لایۀ انتقال: TCP, UDPلایۀ شبکه: IP سرویس ها: یک پروتکل، سرویس ارتباطی به لایۀ بالا ارائه می دهد.TCP سرویس انتقال دادۀ اتصال گرا ارائه می دهد.UDP سرویس انتقال Best-effort ارائه می دهد.هر لایه بر اساس سرویس های لایۀ زیرین ساخته می شود.HTTP بر روی TCP عمل می کند.DNS بر روی UDP عمل می کند.TCP و UDP بر روی IP عمل می کنند.

اسلاید 18: فصل دوم- کاربرد ها و معماری لایه ایمدل مرجع OSI

اسلاید 19: چرا لایه بندی؟لایه بندی، طراحی، پیاده سازی و تست را با دسته بندی فرآیند کلی ارتباط به بخش ها، ساده می کند.پروتکل ها در هر لایه می توانند به طور مستقل از سایر لایه ها طراحی شوند.پروتکل ها برای استفاده از سرویس های لایۀ زیرین از Call استفاده می کنند.لایه بندی امکان تغییر و گسترش پروتکل ها و سرویس ها بدون تغییر لایه های زیرین، را فراهم می آورد.ساختارهای یکپارچه و بدون لایه، گران و غیر منعطف هستند و به زودی منسوخ می شوند.

اسلاید 20: Open Systems Interconnection (OSI)معماری شبکه:تعریف تمام لایه هاطراحی پروتکل برای هر لایهدر دهۀ 1970 هر سازندۀ کامپیوتر، معماری شبکه لایه ای ، برای خود طراحی کرده بود.مشکل: کامپیوتر های سازنده های مختلف نمی توانستند با هم شبکه شوند.OSI یک تلاش بین المللی توسط سازمان ISO بود که امکان ارتباط کامپیوترهای سازنده های مختلف را فراهم آورد.

اسلاید 21: مدل مرجع OSIیک مدل مرجع هفت لایه ای برای معماری شبکه ارائه می کند.هدف مدل مرجع ایجاد یک چارچوب برای توسعۀ پروتکل ها بود.علاوه بر این OSI یک دید یکپارچه از لایه ها و پروتکل ها و سرویس ها که همچنان در طراحی پروتکل های جدید نیز استفاده می شود، ارائه می دهد.استانداردهایی با جزئیات زیاد برای هر لایه توسعه داده شده است، که بیشتر آن ها استفاده نمی شوند.( کلیات استاندارها توسط سازنده ها پیاده سازی شده اند.)پروتکل های TCP/IP، لایه های OSI را به انحصار در آورده اند و ساختار لایه ای خود را ارائه داده اند.

اسلاید 22: مدل 7 لایه ای مرجع OSIApplicationLayerPresentationLayerSessionLayerTransportLayerNetworkLayerData LinkLayerPhysicalLayerApplicationLayerPresentationLayerSessionLayerTransportLayerNetworkLayerData LinkLayerPhysicalLayerNetworkLayerApplicationApplicationData LinkLayerPhysicalLayerNetworkLayerData LinkLayerPhysicalLayerCommunicating End SystemsOne or More Network NodesEnd-to-End Protocols

اسلاید 23: لایۀ فیزیکی بیت ها را بر روی لینک ارسال می کند.تعریف و مشخص سازی ویژگی های فیزیکی یک لینک ارتباطی:مکانیکی: cable, plugs, pins و ...الکترونیکی یا نوری: سطح ولتاژ ، قدرت سیگنال ، مدولاسیون، زمان بیت ها و ...توابع و فرآیند ها: چگونگی فعال سازی، نگهداری، غیرفعال سازی لینک های فیزیکی و ...مودم های اترنت، DSL ، مودم های کابل ، تلفن و ...کابل زوج سیم به هم پیچیده، کابل هم محور، فیبر، رادیو ، مادون قرمز و ...

اسلاید 24: لایۀ لینک دادهانتقال فریم ها بر روی ارتباط مستقیمدسته بندی بیت ها درون فریم هاتشخیص خطاهای بیت و ارسال مجدد فریم هافعال سازی ، نگهداری و غیرفعال سازی لینک ارتباطی دادهکنترل دسترسی به رسانه برای شبکه های محلیکنترل جریانData LinkLayerPhysicalLayerData LinkLayerPhysicalLayerframesbits

اسلاید 25: لایۀ شبکهانتقال بسته ها بر روی چندین لینک و شبکهآدرس دهی برای شبکه های بزرگ گره ها، الگوریتم مسیریابی را برای تشخیص مسیرها بر روی شبکه اجرا می کنند.جلورانی، بسته ها را به گرۀ بعدی انتقال می دهد.کنترل ازدحام برای برخورد با جریان ترافیک سریعبرقراری ارتباط ، نگهداری و قطع ارتباط در حالت اتصال گرا

اسلاید 26: ارتباط بین شبکه ای(Internetworking)Internetworking بخشی از لایۀ شبکه است که انتقال بسته ها را بر روی شبکه های احتمالاً غیر متشابه، فراهم می کند.مسیریاب های gateway بسته ها را بین شبکه ها ارسال می کنند.G = gateway H = hostNet 1Net 5Net 3Net 2HNet 3GHHHGGGGGNet 1Net 2Net 4Net 5     Ethernet LANATMSwitchATMSwitchATMSwitchATMSwitchATMNetwork

اسلاید 27: لایۀ انتقالانتقال دادۀ انتها به انتها بین فرآیند در یک ماشین با فرآیند در ماشین دیگرانتقال جریان مطمئن و یا انتقال یک بلاک تنها به صورت سریع و ساده قطعه بندی پیغام و تجمیع مجددبرقراری ارتباط ، نگهداری و آزاد سازیTransportLayerNetworkLayerTransportLayerNetworkLayerNetworkLayerNetworkLayerCommunication Network

اسلاید 28: لایۀ کاربرد و لایه های بالاترلایۀ کاربرد: سرویس هایی که متناوباً مورد استفادۀ کاربردها است را ارائه می دهد: DNS, web access , file transfer , email و ...لایۀ نمایش: نمایش داده مستقل از ماشینلایۀ نشست: مدیریت گفتگو ، بازیابی از خطا هاApplicationLayerPresentationLayerSessionLayerTransportLayerApplicationApplicationLayerTransportLayerApplicationترکیب شده در لایۀ کاربرد

اسلاید 29: سرآیند ها و دنباله هاهر پروتکل از یک سرآیند که شامل آدرس ها ، شماره ترتیب ها ، بیت های پرچم ، مشخص کنندۀ طول و ... است، استفاده می کنند.بیت های CRC check برای تشخیص خطا می تواند اضافه شود.ApplicationLayerTransportLayerNetworkLayerData LinkLayerPhysicalLayerApplicationLayerTransportLayerNetworkLayerData LinkLayerPhysicalLayerApplication ApplicationAPP DATAAHAPP DATATHAHAPP DATANHTHAHAPP DATADHNHTHAHAPP DATACRCbits

اسلاید 30: دید یکپارچۀ OSI: پروتکل هالایۀ n در یک ماشین با لایۀ n در ماشین دیگر تعامل می کند تا یک سرویس به لایۀ n+1 ارائه دهد.موجودیت هایی که شامل لایه های متناظر در ماشین های مختلف هستند، فرآیند های نظیر نامیده می شوند.ماشین ها از مجموعه ای از قوانین و قرارداد ها استفاده می کنند که به آن پروتکل لایۀ n می گویند.فرآیند های نظیر لایۀ n از طریق مبادلۀ Protocol Data Units (PDUs) با هم ارتباط برقرار می کنند.nEntitynEntityLayer n peer protocoln-PDUs

اسلاید 31: دید یکپارچۀ OSI: سرویس هاارتباط بین فرآیند های نظیر به صورت مجازی است و در حقیقت غیر مستقیم است.لایۀ n+1 اطلاعات را با فراخوانی سرویسی که توسط لایۀ n ارائه می شود، انتقال می دهد.سرویس ها در Service Access Point(SAP’s) در دسترس قرار می گیرند.هر لایه داده ها و اطلاعات کنترلی را به لایۀ پایین تحویل می دهد تا به لایۀ فیزیکی رسیده و انتقال صورت گیرد.داده هایی که به لایۀ پایین ارسال می شوند را Service Data Unit (SDU) می گویند.SDU ها داخل PDU بسته بندی می شوند.

اسلاید 32: n+1entityn-SAPn+1entityn-SAPn entityn entityn-SDUn-SDUn-SDUHHn-SDUn-PDUلایه ها ، سرویس ها و پروتکل ها

اسلاید 33: ارتباط بین لایه هاlayerN+1 userN providerSystem ASystem BN providerN+1 userRequestIndicationResponseConfirm

اسلاید 34: سرویس های اتصال گرا و بدون اتصالاتصال گراسه مرحلهبرقراری ارتباط بین دو SAP برای مقدار دهی به اطلاعات حالتانتقال SDUآزاد سازی ارتباطمانند TCP و ATMبدون اتصالانتقال فوری SDUنیازی به برقراری ارتباط نداردمانند UDP,IPسرویس های لایه ای لازم نیست از یک نوع باشند.TCP بر روی IP عمل می کند.IP بر روی ATM عمل می کند.

اسلاید 35: n-PDUبخش بندی و تجمیع دوباره (Segmentation & Reassembly)n-SDUn-PDUn-PDUn-PDUSegmentation(a)n-SDUn-PDUn-PDUReassembly(b)یک لایه ممکن است به دلایل پیاده سازی و یا دیگر دلایل، محدودیتی بر روی اندازۀ بلاک های داده ای که می تواند منتقل کند، تعریف نماید.بنابراین SDU لایۀ n ممکن است بسیار بزرگتر از آن باشد که لایۀ n-1 بتواند آن را به شکل یک واحد داده انتقال دهد.در طرف فرستند: SDU به تعدادی PDU شکسته می شود.در طرف گیرنده: SDU از ترتیبی از PDU ها دوباره تجمیع می شود.

اسلاید 36: n+1entityn+1entityn+1entityn+1entityمالتی پلکسینگاشتراک سرویس لایۀ n توسط چندین کاربر لایۀ n+1 برچسب مالتی پلکسینگ و یا ID در هر PDU لازم است تا مشخص شود یک SDU به چه کاربری تعلق دارد.n entityn entityn-SDUn-SDUn-SDUHHn-SDUn-PDU

اسلاید 37: خلاصهلایه ها: توابع ارتباطی به هم مرتبطلایۀ کاربرد: HTTP, DNSلایۀ انتقال: TCP , UDPلایۀ شبکه : IPسرویس ها: یک پروتکل یک سرویس ارتباطی به لایۀ بالاتر خود ارائه می دهد.TCP سرویس اتصال گرا و قابل اطمینان انتقال ارائه می شدهد.UDP سرویس Best-effort انتقال ارائه می دهد.هر لایه بر اساس سرویس های لایه های پایین تر ساخته می شود.HTTP بر روی TCPDNS بر روی UDPTCP و UDP بر روی IP

اسلاید 38: فصل دوم- کاربرد ها و معماری لایه ایمعماری TCP/IPلایه ها چگونه با یکدیگر کار می کنند؟

اسلاید 39: چرا ارتباطات بین شبکه ای؟(Internetworking )برای ایجاد شبکه ای از شبکه ها و یا اینترنتبر روی چندین شبکه با تکنولوژی های متفاوت عمل می کند.ارائۀ ارتباط همه گیر با استفاده از انتقال بسته ها با IPبرای مقیاس های بسیار بزرگ GGGGGGHNet 5Net 5HNet 5Net 2HNet 5Net 3HNet 5Net 1Net 5Net 4

اسلاید 40: چرا ارتباطات بین شبکه ای؟(Internetworking ) برای ارائه سرویس ارتباط جهانیمستقل از تکنولوژی شبکه های زیرینارائه واسط مشترک به کاربردهای کاربرانGGGGGGHNet 5Net 5HNet 5Net 2HNet 5Net 3HNet 5Net 1Net 5Net 4Reliable Stream ServiceUser Datagram Service

اسلاید 41: چرا ارتباطات بین شبکه ای؟(Internetworking )برای پشتیبانی از کاربردهای توزیع شدههر کاربردی که برای کار با سرویس های اینترنت طراحی شده است، می تواند بر روی کل شبکۀ اینترنت عمل کند.توسعۀ سریع کاربردها Email , WWW , Peer-to-Peerکاربردها مستقل از تکنولوژی شبکهشبکه های جدید می توانند معرفی شوند.تکنولوژی های قدیمی شبکه می توانند بازنشته شوند.

اسلاید 42: پروتکل های اینترنتبسته های IP اطلاعات را بر روی اینترنت منتقل می کنند.Host A IP → router→ router…→ router→ Host B IPلایۀ IP در هر مسیریاب گام بعدی را مشخص می کند.واسط های شبکه بسته های IP را بر روی شبکه انتقال می دهند.RouterInternetLayerNetworkInterfaceTransportLayerInternetLayerNetworkInterfaceTransportLayerInternetLayerNetworkInterfaceHost AHost BNet 5Net 1Net 5Net 2Net 5Net 3RouterInternetLayerNetworkInterfaceRouterInternetLayerNetworkInterfaceNet 5Net 4

اسلاید 43: پروتکل TCP/IP(ICMP, ARP)تکنولوژی های متفاوت شبکه Reliable stream serviceUserdatagram serviceDistributed applicationsHTTPSMTPRTPTCPUDPIPNetworkinterface 1Networkinterface 3Networkinterface 2DNSBest-effort connectionless packet transfer

اسلاید 44: نام ها و آدرس ها در اینترنتنام های اینترنتهر ماشین یک نام یکتا دارد.مستقل از مکان فیزیکیبه سادگی توسط انسان به خاطر سپرده می شود.نام دامنه(Domain Name)تحت سازماندهی یک مدیریتنام ماشیننامی که به ماشین داده شده نام کاربرنامی که به کاربر داده شدهleongarcia@com.utoronto.caآدرس های اینترنتهر ماشین یک آدرس IP ، 32 بیتی منطقاً یکتا دارد.آدرس های جداگانه برای هر ارتباط فیزیکی به شبکهتصمیمات مسیریابی بر اساس آدرس IP مقصد انجام می شود.آدرس IP دو بخش دارد:NetId و HostIdNetId مسیریابی را ساده می کند.نمایش دهدهی با نقطهint1.int2.int3.int4(intj = jth octet)128.100.10.13DNS نام را به آدرس ترجمه می کند.

اسلاید 45: آدرس های فیزیکیLAN ها و دیگر شبکه ها ، آدرس های فیزیکی به تجهیزات فیزیکی که به شبکه متصل هستند، آدرس های فیزیکی نسبت می دهند.شبکه از آدرس فیزیکی برای انتقال داده ها و یا فریم ها به مقصد های داخل شبکه استفاده می کند.آدرس IP باید در واسط های IP شبکه به آدرس فیزیکی تبدیل شود.برای مثال اترنت از آدرس های 48 بیتی استفاده می کند:هر کارت واسط شبکۀ اترنت (NIC) یک آدرس فیزیکی یا MAC یکتا دارد.24 بیت اول آن مشخص کنندۀ سازندۀ کارت و 24 بیت بعدی شمارۀ سریال است.00:90:27:96:68:07 12 hex numbers

اسلاید 46: مثالی از اینترنت(1,1)s(1,2)w(2,1)(1,3) r(2,2)PPPNetid=2Ethernet(netid=1)PCServerRouterWorkstation*PPP does not use addresses

اسلاید 47: Encapsulationسرآیند اترنت شامل آدرس های فیزیکی مبدأ و مقصدنوع پروتکل شبکه ( برای مثال IP )IP header IP PayloadEthernet headerFCSIP header IP Payload

اسلاید 48: بستۀ IP از Workstation تا سروربستۀ IP برای مبدأ آدرس (2و1) و برای مقصد آدرس (1و1) دارد.جدول IP در workstation مشخص می کند که مقصد به همین شبکه متصل است بنابراین بستۀ IP را در فریم اترنت با آدرس w و s قرار می دهد.فریم اترنت توسط کارت واسط شبکۀ workstation، همه پخشی می شود و توسط کارت واسط شبکۀ سرور دریافت می شود.کارت واسط شبکه فیلد نوع پروتکل را بررسی می کند و بسته را به لایۀ IP منتقل می کند.(1,1)s(1,2)w(2,1)(1,3) r(2,2)PPPEthernetPCServerRouterWorkstation(1,2), (1,1) w, s

اسلاید 49: بستۀ IP از سرور تا workstation(1,1)s(1,2)w(2,1)(1,3) r(2,2)PCServerRouterWorkstationبستۀ IP برای مبدأ آدرس (1و1) و برای مقصد آدرس (2و2) دارد.جدول IP در سرور مشخص می کند که بسته باید به مسیریاب ارسال شود، بنابراین بستۀ IP در فریم اترنت با آدرس s و r قرار می گیرد.فریم اترنت توسط کارت واسط شبکۀ سرور همه پخشی می شود و توسط کارت واسط شبکۀ مسیریاب دریافت می شود.کارت شبکه فیلد نوع پروتکل آن را بررسی می کند و بسته را به لایۀ IP منتقل می کند.لایۀ IP آدرس مقصد بسته را بررسی می کند و متوجه می شود که بسته باید به مقصد (2و2) ارسال شود. جدول مسیریابی مسیریاب مشخص می کند که (2و2) مستقیماً به لینک PPP متصل است.بستۀ IP در فریم PPP قرار می گیرد و به مقصد منتقل می شود.PPP در مقصد فیلد نوع پروتکل را بررسی می کند و بسته را به لایۀ IP تحویل می دهد.(1,1), (2,2) s, r(1,1), (2,2)

اسلاید 50: لایه ها چگونه با هم کار می کنند؟Network interfaceIPTCPHTTPNetwork interfaceIPNetwork interfaceIPTCPHTTPEthernetPPPRouter(1,1)s(2,1)(1,3) r(2,2)PPPEthernet(a)(b)ServerPCPCServerRouterTCP uses node-to-node Unreliable packet transfer of IPServer IP address & PC IP addressInternetHTTP uses process-to-processReliable byte stream transfer of TCP connection: Server socket: (IP Address, 80)PC socket (IP Address, Eph. #)

اسلاید 51: EncapsulationTCP Header contains source & destination port numbersIP Header contains source and destination IP addresses; transport protocol type Ethernet Header contains source & destination MAC addresses; network protocol typeHTTP RequestTCP headerHTTP RequestIP headerTCP headerHTTP RequestEthernet headerIP headerTCP headerHTTP RequestFCS

اسلاید 52: کاربر بر روی http://www.nytimes.com/ کلیک می کند.Ethereal Network analyzer تمام فریم هایی که توسط NIC اترنت می بیند را جمع آوری می کند.ترتیب فریم ها و محتوای فریم ها می تواند با جزئیات بررسی شود.لایه ها چگونه با هم کار می کنند؟ مثال از: Network Analyzer Internet

اسلاید 53: Ethereal windows Top Pane shows frame/packet sequenceMiddle Pane shows encapsulation for a given frameBottom Pane shows hex & text

اسلاید 54: Top pane: frame sequenceDNS QueryTCP Connection SetupHTTP Request & Response

اسلاید 55: Middle pane: EncapsulationEthernet FrameEthernet Destination and Source AddressesProtocol Type

اسلاید 56: Middle pane: EncapsulationIP PacketIP Source and Destination AddressesProtocol TypeAnd a lot of other stuff!

اسلاید 57: Middle pane: EncapsulationTCP SegmentSource and Destination Port NumbersHTTP RequestGET

اسلاید 58: خلاصهبسته بندی بسته ها (encapsulation) کلید اصلی لایه بندی است.IP امکان ارسال بسته ها بر روی شبکه های مختلف را می دهد.TCP و UDP سرویس ارتباط جهانی بر روی اینترنت ارائه می دهند.کاربردهای توزیع شده که از TCP و UDP استفاده می کنند می توانند بر روی کل شبکۀ اینترنت عمل کنند.نام ها و آدرس ها در اینترنت ، شمارۀ پورت ، سوکت ها ، آدرس های فیزیکی ، ارتباط ها

اسلاید 59: فصل دوم- کاربرد ها و معماری لایه ایسوکت ها

اسلاید 60: Socket APIAPI (Application Programming Interface)مجموعۀ استانداردی از توابع که می تواند توسط کاربردها فراخوانی شود را ارائه می دهد.Berkeley UNIX Sockets APIسطح تجریدی برای کاربردها برای ارسال و دریافت دادهکاربردها سوکت هایی ایجاد می کنند که به شبکه متصل می شوند.کاربردها از سوکت ها به صورت write/read و یا to/from استفاده می کنند.سوکت در کرنل پیاده سازی می شود.جزئیات پروتکل ها و مکانیزم های زیرین را مخفی می کند.در Windows ، Linux و دیگر OS ها وجود دارد.

اسلاید 61: ارتباط از طریق واسط سوکتClientServerdescriptorport numberdescriptorport number Application references a socket through a descriptor Socket bound to a port numberApplication 1SocketSocket interfaceUserKernelApplication 2UserKernelUnderlying communication protocolsUnderlying communication protocolsCommunications network SocketSocket interface

اسلاید 62: نوع جریان سرویساتصال گراابتدا ارتباط بین دو فرآیند کاربرد نظیر برقرار می شود.انتقال به ترتیب ، قابل اطمینان و دو جهته انجام می شود.( حدود در انتقال حفظ نمی شود.)چندین نوشتن/خواندن بین فرآیند های نظیردر انتها ارتباط آزاد می شود.از TCP استفاده می کند.بدون اتصالانتقال آنی بلاک اطلاعات ( حدود حفظ می شود.)سربار و تأخیر برقراری ارتباط وجود ندارد.آدرس مقصد در هر بلاک وجود دارد.ارسال/دریافت ، به/از چندین فرآیند نظیرتنها سرویس Best-effortبسته های خارج از ترتیبامکان از دست رفتن بسته هااز UDP استفاده می کند.

اسلاید 63: تفاوت های بین Client و ServerServerهنگامی که سوکت ایجاد می کند از شمارۀ پورت های معروف استفاده می کند.ممکن است چندین آدرس IP یا واسط شبکه داشته باشد.برای درخواست های client منتظر می ماند.Clientیک شمارۀ پورت موقتی تخصیص می دهد.ارتباط با server را آغاز می کند.لازم است که آدرس IP و شمارۀ پورت server را بداند.DNS برای تبدیل URL و بدست آوردن IP و شمارۀ پورت server استفاده می شود.Server آدرس client و شمارۀ پورتش را بدست می آورد.

اسلاید 64: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()سرور passive open را انجام می دهد.Socket برای گوش دادن به درخواست ارتباط یک سوکت ایجاد می کند.سرور نوع را مشخص می کند: جریان TCPSocket پاسخ call : یک مقدار غیرمنفی توصیف کنند و یا -1 در صورت عدم موفقیتclose()

اسلاید 65: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()سرور passive open را انجام می دهد.Bind آدرس محلی و شماره پورت به سوکت نسبت می دهد.می تواند از آدرس wildcard برای چندین واسط شبکه استفاده نماید.Bind پاسخ call : 0 برای موفقیت و 1- برای شکستشکست در صورتی که شمارۀ پورت در حال استفاده باشد و یا اجازۀ استفادۀ مجدد وجود نداشته باشد.close()

اسلاید 66: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()سرور passive open را انجام می دهد.Listen آمادگی TCP برای دریافت ارتباط را برای سو کت مشخص می کند. به کمک پارامترها می توان بیشترین تعداد درخواست هایی که می تواند در صف قرار گیرد برای اینکه سرور به آن ها پاسخ دهد را مشخص نمود.Listen پاسخ Call : 0 برای موفقیت و 1- برای شکستclose()

اسلاید 67: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()سرور passive open را انجام می دهد.سرور accept را فراخوانی می کند تا یک درخواست را بپذیرد. Accept بلاک می شود اگر صف خالی باشد.close()

اسلاید 68: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()close()Client عمل active open را انجام می دهد.Socket برای اتصال به سرور یک سوکت ایجاد می کند.Client نوع را مشخص می کند : جریان TCPSocket پاسخ call : مقدار غیر منفی تعریف کنند یا مقدار 1- در صورت عدم موفقیت

اسلاید 69: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()close()Client عمل active open را انجام می دهد.Connect یک ارتباط بر روی سوکت محلی به آدرس و پورت مشخص ایجاد می کند.Connect مقدار 0 در صورت موفقیت و مقدار 1- در صورت عدم موفقیت باز می گرداند.توجه : connect ، TCP three-way handshake را آغاز می کند.

اسلاید 70: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()Accept با در خواست ارتباط بیدار می شود.Accept آدرس client و شمارۀ پورت را در ساختار آدرس قرار می دهدAccept پاسخ call : تعریف کننده ای از سوکت ارتباط در صورت موفقیت و 1- در صورت شکستClient و server از سوکت جدید برای انتقال داده استفاده می کنند.سوکت اصلی برای رسیدن درخواست های جدید منتظر می ماند.close()

اسلاید 71: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()انتقال دادهClient و server از فراخوانی write برای انتقال داده در یک سوکت ارتباط استفاده می کنند.Write مشخص می کند: معرف سوکت ، اشاره گر به یک بافر ، مقدار داده، پرچم هایی برای کنترل رفتار ارسالWrite پاسخ call : تعداد بایت های ارسال شده در صورت موفقیت یا 1- در صورت شکست . زمانی که تمام داده ارسال شود بلاک می شود.close()

اسلاید 72: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()انتقال دادهClient یا server برای دریافت داده از یک سوکت ارتباط read را انجام می دهد.Read مشخص می کند : معرف سوکت ، اشاره گر به یک بافر ، مقدار دادهRead پاسخ call : تعداد بایت های خوانده شده در صورت موفقیت یا 1- دز صورت شکست ، اگر داده ای نرسد بلاک می شود.close()توجه: read و write می توانند برای ارتباط در دو جهت چندین بار فراخوانی شوند.

اسلاید 73: فراخوانی های سوکت برای ارتباط های اتصال گراsocket()socket()bind()read()close()DataDataServerClientlisten()accept()Blockswrite()connect()Connect negotiationwrite()read()پایان ارتباط Client و server زمانی که دیگر احتیاجی به سوکت نیست close می شوند.Close معرف سوکت را مشخص می کند.Close پاسخ call : 0 در صورت موفقیت و 1- در صورت شکستclose()

اسلاید 74: Example: TCP Echo Server/* A simple echo server using TCP */#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define SERVER_TCP_PORT3000#define BUFLEN256int main(int argc, char **argv){int n, bytes_to_read;int sd, new_sd, client_len, port;struct sockaddr_in server, client;char *bp, buf[BUFLEN];switch(argc) {case 1:port = SERVER_TCP_PORT;break;case 2:port = atoi(argv[1]);break;default:fprintf(stderr, Usage: %s [port]n, argv[0]);exit(1);}/* Create a stream socket */if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {fprintf(stderr, Cant create a socketn);exit(1);}/* Bind an address to the socket */bzero((char *)&server, sizeof(struct sockaddr_in));server.sin_family = AF_INET;server.sin_port = htons(port);server.sin_addr.s_addr = htonl(INADDR_ANY);if (bind(sd, (struct sockaddr *)&server, sizeof(server)) == -1) {fprintf(stderr, Cant bind name to socketn);exit(1);}/* queue up to 5 connect requests */listen(sd, 5);while (1) {client_len = sizeof(client);if ((new_sd = accept(sd, (struct sockaddr *)&client,&client_len)) == -1) { fprintf(stderr, Cant accept clientn); exit(1);}bp = buf;bytes_to_read = BUFLEN;while ((n = read(new_sd, bp, bytes_to_read)) > 0) { bp += n; bytes_to_read -= n;}printf(Recd: %sn, buf);write(new_sd, buf, BUFLEN);printf(Sent: %sn, buf);close(new_sd);}close(sd);return(0);}

اسلاید 75: Example: TCP Echo Client/* A simple TCP client */#include <stdio.h>#include <netdb.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define SERVER_TCP_PORT3000#define BUFLEN256int main(int argc, char **argv){int n, bytes_to_read;int sd, port;struct hostent *hp;struct sockaddr_in server;char *host, *bp, rbuf[BUFLEN], sbuf[BUFLEN];switch(argc) {case 2:host = argv[1];port = SERVER_TCP_PORT;break;case 3:host = argv[1];port = atoi(argv[2]);break;default:fprintf(stderr, Usage: %s host [port]n, argv[0]);exit(1);}/* Create a stream socket */if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {fprintf(stderr, Cant create a socketn);exit(1);}bzero((char *)&server, sizeof(struct sockaddr_in));server.sin_family = AF_INET;server.sin_port = htons(port);if ((hp = gethostbyname(host)) == NULL) {fprintf(stderr, Cant get servers addressn);exit(1);}bcopy(hp->h_addr, (char *)&server.sin_addr, hp->h_length);/* Connecting to the server */if (connect(sd, (struct sockaddr *)&server, sizeof(server)) == -1) {fprintf(stderr, Cant connectn);exit(1);}printf(Connected: servers address is %sn, hp->h_name);printf(Transmit:n);gets(sbuf);write(sd, sbuf, BUFLEN);printf(Receive:n);bp = rbuf;bytes_to_read = BUFLEN;while ((n = read(sd, bp, bytes_to_read)) > 0) {bp += n;bytes_to_read -= n;}printf(%sn, rbuf);close(sd);return(0);}

اسلاید 76: socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()Datasendto()سرور آغاز می شود.Socket یک سوکت از نوع UDP ایجاد می کند.Socket پاسخ call : تعریف کننده و یا 1- در صورت عدم موفقیتBind آدرس محلی و شماره پورت به سوکت اختصاص می دهد ، می تواند از آدرس های wildcard IP استفاده کند.

اسلاید 77: socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()Datasendto()Recvfrom بایت های دریافت شده از یک سوکت را در یک محل مشخص کپی می کند.Recvfrom تا زمانی که داده برسد بلاک می شود.

اسلاید 78: sendto()socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()DataClient آغاز می شود.Socket یک سوکت از نوع UDP ایجاد می کند.Socket پاسخ call : تعریف کننده یا 1- در صورت عدم موفقیت

اسلاید 79: sendto()socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()DataClient آغاز می شود.Sendto انتقال بایت های بافر مشخص به یک سوکت Sendto مشخص می کند: معرف سوکت ، اشاره گر به بافر، مقدار داده، پرچم برای کنترل رفتار ارسال، آدرس مقصد و شمارۀ پورت، طول ساختار آدرس مقصدSendto : تعداد بایت های ارسال شده و یا 1- در صورت عدم موفقیت

اسلاید 80: socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()Datasendto()Recvfrom زمانی که داده ای برسد بیدار می شود.Recvfrom مشخص می کند: معرف سوکت، اشاره گر به بافر برای قرار دادن داده در آن، حداکثر تعداد بایت هایی که می تواند در بافر قرار گیرد، پرچم های کنترلی ، کپی آدرس و شماره پورت فرستنده، طول ساختار آدرس فرستندهRecvfrom : تعداد بایت های دریافت شده یا 1- در صورت شکستتوجه : receivefrom حداکثر داده های مربوط به یک send را از یک دیتاگرام دریافت می کند.

اسلاید 81: socket()فراخوانی های سوکت برای ارتباط های بدون اتصالsendto()socket()recvfrom()DataServerClientbind()Blocks until server receives data from clientrecvfrom()close()close()Datasendto()بستن سوکتClient یا server زمانی که سوکت دیگر لازم نیست close را فراخوانی می کنند.Close معرف سوکت را مشخص می کند.Close مقدار 0 برای موفقیت ویا 1- برای شکست

اسلاید 82: Example: UDP Echo Server/* Echo server using UDP */#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define SERVER_UDP_PORT5000#define MAXLEN4096int main(int argc, char **argv){int sd, client_len, port, n;char buf[MAXLEN];struct sockaddr_in server, client;switch(argc) {case 1:port = SERVER_UDP_PORT;break;case 2:port = atoi(argv[1]);break;default:fprintf(stderr, Usage: %s [port]n, argv[0]);exit(1);}/* Create a datagram socket */if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {fprintf(stderr, Cant create a socketn);exit(1);}/* Bind an address to the socket */bzero((char *)&server, sizeof(server));server.sin_family = AF_INET;server.sin_port = htons(port);server.sin_addr.s_addr = htonl(INADDR_ANY);if (bind(sd, (struct sockaddr *)&server, sizeof(server)) == -1) {fprintf(stderr, Cant bind name to socketn);exit(1);}while (1) {client_len = sizeof(client);if ((n = recvfrom(sd, buf, MAXLEN, 0, (struct sockaddr *)&client, &client_len)) < 0) { fprintf(stderr, Cant receive datagramn); exit(1);}if (sendto(sd, buf, n, 0, (struct sockaddr *)&client, client_len) != n) { fprintf(stderr, Cant send datagramn); exit(1);}}close(sd);return(0);}

اسلاید 83: Example: UDP Echo Client#include <stdio.h>#include <string.h>#include <sys/time.h>#include <netdb.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#define SERVER_UDP_PORT 5000#define MAXLEN 4096#define DEFLEN 64long delay(struct timeval t1, struct timeval t2){ long d; d = (t2.tv_sec - t1.tv_sec) * 1000; d += ((t2.tv_usec - t1.tv_usec + 500) / 1000); return(d);}int main(int argc, char **argv){ int data_size = DEFLEN, port = SERVER_UDP_PORT;int i, j, sd, server_len; char *pname, *host, rbuf[MAXLEN], sbuf[MAXLEN]; struct hostent *hp; struct sockaddr_in server; struct timeval start, end;unsigned long address; pname = argv[0]; argc--; argv++; if (argc > 0 && (strcmp(*argv, -s) == 0)) { if (--argc > 0 && (data_size = atoi(*++argv))) { argc--; argv++; } else { fprintf(stderr, Usage: %s [-s data_size] host [port]n, pname); exit(1);} } if (argc > 0) { host = *argv; if (--argc > 0) port = atoi(*++argv); }else {fprintf(stderr, Usage: %s [-s data_size] host [port]n, pname); exit(1);}if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { fprintf(stderr, Cant create a socketn); exit(1); } bzero((char *)&server, sizeof(server)); server.sin_family = AF_INET; server.sin_port = htons(port); if ((hp = gethostbyname(host)) == NULL) { fprintf(stderr, Cant get servers IP addressn); exit(1); } bcopy(hp->h_addr, (char *) &server.sin_addr, hp->h_length);if (data_size > MAXLEN) { fprintf(stderr, Data is too bign); exit(1); }for (i = 0; i < data_size; i++) { j = (i < 26) ? i : i % 26; sbuf[i] = a + j; } gettimeofday(&start, NULL); /* start delay measurement */server_len = sizeof(server); if (sendto(sd, sbuf, data_size, 0, (struct sockaddr *) &server, server_len) == -1) { fprintf(stderr, sendto errorn); exit(1); }if (recvfrom(sd, rbuf, MAXLEN, 0, (struct sockaddr *) &server, &server_len) < 0) { fprintf(stderr, recvfrom errorn); exit(1); } gettimeofday(&end, NULL); /* end delay measurement */ if (strncmp(sbuf, rbuf, data_size) != 0) printf(Data is corruptedn); close(sd); return(0);}

اسلاید 84: فصل دوم- کاربرد ها و معماری لایه ایپروتکل های لایۀ کاربرد و تسهیلات IP

اسلاید 85: (RFC 854) Telnetامکان ارتباط دو طرفه بر اساس TCP ارائه می دهد( Network Virtual Terminal)ماشین remote با ماشین آغاز کنندۀ ارتباط به صورت محلی برخورد می کند.برای اتصال به پورت سرورها و ارتباط از طریق command line استفاده می شود.NVTNVTServer process

اسلاید 86: ترمینال مجازی شبکهLowest common denominator terminalهر ماشین ویژگی های مورد نیازش را به NVT ، map می کند.گزینه های مذاکره برای ایجاد تغییرات در NVTداده های ورودی به سرور ارسال می شود و با انعکاس دوباره باز می گردد.(echoed back) سرور توابع را کنترل می کند: وقفه ، حذف خروجی ، are-you-there،پاک کردن حروف ، پاک کردن خطبه صورت پیش فرض نیاز به login و کلمۀ عبور دارد.

اسلاید 87: telnetبرنامه ای است که از پروتکل Telnet استفاده می کند.از سوکت TCPاستفاده می کند.حروف تایپ شده را به سرور ارسال می کند.هر حرفی که دریافت شود را چاپ می کند.برای ارسال email و یا بازیابی صفحۀ وب آن را امتحان کنید.

اسلاید 88: پروتکل انتقال فایل File Transfer Protocol (RFC 959)انتقال یک فایل از یک ماشین به دیگری را ارائه می کند.انواع مختلف ذخیره سازی فایل را مخفی می کند.پارامترهای دستور های FTP اطلاعات فایل را مشخص می کنند:نوع فایل: ASCII,EBCDIC,image,localساختار داده: فایل ، رکورد، صفحهمود انتقال: جریان ، بلاک ، فشرده شدهدیگر دستورات FTP: کنترل دسترسی: USER, PASS , CWD , QUIT و ...سرویس: RETR, STOR, PWD, LIST و ...

اسلاید 89: User interfaceUser PIUser DTP PI = Protocol interface DTP = Data transfer processUser FTPServer PIServer DTPServer FTPControlconnectionDataconnectionFTP File Transfer

اسلاید 90: دو ارتباط TCPارتباط کنترلیبرقراری با استفاده از پروتکل Telnet بر روی پورت شناخته شدۀ 21دستورهای FTP و پاسخ های بین مترجم های پروتکلPI فرآیند انتقال داده را کنترل می کند.کاربر درخواست بسته شدن ارتباط کنترلی را می دهد و سرور این عمل را انجام می دهد.ارتباط دادهبرای انتقال فایل ، بدست آوردن لیست فایل ها و فهرست هاهر انتقال نیاز به یک ارتباط دادۀ جدید دارد.Passive open توسط PI کاربر و با پورت موقتشمارۀ پورت از طریق ارتباط کنترلی ارسال می شود.Active open توسط سرور از طریق پورت 20

اسلاید 91: FTP Replies

اسلاید 92: FTP Client (192.168.1.132: 1421) establishes Control Connection to FTP Server (128.100.132.23: 21)

اسلاید 93: User types ls to list files in directory (frame 31 on control) FTP Server (128.100.132.23: 20) establishes Data Connection to FTP Client (192.168.1.132: 1422)

اسلاید 94: User types get index.html to request file transfer in control connection (frame 47 request); File transfer on new data connection (port 1423, fr. 48, 49, 51)

اسلاید 95: Hypertext Transfer ProtocolRFC 1945 (HTTP 1.0), RFC 2616 (HTTP 1.1)HTTP ارتباط بین جستجوگر وب و سرور وب را فراهم می آورد.وب: چارچوبی برای دسترسی به اسناد و منابع از طریق اینترنت.سند Hypertext : text , graphics , image , hyperlinkاسناد توسط Hypertext Markup Language (HTML) تهیه می شوند.

اسلاید 96: پروتکل HTTPسرور HTTP از پورت شناخته شدۀ 80 استفاده می کند.Client درخواست می دهد و server پاسخ می دهد.بدون وضعیت(stateless) : سرور هیچ اطلاعی از client نگهداری نمی کند.HTTP 1.0 برای هر درخواست و هر پاسخ یک ارتباط TCP جدید ایجاد می کند. ( موقتی)HTTP 1.1 عمل پایدار پیش فرض است.

اسلاید 97: HTTP Typical Exchange

اسلاید 98: فرمت پیغام های HTTPپیغام های HTTP به فرمت ASCII text هستند.فرمت پیغام درخواست Request Line (Each line ends with carriage return) Method URL HTTP-Version rn Method specifies action to apply to objectURL specifies objectHeader Lines (Ea. line ends with carriage return)Attribute Name: Attribute Value E.g. type of client, content, identity of requester, … Last header line has extra carriage return)Entity Body (Content)Additional information to server

اسلاید 99: HTTP Request Methods

اسلاید 100: Universal Resource LocatorURL های مطلقscheme://hostname[:port]/pathhttp://www.nytimes.com/URL های نسبی/path/

اسلاید 101: HTTP Request Message

اسلاید 102: پیغام پاسخ در HTTPفرمت پیغام پاسخStatus LineHTTP-Version Status-Code MessageStatus Code: 3-digit code indicating resultE.g. HTTP/1.0 200 OKHeaders SectionInformation about object transferred to clientE.g. server type, content length, content type, …ContentObject (document)

اسلاید 103: HTTP Response Message

اسلاید 104: HTTP Proxy Server & Cachingکاربران وب حجم ترافیک بالایی تولید می کنند.ترافیک باعث ازدحام و تأخیر می شود.می توان ترافیک و تأخیر را در اینترنت با انتقال محتوا به سرور های نزدیک کاربر کاهش داد.سرورهای web proxy اطلاعات وب را کش می کنند.توسط ISP ها استفاده می شوندجستجوگرهای وب مشتریان به گونه ای تنظیم می شوند که ابتدا به سرور های Proxy در ISP ها مراجعه شود.زمانی که proxy پاسخ را داشته باشد سریع پاسخ می دهد و در عیر این صورت آن شی را بازیابی می کند.

اسلاید 105: Cookies and Web SessionsCookie ها داده های تبادل یافته توسط Client ها و server ها به صورت header line هستند.از آنجایی که HTTP بدون وضعیت (stateless) است، cookie ها می توانند زمینه و اطلاعاتی را برای تعاملات HTTP فراهم کنند.Server در پیغام پاسخ ، یک ID مشخص و یکتا برای client ارسال می کند و header line را در cookie تنظیم می کند.از این پس client در پیغام های درخواست ID را هم قرار می دهد.Server می توان فعالیت های client را دنبال کند و آن ها را در پایگاه دادۀ جداگانه ای ذخیره کند و با دسترسی به این پایگاه داده پاسخ مناسب را تولید نماید.

اسلاید 106: Cookie Header Line; ID is 24 hexadecimal numeral

اسلاید 107: PINGکاربردی که مشخص می سازد، آیا یک ماشین قابل دسترس است یا خیر.بر اساس Internet Control Message Protocol است:ICMP ماشین مبدأ را در مورد خطاهای رخ داده در حین پردازش بستۀ IP توسط مسیریاب ها و یا توسط مقصد ، مطلع می سازد.ICMP Echo message از مقصد درخواست پاسخ می کند.PING پیغام echo و شماره ترتیب ارسال می کند.در دسترس بودن و تأخیر رفت و برگشت را مشخص می کند.گاهی به دلایل امنیتی غیر فعال می شود.

اسلاید 108: PING from NAL hostMicrosoft(R) Windows DOS(c)Copyright Microsoft Corp 1990-2001.C:DOCUME~11>ping nal.toronto.eduPinging nal.toronto.edu [128.100.244.3] with 32 bytes of data:Reply from 128.100.244.3: bytes=32 time=84ms TTL=240Reply from 128.100.244.3: bytes=32 time=110ms TTL=240Reply from 128.100.244.3: bytes=32 time=81ms TTL=240Reply from 128.100.244.3: bytes=32 time=79ms TTL=240Ping statistics for 128.100.244.3: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 79ms, Maximum = 110ms, Average = 88msC:DOCUME~11>

اسلاید 109: Tracerouteمسیری بین ماشین محلی و ماشین remote پیدا می کند.Time-to-Live (TTL)بسته های IP دارای فیلد TTL هستند که بیشترین تعداد گامی که پیش از حذف بسته می توان طی شود را مشخص می کند.هر مسیریاب مقدار TTL را یک واحد کاهش می دهد.زمانی که TTL به مقدار 0 رسید ، بسته حذف می شود.Tracerouteبستۀ UDP با TTL برابر 1 به مقصد ارسال می کند.مسیر را با استفاده از پیغام ICMP Time Exceeded پیدا می کند.بستۀ UDP با TTL برابر 2 به مقصد ارسال می کند.هر گام مسیریاب بعدی در مسیر بین مبدأ و مقصد را مشخص می کند.

اسلاید 110: Traceroute from home PC to university hostHome NetworkRogers CableISPOntario NetUniversity ofTorontoHydro OneShaw Net

اسلاید 111: ipconfigامکانی در Microsoft® Windows برای نمایش اطلاعات TCP/IP در یک ماشینگزینه های بسیاری دارد:ساده ترین: IP address, subnet mask, default gateway for the hostاطلاعات راجع به هر واسط IP یک ماشینDNS hostname, IP addresses of DNS servers,physical address of network card, IP address, …تجدید آدرس IP از طریق سرور DHCP

اسلاید 112: netstatدر مورد وضعیت شبکۀ TCP/IP یک ماشین می پرسد.وضعیت driver های شبکه و کارت های واسط آن ها#packets in, #packets out, errored packets, …وضع جدول مسیریابی در ماشینفرآیند های سرور TCP/IP فعالارتباط های TCP فعالش

اسلاید 113: IPv4 Statistics Packets Received = 71271 Received Header Errors = 0 Received Address Errors = 9 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 0 Received Packets Delivered = 71271 Output Requests = 70138 Routing Discards = 0 Discarded Output Packets = 0 Output Packet No Route = 0 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0UDP Statistics for IPv4 Datagrams Received = 6810 No Ports = 15 Receive Errors = 0 Datagrams Sent = 6309ICMPv4 Statistics Received Sent Messages 10 6 Errors 0 0 Destination Unreachable 8 1 Time Exceeded 0 0 Parameter Problems 0 0 Source Quenches 0 0 Redirects 0 0 Echos 0 2 Echo Replies 2 0 Timestamps 0 0 Timestamp Replies 0 0 Address Masks 0 0 Address Mask Replies 0 0 TCP Statistics for IPv4 Active Opens = 798 Passive Opens = 17 Failed Connection Attempts = 13 Reset Connections = 467 Current Connections = 0 Segments Received = 64443 Segments Sent = 63724 Segments Retransmitted = 80netstat protocol statistics

اسلاید 114: tcpdump and Network Protocol Analyzersبرنامۀ tcpdump بسته های IP ای که از واسط شبکه (عموماً اترنت NIC ) را دریافت می کند.فیلتر هایی برای مشخص کردن بسته های مورد علاقه تعریف شده است.بسته ها و پیغام های لایۀ بالاتر می توانند نمایش داده شوند و تحلیل شوند.پایه ای برای تحلیلگر پروتکل های شبکه که برای رفع خطا های شبکه استفاده می شوند.ما از open source Ethereal analyzer برای مثال ها استفاده می کنیم.www.ethereal.com

16,000 تومان

خرید پاورپوینت توسط کلیه کارت‌های شتاب امکان‌پذیر است و بلافاصله پس از خرید، لینک دانلود پاورپوینت در اختیار شما قرار خواهد گرفت.

در صورت عدم رضایت سفارش برگشت و وجه به حساب شما برگشت داده خواهد شد.

در صورت نیاز با شماره 09353405883 در واتساپ، ایتا و روبیکا تماس بگیرید.

افزودن به سبد خرید