UNIVERSITI SAINS MALAYSIA. CST234 Network Programming [Pengaturcaraan Rangkaian]

Similar documents
UNIVERSITI SAINS MALAYSIA. CST332 Internet Protocols. Architecture & Routing [Protokol, Seni Bina & Penghalaan Internet]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

UNIVERSITI SAINS MALAYSIA. CCS521 Advanced Distributed Systems Concepts and Design [Konsep dan Reka Bentuk Sistem Teragih Maju]

UNIVERSITI SAINS MALAYSIA. CST333 Distributed & Grid Computing [Perkomputeran Teragih & Grid]

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

UNIVERSITI SAINS MALAYSIA. CST331 Principles of Parallel & Distributed Programming [Prinsip Pengaturcaraan Selari & Teragih]

UNIVERSITI SAINS MALAYSIA. CPT344 Computer Vision & Image Processing [Penglihatan Komputer & Pemprosesan Imej]

CST234 Network Programming [Pengaturcaraan Rangkaian]

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

UNIVERSITI SAINS MALAYSIA. Peperiksaan Semester Pertama Sidang Akademik 2003/2004. September/Oktober 2003

UNIVERSITI SAINS MALAYSIA. CST334 Network Monitoring & Security [Pengawasan & Keselamatan Rangkaian]

UNIVERSITI SAINS MALAYSIA. CPT211-CPM313 Programming Language Concepts & Paradigm [Konsep & Paradigma Bahasa Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

MSS 317 Coding Theory [Teori Pengekodan]

UNIVERSITI SAINS MALAYSIA. CPT113 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data]

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication & Computer Networks [Rangkaian Komputer & Komunikasi Data Lanjutan]

MSS 318 Discrete Mathematics [Matematik Diskret]

UNIVERSITI SAINS MALAYSIA. CST231/CSM331 Data Communications & Networks [Komunikasi Data & Rangkaian]

UNIVERSITI SAINS MALAYSIA. CST331 Principles of Parallel & Distributed Programming [Prinsip Pengaturcaraan Selari & Teragih]

UNIVERSITI SAINS MALAYSIA

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

EEE 428 SISTEM KOMPUTER

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

UNIVERSITI SAINS MALAYSIA. CST432 Microprocessors & Embedded Systems [Mikropemproses & Sistem Terbenam]

UNIVERSITI SAINS MALAYSIA. CMT422 Multimedia Information Systems & Management [Sistem & Pengurusan Maklumat Multimedia]

...a- JEE ELEKTRONIK DIGIT II. UNlVERSlTl SAINS MALAYSIA. Peperiksaan Semester Kedua Sidang Akademik FebruarVMac 2003.

UNIVERSITI SAINS MALAYSIA. CMT224/CMM221 Multimedia Systems [Sistem Multimedia]

INSTRUCTION: This section consists of TEN (10) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication and Computer Networks [Rangkaian Komputer dan Komunikasi Data Lanjutan]

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CPT111 Principles of Programming [Prinsip Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CPT341 Software Design & Architecture [Reka Bentuk & Seni Bina Perisian]

CST432 Microprocessors & Embedded Systems [Mikropemproses & Sistem Terbenam]

CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

INSTRUCTION: This section consists of TWO (2)short answers and TWO (2) structured essays. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CMT324 Computer Graphics & Visual Computing [Grafik Komputer & Perkomputeran Visual]

CPT211/CPM313 Programming Language Concepts & Paradigms [Konsep & Paradigma Bahasa Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

CPT212 Design & Analysis of Algorithms [Reka Bentuk & Analisis Algoritma]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

PART A SULIT (EKT 221) BAHAGIAN A. Answer ALL questions. Question 1. a) Briefly explain the concept of Clock Gating.

UNIVERSITI SAINS MALAYSIA. CPT103/CPM211 Struktur Data & Paradigma Pengaturcaraan

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

UNIVERSITI SAINS MALAYSIA. CCS523 Computer Security & Cryptography [Keselamatan Komputer & Kriptografi]

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions.

CCS592 Advanced Algorithms and Complexity [Algoritma Lanjutan & Kekompleksan]

EEE348 INTRODUCTION TO INTEGRATED CIRCUIT DESIGN (PENGANTAR REKABENTUK LITAR BERSEPADU)

AUTOMATIC APPLICATION PROGRAMMING INTERFACE FOR MULTI HOP WIRELESS FIDELITY WIRELESS SENSOR NETWORK

MAT181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

UNIVERSITI SAINS MALAYSIA. CPT103/ CPM211 Struktur Data & Paradigma Pengaturcaraan

UNIVERSITI SAINS MALAYSIA. CST334 Network Monitoring & Security [Pengawasan & Keselamatan Rangkaian]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

MAT 181 Programming for Scientific Applications [Pengaturcaraan untuk Penggunaan Sains]

UNIVERSITI SAINS MALAYSIA. CCS513 Computer Vision and Image Analysis [Penglihatan Komputer dan Analisis Imej]

Semasa buku ini ditulis XAMPP mengandungi empat versi:

UNIVERSITI SAINS MALAYSIA. CCS523 Computer Security & Cryptography [Keselamatan Komputer & Kriptografi]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

-2- c) Bincangkan mengapa pemprosesan wafer perlu dijalankan di dalam persekitaran bilik bersih. [30 markah]

