Download presentation
Presentation is loading. Please wait.
1
Chapter 2 Application Layer
طبقة التطبيقات. Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Application Layer 2-1
2
Chapter 2: outline 2.1 Intrudction to Application Layer
الخطوط العريضة 2.1 Intrudction to Application Layer 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.1 مقدمة في طبقة التطبيق 2.2 الويب و هتب 2.3 فتب 2.4 البريد الإلكتروني • سمتب، POP3، إماب 2.5 نظام أسماء النطاقات Application Layer 2-2
3
Chapter 2: application layer
طبقة التطبيقات Lecture Objectives: conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm peer-to-peer paradigm - محاضرات الأهداف: المفاهيمية، وتنفيذ جوانب بروتوكولات تطبيق الشبكة * نماذج خدمة النقل * نموذج خادم العميل * نظير إلى نظير learn about protocols by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP DNS - تعرف على البروتوكولات عن طريق فحص بروتوكولات شعبية على مستوى التطبيق HTTP* FTP* SMTP / POP3 / IMAP* DNS* Application Layer 2-3
4
Some network apps e-mail web voice over IP (e.g., Skype)
بعض تطبيقات الشبكة web text messaging remote login P2P file sharing multi-user network games streaming stored video (YouTube, Hulu, Netflix) voice over IP (e.g., Skype) real-time video conferencing social networking search … * البريد الإلكتروني * شبكة * الرسائل النصية * الدخول عن بعد تبادل الملفات P2P* * ومتعددة المستخدمين ألعاب الشبكة * بث الفيديو المخزن (يوتوب، هولو، نيتفليكس) - صوت عبر بروتوكول الإنترنت (مثل سكايب) * في الوقت الحقيقي مؤتمرات الفيديو * شبكات التواصل الاجتماعي * بحث Application Layer 2-4
5
Creating a network app write programs that:
application transport network data link physical إنشاء تطبيق شبكة write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical - لا حاجة لكتابة البرمجيات لأجهزة الشبكة الأساسية * أجهزة الشبكة الأساسية لا تشغيل تطبيقات المستخدم * التطبيقات على أنظمة نهاية يسمح لتطوير التطبيق السريع، ونشر. كتابة البرامج التي: * تشغيل على (مختلف) أنظمة نهاية * التواصل عبر الشبكة * على سبيل المثال، يتواصل برنامج خادم الويب مع برامج المتصفح... Application Layer 2-5
6
Application architectures
أبنية التطبيق possible structure of applications: client-server peer-to-peer (P2P) - الهيكل المحتمل للتطبيقات: * خدمة الزبائن )P2P* الند للند ( Application Layer 2-6 6
7
Client-server architecture
بنية خادم العميل 2-7 server: always-on host permanent IP address data centers for scaling clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other client/server - عملاء: * التواصل مع الخادم * قد تكون متصلة بشكل متقطع قد يكون لديك عناوين IP * ديناميكية * لا يمكنهم التواصل مباشرة مع بعضها البعض - الخادم: * دائما على المضيف عنوان IP * الدائم * مراكز البيانات من أجل توسيع نطاق
8
P2P architecture no always-on server
arbitrary end systems directly communicate peers request service from other peers, provide service in return to other peers self scalability – new peers bring new service capacity, as well as new service demands peers are intermittently connected and change IP addresses complex management peer-peer *لا دائما على الخادم *نظم نهاية التعسفية التواصل مباشرة *أقرانهم طلب الخدمة من أقرانهم الآخرين، وتوفير الخدمة في المقابل إلى أقرانهم الآخرين - قابلية الذات - أقرانهم الجدد تجلب قدرة خدمة جديدة، فضلا عن مطالب الخدمة الجديدة الأقران ومتقطع توصيل وتغيير عناوين IP* -إدارة معقدة Application Layer 2-8
9
App-layer protocol defines
ويحدد بروتوكول التطبيق طبقة. types of messages exchanged, e.g., request, response message syntax: what fields in messages & how fields are delineated message semantics meaning of information in fields rules for when and how processes send & respond to messages open protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP proprietary protocols: e.g., Skype - بروتوكولات مفتوحة: *المعرفة في طلبات إعادة التأهيل *يسمح للتشغيل البيني على سبيل المثال، HTTP، SMTP - بروتوكولات الملكية: *على سبيل المثال، سكايب *أنواع الرسائل المتبادلة، - مثل الطلب والاستجابة *بنية الرسالة: - ما الحقول في الرسائل وكيف يتم تحديد الحقول *رسالة الدلالات - معنى المعلومات في الحقول *قواعد, لوقت وكيفية إرسال العمليات والرد على الرسائل Application Layer 2-9 9
10
What transport service does an app need?
ما خدمة النقل التي يحتاجها التطبيق؟ data integrity some apps (e.g., file transfer, web transactions) require 100% reliable data transfer other apps (e.g., audio) can tolerate some loss throughput some apps (e.g., multimedia) require minimum amount of throughput to be “effective” other apps (“elastic apps”) make use of whatever throughput they get تكامل البيانات *تتطلب بعض التطبيقات (مثل نقل الملفات ومعاملات الويب) نقل بيانات موثوق بها بنسبة 100٪ *يمكن للتطبيقات الأخرى (مثل الصوت) تحمل بعض الخسائر الإنتاجية *بعض التطبيقات (مثل الوسائط المتعددة) تتطلب الحد الأدنى من الإنتاجية لتكون "فعالة" *تطبيقات أخرى ("تطبيقات مرنة") الاستفادة من أي الإنتاجية التي تحصل عليها timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” security encryption, data integrity, … توقيت *تتطلب بعض التطبيقات (على سبيل المثال، المهاتفة عبر الإنترنت والألعاب التفاعلية) تأخيرا منخفضا ليكون "فعالا" الأمان التشفير، سلامة البيانات، Application Layer 2-10 10
11
Web and HTTP First, a review… web page consists of objects
أولا، مراجعة ... *تتكون صفحة الويب من الكائنات * الكائن يمكن أن يكون ملف HTML، صورة JPEG، برنامج Java، ملف صوتي، ... * يتكون صفحة ويب من قاعدة HTML ملف الذي يتضمن العديد من الكائنات المشار إليها * كل كائن هو عنونة من قبل URL، على سبيل المثال، First, a review… web page consists of objects object can be HTML file, JPEG image, Java applet, audio file,… web page consists of base HTML-file which includes several referenced objects each object is addressable by a URL, e.g., host name path name Application Layer 2-11
12
HTTP overview HTTP: hypertext transfer protocol
نظرة عامة HTTP: hypertext transfer protocol Web’s application layer protocol client/server model client: browser that requests, receives, (using HTTP protocol) and “displays” Web objects server: Web server sends (using HTTP protocol) objects in response to requests HTTP request HTTP response PC running Firefox browser HTTP request HTTP response server running Apache Web HTTP: بروتوكول نقل النص التشعبي *بروتوكول طبقة تطبيقات الويب *العميل / نموذج الخادم -العميل: المتصفح الذي يطلب، يتلقى، (باستخدام بروتوكول هتب) و "يعرض" كائنات ويب -الخادم: يرسل ملقم ويب (باستخدام بروتوكول هتب) كائنات استجابة للطلبات iphone running Safari browser Application Layer 2-12
13
HTTP overview (continued)
uses TCP: client initiates TCP connection (creates socket) to server, port 80 server accepts TCP connection from client HTTP messages (application- layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server) TCP connection closed HTTP is “stateless” server maintains no information about past client requests "بلا جنسية" لا يحتفظ الخادم بأي معلومات حول طلبات العملاء السابقة aside protocols that maintain “state” are complex! past history (state) must be maintained if server/client crashes, their views of “state” may be inconsistent, must be reconciled يستخدم TCP: يبدأ العميل اتصال TCP (يخلق مقبس) *إلى الخادم، المنفذ 80 *يقبل الخادم اتصال TCP من العميل *يتم تبادل رسائل هتب (رسائل بروتوكول طبقة التطبيق) بين المتصفح (عميل هتب) وخادم الويب (خادم هتب) اتصال TCP *مغلق البروتوكولات التي تحافظ على "الدولة" معقدة! * يجب الحفاظ على التاريخ (الدولة) الماضي * إذا تعطل الخادم / العميل، قد تكون وجهات نظرهم "الدولة" غير متناسقة، يجب التوفيق بينها Application Layer 2-13 13
14
HTTP request message two types of HTTP messages: request, response
ASCII (human-readable format) * نوعين من الرسائل .HTTP: طلب والاستجابة. *HTTP رسالة الطلب: - ASCII (شكل الإنسان للقراءة) خط الطلب )GET ,post, أوامر HEAD) carriage return character line-feed character request line (GET, POST, HEAD commands) GET /index.html HTTP/1.1\r\n Host: www-net.cs.umass.edu\r\n User-Agent: Firefox/3.6.10\r\n Accept: text/html,application/xhtml+xml\r\n Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO ,utf-8;q=0.7\r\n Keep-Alive: 115\r\n Connection: keep-alive\r\n \r\n header lines خطوط الرأس. carriage return, line feed at start of line indicates end of header lines إرجاع، سطر تغذية في بداية من يشير الخط نهاية خطوط الرأس Application Layer 2-14 14
15
HTTP request message: general format
line طلب خط method sp URL sp version cr lf cr lf value header field name header lines رأسية خطوط ~ ~ cr lf value header field name cr lf ~ entity body ~ body هيكل Application Layer 2-15 15
16
Uploading form input POST method: URL method:
تحميل إدخال النموذج POST method: web page often includes form input input is uploaded to server in entity body طريقةPOST * غالبا ما تتضمن صفحة الويب إدخال النموذج * يتم تحميل المدخلات إلى الخادم في هيئة الكيان URL method: uses GET method input is uploaded in URL field of request line: طريقة URL يستخدم طريقة GET * يتم تحميل الإدخال في حقل URL من خط الطلب: Application Layer 2-16 16
17
Method types HTTP/1.0: HTTP/1.1: GET GET, POST, HEAD POST PUT HEAD
أنواع الطريقة HTTP/1.0: GET POST HEAD asks server to leave requested object out of response HTTP/1.1: GET, POST, HEAD PUT uploads file in entity body to path specified in URL field DELETE deletes file specified in the URL field ملف الإضافات في نص الكيان إلى المسار المحدد في الحقل URL يطلب من الخادم ترك الكائن المطلوب من الاستجابة حذف الملف المحدد في حقل URL Application Layer 2-17
18
HTTP response message status line (protocol status code status phrase)
HTTP/ OK\r\n Date: Sun, 26 Sep :09:20 GMT\r\n Server: Apache/ (CentOS)\r\n Last-Modified: Tue, 30 Oct :00:02 GMT\r\n ETag: "17dc6-a5c-bf716880"\r\n Accept-Ranges: bytes\r\n Content-Length: 2652\r\n Keep-Alive: timeout=10, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=ISO \r\n \r\n data data data data data ... header lines data, e.g., requested HTML file Application Layer 2-18
19
HTTP response status codes
status code appears in 1st line in server-to-client response message. some sample codes: يظهر رمز الحالة في السطر الأول في رسالة استجابة من خادم إلى عميل بعض رموز العينة 200 OK request succeeded, requested object later in this msg 301 Moved Permanently requested object moved, new location specified later in this msg (Location:) 400 Bad Request request msg not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported Application Layer 2-19
20
FTP: the file transfer protocol
بروتوكول نقل الملفات file transfer FTP user interface client FTP server user at host remote file system local file system transfer file to/from remote host client/server model client: side that initiates transfer (either to/from remote) server: remote host ftp: RFC 959 ftp server: port 21 نقل ملف إلى / من المضيف البعيد العميل / نموذج الخادم العميل: الجانب الذي يبدأ نقل (إما إلى / من بعيد) الخادم: المضيف البعيد بروتوكول نقل الملفات: RFC 959 خادم FTP: منفذ 21 Application Layer 2-20
21
FTP: separate control, data connections
تحكم منفصل، اتصالات البيانات FTP client contacts FTP server at port 21, using TCP client authorized over control connection client browses remote directory, sends commands over control connection when server receives file transfer command, server opens 2nd TCP data connection (for file) to client after transferring one file, server closes data connection TCP control connection, server port 21 TCP data connection, server port 20 FTP client FTP server server opens another TCP data connection to transfer another file control connection: “out of band” FTP server maintains “state”: current directory, earlier authentication اتصالات عميل فتب خادم فتب في المنفذ 21، وذلك باستخدام تكب العميل المصرح به عبر اتصال التحكم العميل يتصفح الدليل البعيد، يرسل الأوامر عبر اتصال التحكم عندما يتلقى الخادم أمر نقل الملفات، يفتح الخادم اتصال بيانات تكب 2 (للملف) إلى العميل بعد نقل ملف واحد، يغلق الخادم اتصال البيانات يقوم الخادم بفتح اتصال بيانات تكب آخر لنقل ملف آخر التحكم في الاتصال: "خارج النطاق" خادم فتب يحافظ على "الحالة": الدليل الحالي، المصادقة السابقة Application Layer 2-21
22
FTP commands, responses
الأوامر، الردود sample return codes status code and phrase (as in HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file sample commands: sent as ASCII text over control channel USER username PASS password LIST return list of file in current directory RETR filename retrieves (gets) file STOR filename stores (puts) file onto remote host نموذج رموز العودة رمز الحالة والعبارة (كما في هتب) 331 اسم المستخدم موافق، كلمة المرور مطلوبة 125 اتصال البيانات مفتوحة بالفعل؛ بدء النقل 425 لا يمكن فتح اتصال البيانات 452 خطأ في كتابة الملف نماذج الأوامر: أرسلت كنص ASCII على قناة التحكم USER إسم المستخدم باس كلمة المرور ليست قائمة إرجاع الملف في الدليل الحالي اسم الملف ريتر يسترد (يحصل) الملف ستور اسم الملف يخزن (يضع) الملف على المضيف البعيد Application Layer 2-22
23
Electronic mail Three major components: User Agent SMTP user agents
بريد إلكتروني user mailbox outgoing message queue Three major components: user agents mail servers simple mail transfer protocol: SMTP User Agent a.k.a. “mail reader” composing, editing, reading mail messages e.g., Outlook, Thunderbird, iPhone mail client outgoing, incoming messages stored on server mail server SMTP user agent ثلاثة مكونات رئيسية: وكلاء المستخدم خوادم البريد بروتوكول نقل البريد البسيط: سمتب وكيل المستخدم "قارئ البريد" تأليف، تحرير، قراءة رسائل البريد على سبيل المثال، أوتلوك، ثوندربيرد، عميل بريد إفون الصادرة، والرسائل الواردة المخزنة على الخادم Application Layer 2-23
24
Electronic mail: mail servers
البريد الإلكتروني: خوادم البريد mail servers: mailbox contains incoming messages for user message queue of outgoing (to be sent) mail messages SMTP protocol between mail servers to send messages client: sending mail server “server”: receiving mail server user agent mail server user agent SMTP mail server user agent SMTP SMTP user agent mail server خوادم البريد: يحتوي صندوق البريد على رسائل واردة للمستخدم قائمة انتظار رسائل البريد الصادر (المراد إرسالها) بروتوكول سمتب بين وحدات خدمة البريد لإرسال رسائل البريد الإلكتروني العميل: إرسال خادم البريد "سيرفر": استقبال خادم البريد user agent user agent Application Layer 2-24
25
Electronic Mail: SMTP [RFC 2821]
uses TCP to reliably transfer message from client to server, port 25 direct transfer: sending server to receiving server three phases of transfer handshaking (greeting) transfer of messages closure command/response interaction (like HTTP, FTP) commands: ASCII text response: status code and phrase messages must be in 7-bit ASCI يستخدم تكب لنقل رسالة البريد الإلكتروني بشكل موثوق من العميل إلى الخادم، المنفذ 25 نقل مباشر: إرسال خادم إلى خادم استقبال ثلاث مراحل للنقل مصافحة (تحية) نقل الرسائل إغلاق تفاعل القيادة / الاستجابة (مثل هتب، فتب) الأوامر: نص أسي الاستجابة: رمز الحالة والعبارة يجب أن تكون الرسائل في أسكي 7 بت Application Layer 2-25
26
Scenario: Alice sends message to Bob
السيناريو: أليس يرسل رسالة إلى بوب 1) Alice uses UA to compose message “to” 2) Alice’s UA sends message to her mail server; message placed in message queue 3) client side of SMTP opens TCP connection with Bob’s mail server 4) SMTP client sends Alice’s message over the TCP connection 5) Bob’s mail server places the message in Bob’s mailbox 6) Bob invokes his user agent to read message 1) تستخدم أليس وا لتأسيس رسالة "إلى" 2) و وا يرسل رسالة إلى خادم البريد لها. رسالة وضعت في قائمة انتظار الرسائل 3) جانب العميل من سمتب يفتح اتصال تكب مع خادم بريد بوب 4) يرسل عميل سمتب رسالة أليس عبر اتصال تكب 5) يضع خادم بريد بوب الرسالة في صندوق بريد بوب 6) بوب استدعاء وكيل المستخدم لقراءة الرسالة user agent user agent 1 mail server mail server 2 3 6 4 5 Alice’s mail server Bob’s mail server Application Layer 2-26
27
Sample SMTP interaction
S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection Application Layer 2-27 27
28
Try SMTP interaction for yourself:
telnet servername 25 see 220 reply from server enter HELO, MAIL FROM, RCPT TO, DATA, QUIT commands above lets you send without using client (reader) Application Layer 2-28 28
29
SMTP: final words comparison with HTTP:
الكلمات الأخيرة comparison with HTTP: HTTP: pull SMTP: push both have ASCII command/response interaction, status codes HTTP: each object encapsulated in its own response msg SMTP: multiple objects sent in multipart msg SMTP uses persistent connections SMTP requires message (header & body) to be in 7-bit ASCII SMTP server uses CRLF.CRLF to determine end of message يستخدم سمتب اتصالات مستمرة يتطلب سمتب رسالة (الرأس والجسم) لتكون في أسي 7 بت يستخدم خادم سمتب CRLF.CRLF لتحديد نهاية الرسالة مقارنة مع هتب: هتب: سحب سمتب: دفع على حد سواء تفاعل أسي / الأمر أسي، رموز الحالة هتب: كل كائن مغلف في الاستجابة الخاصة به مسغ سمتب: كائنات متعددة أرسلت في مسغ متعددة Application Layer 2-29 29
30
Mail message format SMTP: protocol for exchanging email msgs header
تنسيق رسالة البريد SMTP: protocol for exchanging msgs RFC 822: standard for text message format: header lines, e.g., To: From: Subject: different from SMTP MAIL FROM, RCPT TO: commands! Body: the “message” ASCII characters only header blank line body سمتب: بروتوكول لتبادل رسائل البريد الإلكتروني رك 822: معيار نسق رسالة نصية: خطوط الرأس، على سبيل المثال، إلى: من عند: موضوع: مختلفة من سمتب ميل فروم، ربت إلى: الأوامر! الجسم: "رسالة" أحرف ASCII فقط Application Layer 2-30 30
31
بروتوكولات الوصول للبريد
Mail access protocols بروتوكولات الوصول للبريد mail access protocol user agent SMTP SMTP user agent sender’s mail server (e.g., POP, IMAP) receiver’s mail server SMTP: delivery/storage to receiver’s server mail access protocol: retrieval from server POP: Post Office Protocol [RFC 1939]: authorization, download IMAP: Internet Mail Access Protocol [RFC 1730]: more features, including manipulation of stored msgs on server HTTP: gmail, Hotmail, Yahoo! Mail, etc. سمتب: التسليم / التخزين إلى خادم المتلقي بروتوكول الوصول إلى البريد: استرجاع من الخادم بوب: بروتوكول مكتب البريد [رك 1939]: إذن، تنزيل إماب: بروتوكول الوصول إلى البريد الإلكتروني [رك 1730]: المزيد من الميزات، بما في ذلك التلاعب بالرسائل المخزنة على الخادم هتب: غميل، هوتميل، Yahoo! البريد، وما إلى ذلك Application Layer 2-31 31
32
DNS: domain name system
نظام اسم النطاق Domain Name System: distributed database implemented in hierarchy of many name servers application-layer protocol: hosts, name servers communicate to resolve names (address/name translation) note: core Internet function, implemented as application- layer protocol complexity at network’s “edge” people: many identifiers: SSN, name, passport # Internet hosts, routers: IP address (32 bit) - used for addressing datagrams “name”, e.g., - used by humans الناس: العديد من المعرفات: سن، الاسم، جواز السفر # مضيفات الإنترنت، والموجهات: عنوان إب (32 بت) - يستخدم لمعالجة مخططات البيانات "نيم"، على سبيل المثال، - يستخدمها البشر قاعدة بيانات موزعة تنفذ في التسلسل الهرمي للعديد من خوادم الأسماء بروتوكول طبقة التطبيق: المضيفين، وخوادم الأسماء التواصل لحل الأسماء (عنوان / اسم الترجمة) ملاحظة: الأساسية وظيفة الإنترنت، نفذت بروتوكول تطبيق طبقة التعقيد في "حافة" الشبكة Application Layer 2-32 32
33
DNS: services, structure
الخدمات، هيكل DNS services hostname to IP address translation host aliasing canonical, alias names mail server aliasing load distribution replicated Web servers: many IP addresses correspond to one name why not centralize DNS? single point of failure traffic volume distant centralized database maintenance لماذا لا مركزية DNS؟ نقطة واحدة من الفشل حجم حركة المرور قاعدة بيانات مركزية بعيدة اعمال صيانة اسم المضيف لترجمة عنوان IP استضافة التسمية الأسماء المستعارة، الاسم المستعار تعريفات خادم البريد توزيع الحمولة خوادم الويب المتماثلة: العديد من عناوين إب تتوافق مع اسم واحد Application Layer 2-33
34
DNS: a distributed, hierarchical database
قاعدة بيانات موزعة هرمية Root DNS Servers com DNS servers org DNS servers edu DNS servers poly.edu DNS servers umass.edu yahoo.com amazon.com pbs.org … … client wants IP for 1st approx: client queries root server to find com DNS server client queries .com DNS server to get amazon.com DNS server client queries amazon.com DNS server to get IP address for العميل يريد إب ل 1 تقريبا: العميل الاستعلام خادم الجذر للعثور على خادم دنس كوم استعلامات العميل .com خادم دنس للحصول على amazon.com ملقم دنس العميل استفسارات amazon.com خادم دنس للحصول على عنوان إب ل Application Layer 2-34
35
DNS: root name servers خوادم اسم الجذر contacted by local name server that can not resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server *تم الاتصال به من قبل خادم الاسم المحلي الذي لا يمكن حل الاسم *خادم اسم الجذر: -اتصالات اسم الخادم الرسمي إذا تعيين اسم غير معروف -يحصل على رسم الخرائط -إرجاع التعيين إلى خادم الاسم المحلي c. Cogent, Herndon, VA (5 other sites) d. U Maryland College Park, MD h. ARL Aberdeen, MD j. Verisign, Dulles VA (69 other sites ) k. RIPE London (17 other sites) i. Netnod, Stockholm (37 other sites) e. NASA Mt View, CA f. Internet Software C. Palo Alto, CA (and 48 other sites) m. WIDE Tokyo (5 other sites) 13 root name “servers” worldwide a. Verisign, Los Angeles CA (5 other sites) b. USC-ISI Marina del Rey, CA l. ICANN Los Angeles, CA (41 other sites) g. US DoD Columbus, OH (5 other sites) Application Layer 2-35 35
36
DNS name resolution example
الاسم؟ القرار المثال root DNS server 2 host at cis.poly.edu wants IP address for gaia.cs.umass.edu 3 TLD DNS server 4 5 المضيف في cis.poly.edu يريد عنوان إب ل gaia.cs.umass.edu iterated query: contacted server replies with name of server to contact “I don’t know this name, but ask this server” local DNS server dns.poly.edu 7 6 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu تكرار الاستعلام: اتصلت ردود الخادم مع اسم الخادم للاتصال "أنا لا أعرف هذا الاسم، ولكن اسأل هذا الخادم" gaia.cs.umass.edu Application Layer 2-36
37
authoritative DNS server
DNS name resolution example root DNS server 2 3 recursive query: puts burden of name resolution on contacted name server heavy load at upper levels of hierarchy? 7 6 TLD DNS server local DNS server dns.poly.edu 4 5 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu الاستعلام المتكرر: يضع عبء اسم القرار على الاتصال اسم الخادم الحمل الثقيل في المستويات العليا من التسلسل الهرمي؟ gaia.cs.umass.edu Application Layer 2-37
38
DNS protocol, messages بروتوكول، رسائل query and reply messages, both with same message format 2 bytes 2 bytes رسائل الاستعلام والرد، وكلاهما مع نفس تنسيق الرسالة identification flags # questions questions (variable # of questions) # additional RRs # authority RRs # answer RRs answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs) msg header identification: 16 bit # for query, reply to query uses same # flags: query or reply recursion desired recursion available reply is authoritative مسغ هيدر تحديد: 16 بت # للاستعلام، يستخدم الرد على الاستعلام نفس # الأعلام: الاستعلام أو الرد العودية المطلوبة العودية المتاحة الرد موثوق Application Layer 2-38
39
DNS protocol, messages name, type fields for a query RRs in response
2 bytes 2 bytes identification flags # questions questions (variable # of questions) # additional RRs # authority RRs # answer RRs answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs) اسم، حقول نوع لطلب البحث name, type fields for a query رس استجابة للاستعلام RRs in response to query سجلات ل خوادم موثوقة records for authoritative servers additional “helpful” info that may be used إضافية "مفيدة" المعلومات التي يمكن استخدامها Application Layer 2-39
40
Chapter 2: summary our study of network apps now complete!
ملخص our study of network apps now complete! دراستنا من تطبيقات الشبكة كاملة الآن! بروتوكولات محددة application architectures client-server P2P application service requirements: reliability, bandwidth, delay Internet transport service model connection-oriented, reliable: TCP unreliable, datagrams: UDP specific protocols: HTTP FTP SMTP, POP, IMAP DNS P2P: BitTorrent, DHT socket programming: TCP, UDP sockets أبنية التطبيق خدمة الزبائن P2P متطلبات خدمة التطبيق: والموثوقية، وعرض النطاق الترددي، والتأخير خدمة الإنترنت نموذج الخدمة اتصال المنحى، يمكن الاعتماد عليها: تكب غير موثوق بها، داتاغرامز: أودب برمجة المقبس Application Layer 2-40
41
Chapter 2: summary most importantly: learned about protocols!
typical request/reply message exchange: client requests info or service server responds with data, status code message formats: headers: fields giving info about data data: info being communicated important themes: control vs. data msgs in-band, out-of-band centralized vs. decentralized stateless vs. stateful reliable vs. unreliable msg transfer “complexity at network edge” Application Layer 2-41
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.