Pengenalan Sistem Maklumat Dalam Pendidikan

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

UNIVERSITI SAINS MALAYSIA. CPT212 Design & Analysis of Algorithms [Reka Bentuk & Analisis Algoritma]

EEM 312 ROBOTIK & PENGLIHATAN MESIN

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

UNIVERSITI SAINS MALAYSIA. CST431/CST335 Systems Security & Protection [Keselamatan & Perlindungan Sistem]

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

UNIVERSITI SAINS MALAYSIA. CPT103 Struktur Data & Paradigma Pengaturcaraan

Panduan Pengguna Autodesk Education Community

Lab 4 : Sorting Techniques

Panduan Menggunakan Autoresponder FreeAutobot.com

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS

UNIVERSITI SAINS MALAYSIA. CST231/CSM331 Data Communications & Networks [Komunikasi Data & Rangkaian]

DOKUMEN TIDAK TERKAWAL

INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan.

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI

EEE 355 ROBOTIC & AUTOMATION [Robotik & Pengautomatan]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

Panduan Guru Maker UNO/ Arduino

Persekitaran Pengaturcaraan Arduino

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

PANDUAN PENGGUNA (PENSYARAH)

EEE 449 RANGKAIAN KOMPUTER

VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS

TEKNOLOGI, GADJET & KEIBUBAPAAN

PEPERIKSAAN PERCUBAAN SIJIL PELAJARAN MALAYSIA /1

Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan.

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP

INSTRUCTION: This section consists of TWO (2)structured questions.answer ALL questions.

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA

Bahagian A. Jawab semua soalan. Tulis jawapan anda di ruang yang disediakan pada Helaian Jawapan. Setiap jawapan diperuntukkan satu markah.

Transcription:

UNIVERSITI SAINS MALAYSIA Second Semester Examination 2015/2016 Academic Session June 2016 CST234 Network Programming [Pengaturcaraan Rangkaian] Duration : 2 hours [Masa : 2 jam] INSTRUCTIONS TO CANDIDATE: [ARAHAN KEPADA CALON:] Please ensure that this examination paper contains FOUR questions in SIX printed pages before you begin the examination. [Sila pastikan bahawa kertas peperiksaan ini mengandungi EMPAT soalan di dalam ENAM muka surat yang bercetak sebelum anda memulakan peperiksaan ini.] Answer ALL questions. [Jawab SEMUA soalan.] You may answer the questions either in English or in Bahasa Malaysia. [Anda dibenarkan menjawab soalan sama ada dalam bahasa Inggeris atau bahasa Malaysia.] In the event of any discrepancies, the English version shall be used. [Sekiranya terdapat sebarang percanggahan pada soalan peperiksaan, versi bahasa Inggeris hendaklah diguna pakai.]...2/-

- 2-1. (a) Assume we have two servers (X and Y) and three clients (A, B and C). Each server and client machine has a unique IP address. At the moment, X is connected to A and B, whereas Y is connected to A and C, all via sockets. Anggap kita mempunyai dua pelayan (X dan Y) dan tiga pelanggan (A, B dan C). Setiap mesin pelayan dan pelanggan mempunyai alamat IP yang unik. Buat masa ini, X bersambung dengan A dan B, manakala Y bersambung dengan A dan C, kesemua melalui soket. Can A and B use the same port number when communicating with X? Bolehkah A dan B menggunakan nombor port yang sama apabila berhubung dengan X? When communicating with X, can A use the same port number as used by X? Apabila berhubung dengan X, bolehkah A menggunakan nombor port yang sama seperti digunakan oleh X? Can A use the same port number to connect to both X and Y at the same time? Bolehkah A menggunakan nombor port yang sama untuk berhubung dengan kedua-dua X dan Y pada masa yang sama? Explain each answer. Terangkan setiap jawapan. For each of the following socket functions, indicate whether or not the socket address structure changes after the function completes. Untuk setiap fungsi soket berikut, nyatakan sama ada struktur alamat soket berubah ataupun tidak selepas fungsi soket tersebut selesai. socket( ) connect( ) bind( ) (iv) listen( ) (v) accept( ) (vi) read( ) (vii) write( ) (viii) recvfrom( ) (ix) sendto( ) (x) close( )...3/-

- 3 - (c) A server can use fork( ) or select( ) function to handle multiple clients. Give one (1) advantage and one (1) disadvantage for each function. Suatu pelayan boleh gunakan fungsi fork( ) atau select( )untuk mengendalikan berbilang pelanggan. Berikan satu (1) kebaikan dan satu (1) keburukan bagi setiap fungsi. (5/100) 2. (a) A user has created two echo clients (P and Q) and two echo servers (M and N). Their partial source code is as given below. Assume the remaining code for each one is the normal version for echo client and server, and is working fine. Explain what happens for each of the following scenarios. Seorang pengguna telah menghasilkan dua pelanggan gema (P dan Q) dan dua pelayan gema (M dan N). Kod sumber separa mereka seperti diberikan berikut. Anggap baki kod untuk setiap satu adalah versi biasa untuk pelangan dan pelayan gema, dan ia berlangsung dengan baik. Terangkan apa yang berlaku untuk setiap senario berikut. Client P runs with server N. E.g../EchoClientP 11.22.33.55 Pelanggan P dilaksanakan dengan pelayan N. Contoh:./PelangganGemaP 11.22.33.55 Client Q runs with server M. E.g../EchoClientQ 11.22.33.44 Pelanggan Q dilaksanakan dengan pelayan M. Contoh:./ PelangganGemaQ 11.22.33.44 Client Q runs with server N. E.g../EchoClientQ 11.22.33.55 Pelanggan Q dilaksanakan dengan pelayan N. Contoh:./ PelangganGemaQ 11.22.33.55 Echo Client P Pelanggan Gema P sockfd = Socket(AF_INET, SOCK_STREAM, 0); Inet_pton(AF_INET, argv[1], &servaddr.sin_addr); Echo Server M IP address: 11.22.33.44 Pelayan Gema M Alamat IP: 11.22.33.44 listenfd = Socket(AF_INET, SOCK_STREAM, 0); servaddr.sin_addr.s_addr = htonl(inaddr_any); Bind(listenfd,(SA *) &servaddr, sizeof(servaddr)); Echo Client Q Pelanggan Gema Q sockfd = Socket(AF_INET, SOCK_DGRAM, 0); Inet_pton(AF_INET, argv[1], &servaddr.sin_addr); Echo Server N IP address: 11.22.33.55 Pelayan Gema N Alamat IP: 11.22.33.55 listenfd = Socket(AF_INET, SOCK_DGRAM, 0); servaddr.sin_addr.s_addr = htonl(inaddr_any); Bind(listenfd,(SA *) &servaddr, sizeof(servaddr));...4/-

- 4 - Briefly explain what the following socket options can do. Terangkan secara ringkas apa yang boleh dibuat oleh setiap opsyen soket berikut. (iv) (v) SO_RCVBUF SO_RCVLOWAT IP_TTL IPV6_DONTFRAG IPV6_V6ONLY (c) Let s say we want to start a new internet server using IPv6. This server must be able to handle both IPv4 and IPv6 clients. Katakan kita ingin memulakan suatu pelayan internet baru menggunakan IPv6. Pelayan ini mesti berupaya mengendali kedua-dua pelanggan IPv4 dan IPv6. How should the server be set up? Bagaimana pelayan ini patut didirikan? How an IPv4 client will communicate with the server? Bagaimana pelanggan IPv4 akan berhubung dengan pelayan ini? (5/100) 3. (a) Mobile Applications are becoming more and more common today. Aplikasi Mobil semakin biasa pada masa ini. State four (4) constraints that are faced by mobile application (app) developers when developing software for wireless portable devices. Nyatakan empat (4) sekatan yang dihadapi oleh pembangun aplikasi (app) mobil apabila membangun perisian untuk peranti bimbit wayarles. Two popular platforms for mobile application development are ios and Android. State two (2) reasons why the use of interpreted or byte-code languages are discouraged for ios development. Dua platform popular untuk pembangunan aplikasi mobil adalah ios dan Android. Nyatakan dua (2) sebab mengapa kegunaan bahasa tafsiran atau kod-bait tidak digalakkan untuk pembangunan ios....5/-

- 5 - Briefly explain why the Cocoa Model-View-Controller (MVC) Paradigm in ios is able to achieve a neater software design compared with the Traditional MVC Paradigm. Jelaskan secara ringkas mengapakah Paradigma Pengawal-Pandangan- Model (MVC) dalam ios dapat mencapai reka bentuk perisian yang lebih kemas berbanding dengan Paradigma MVC Tradisional. (16/100) An existing file transfer application developed using BSD Socket programming is being ported to ios. Suatu aplikasi penghantaran fail sedia ada yang dibina secara pengaturcaraan Soket BSD sedang diterjemah kepada ios. State two (2) issues encountered when porting BSD Socket-based software to ios. Nyatakan dua (2) isu yang dialami semasa penterjemahan perisian berdasarkan Soket BSD kepada ios What is the recommended approach for porting TCP-based networking software to ios? Apakah cara yang disyorkan untuk penterjemahan perisian rangkaian berdasarkan TCP kepada ios? If the networking software relies on UDP which is only support by BSD Socket functions, how should the software be modified for ios such that it functions properly? Sekiranya perisian rangkaian bergantung kepada UDP yang hanya dikendalikan oleh fungsi Soket BSD, bagaimanakah perisian harus diubah untuk ios supaya ia berfungsi secara betul? (9/100) 4. Given that an ios-based travel application (app) which allows the user to tag photos with Geolocation information, and upload the photos to the server is being developed, answer the following questions: Diberi suatu aplikasi (app) pelancongan berdasarkan ios yang membolehkan pengguna mentagkan foto dengan maklumat geolokasi dan memuat naik foto kepada pelayan sedang dibina, jawab soalan berikut: (a) The travel application (app) needs to work in complex network environments. State three (3) networking challenges that the application (app) must deal with. Aplikasi (app) pelancongan perlu berfungsi dalam sekitaran rangkaian yang kompleks. Nyatakan tiga (3) cabaran rangkaian yang mesti diatasi oleh aplikasi (app) tersebut. (6/100)...6/-

- 6 - Given that the travel application (app) needs to be able to support photo sharing with friends, state two (2) advantages and two (2) disadvantages of using MultiPeer Connectivity Framework instead of a client-server approach for implementing the feature. Diberi aplikasi (app) pelancongan tersebut perlu kongsikan foto dengan kawan, nyatakan dua (2) kelebihan dan dua (2) kelemahan penggunaan Rangka Kerja Sambungan MultiPeer berbandingan dengan kaedah pelayan-pelanggan untuk melaksanakan ciri tersebut. (8/100) (c) Given that the MultiPeer Connectivity (MPC) Framework in ios has the following components: Advertiser, Browser, Peer and Session. Diberi Rangka Kerja Sambungan MultiPeer (MPC) dalam ios mempunyai komponen berikut: Pengiklan, Penyemak-seimbas, Rakan, dan Sesi. Which of the components in the MPC Framework is responsible for the Service Discovery phase in peer-to-peer networking? Komponen yang manakah dalam Rangka Kerja MPC yang bertanggungjawab untuk fasa Penemuan Perkhidmatan dalam rangkaian rakan-ke-rakan? What is the role of each of the components involved in Service Discovery in 4(c)? Apakah peranan setiap komponen yang terlibat dalam Penemuan Perkhidmatan dalam 4(c)? Data exchange occurs during the Session phase. State three (3) types of data that can be exchanged via the MPC Framework Penyaling-tukaran data berlaku semasa fasa Sesi. Nyatakan tiga (3) jenis data yang boleh disaling-tukar melalui Rangka Kerja MPC. (11/100) - ooooooo -