networking fundamentals
play

Networking Fundamentals 2 Lab Schedule AcEviEes - PowerPoint PPT Presentation

Computer Systems and Networks ECPE 170 Jeff Shafer University of the Pacific Networking Fundamentals 2 Lab Schedule AcEviEes Assignments


  1. ì ¡ Computer ¡Systems ¡and ¡Networks ¡ ECPE ¡170 ¡– ¡Jeff ¡Shafer ¡– ¡University ¡of ¡the ¡Pacific ¡ Networking ¡ Fundamentals ¡

  2. 2 ¡ Lab ¡Schedule ¡ AcEviEes ¡ Assignments ¡Due ¡ ì This ¡Week ¡ ì Lab ¡8 ¡ Network ¡programming ¡ Due ¡by ¡Oct ¡26 th ¡ ¡5:00am ¡ ì ì Lab ¡8 ¡– ¡Network ¡ ì ì Lab ¡9 ¡ Programming ¡ Due ¡by ¡Nov ¡2 nd ¡5:00am ¡ ì Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  3. 3 ¡ Persons ¡of ¡the ¡Day: ¡Vint ¡Cerf ¡/ ¡Bob ¡Kahn ¡ ì Co-­‑designers ¡of ¡TCP/IP ¡ protocol ¡suite ¡ Enables ¡reliable ¡ ì communicaEon ¡across ¡ unreliable ¡network ¡ FoundaJon ¡of ¡Internet ¡ ì ì 2004 ¡ ACM ¡Turing ¡Award ¡ winners ¡(shared) ¡ ì 2005 ¡ Presiden1al ¡Medal ¡of ¡ Freedom ¡winners ¡(shared) ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  4. 4 ¡ Person ¡of ¡the ¡Day: ¡Tim ¡Berners-­‑Lee ¡ ì Inventor ¡of ¡“World ¡Wide ¡ Web” ¡ First ¡implementaEon ¡of ¡ ì HTTP ¡ (HyperText ¡Transfer ¡ Protocol) ¡to ¡communicate ¡ between ¡client ¡and ¡server ¡ ì Knighted ¡by ¡Queen ¡Elizabeth ¡ II ¡in ¡2004 ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  5. 5 ¡ ì ¡ Computer ¡Networks ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  6. 6 ¡ Disclaimer ¡ ì These ¡topics ¡take ¡an ¡enJre ¡semester ¡of ¡COMP ¡177 ¡ (Computer ¡Networking) ¡to ¡explore! ¡ ì A ¡few ¡days ¡ (most ¡of ¡which ¡is ¡lab ¡1me) ¡is ¡only ¡ sufficient ¡for ¡the ¡briefest ¡of ¡overviews… ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  7. 7 ¡ Network ¡Model ¡ Application ¡Layer ¡ (Myriad ¡examples: ¡Web ¡browser, ¡web ¡server, ¡etc…) ¡ Transport ¡Layer ¡ (Reliability ¡– ¡e.g. ¡TCP) ¡ Network ¡Layer ¡ (Global ¡Network ¡– ¡e.g. ¡IP) ¡ Link ¡Layer ¡ (Local ¡Area ¡Network ¡– ¡e.g. ¡Ethernet) ¡ Physical ¡Layer ¡ ¡ (“Bit ¡on ¡a ¡Wire”) ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  8. 8 ¡ Application ¡Layer ¡ Application ¡Layer ¡ HTTP ¡ DNS ¡ IMAP ¡ Skype ¡ BitTorrent ¡ RDP ¡ NTP ¡ NFS ¡ SSH ¡ Sockets ¡ … ¡and ¡many ¡more! ¡ Transport ¡Layer ¡ Network ¡Layer ¡ Link ¡Layer ¡ Physical ¡Layer ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  9. 9 ¡ Application ¡Layer ¡ ì The ¡ applicaJon ¡layer ¡programmer ¡can ¡make ¡many ¡ (fantasEc) ¡assumpEons ¡about ¡the ¡network ¡ The ¡network ¡is ¡reliable ¡ ì ì Messages ¡are ¡not ¡lost ¡ ì Messages ¡are ¡received ¡in ¡the ¡order ¡they ¡are ¡sent ¡ The ¡network ¡can ¡transfer ¡data ¡of ¡infinite ¡length ¡ ì (you ¡can ¡send ¡as ¡much ¡data ¡as ¡desired) ¡ You ¡can ¡deliver ¡messages ¡directly ¡to ¡a ¡specific ¡applicaEon ¡ ì on ¡a ¡specific ¡computer ¡anywhere ¡on ¡the ¡planet ¡ ì The ¡lower ¡layers ¡(transport, ¡network, ¡link, ¡…) ¡do ¡all ¡the ¡ heavy-­‑li`ing ¡to ¡make ¡these ¡assumpEons ¡true ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  10. 10 ¡ Client-­‑Server ¡Architecture ¡ Server ¡ Client ¡ Communicate ¡with ¡server ¡ ì Always-­‑on ¡host ¡ ì May ¡be ¡intermicently ¡ ì ì Always ¡has ¡a ¡known ¡IP ¡ connected ¡ address ¡ May ¡have ¡dynamic ¡IP ¡addresses ¡ ì ì Lots ¡of ¡bandwidth ¡ Do ¡not ¡communicate ¡directly ¡ ì ì Server ¡process : ¡process ¡that ¡ with ¡each ¡other ¡ waits ¡to ¡be ¡contacted ¡ Client ¡process : ¡process ¡that ¡ ì iniEates ¡communicaEon ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  11. 11 ¡ Why ¡Do ¡We ¡Have ¡Sockets? ¡ ì Challenge ¡– ¡ Inter-­‑process ¡communicaJon ¡ ì A ¡ process ¡ is ¡an ¡independent ¡program ¡running ¡on ¡a ¡ host ¡ ì Separate ¡memory ¡space ¡ ì How ¡do ¡processes ¡communicate ¡with ¡other ¡ processes ¡ ì On ¡the ¡same ¡host? ¡ ì On ¡different ¡hosts? ¡ ì Send ¡ messages ¡between ¡each ¡other ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  12. 12 ¡ What ¡is ¡a ¡Socket? ¡ ì An ¡interface ¡between ¡process ¡(applicaEon) ¡and ¡ network ¡ ì The ¡applicaEon ¡creates ¡a ¡socket ¡ ì The ¡socket ¡ type ¡ dictates ¡the ¡style ¡of ¡communicaEon ¡ ì Reliable ¡vs. ¡best ¡effort ¡ ì ConnecEon-­‑oriented ¡vs. ¡connecEonless ¡ ì Once ¡configured ¡the ¡applicaEon ¡can ¡ ì Pass ¡data ¡to ¡the ¡socket ¡for ¡network ¡transmission ¡ ì Receive ¡data ¡from ¡the ¡socket ¡(transmiced ¡through ¡ the ¡network ¡by ¡some ¡other ¡host) ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  13. 13 ¡ What ¡is ¡a ¡Socket? ¡ Process ¡sends/receives ¡messages ¡ ì host ¡or ¡ host ¡or ¡ to/from ¡its ¡socket ¡ server ¡ server ¡ Socket ¡analogous ¡to ¡door ¡ ì controlled ¡by ¡ Sending ¡process ¡shoves ¡message ¡ ì app ¡developer ¡ out ¡door ¡ process ¡ process ¡ Transport ¡infrastructure ¡on ¡other ¡ ì socket ¡ socket ¡ side ¡of ¡door ¡carries ¡message ¡to ¡ TCP ¡with ¡ TCP ¡with ¡ socket ¡at ¡receiving ¡process ¡ Internet ¡ buffers, ¡ buffers, ¡ Imagine ¡you ¡are ¡just ¡wriJng ¡to ¡a ¡ ì variables ¡ variables ¡ file… ¡ API ¡allow ¡customizaEon ¡of ¡socket ¡ controlled ¡ ì by ¡OS ¡ Choose ¡transport ¡protocol ¡ ì Choose ¡parameters ¡of ¡protocol ¡ ì Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  14. 14 ¡ Addressing ¡Processes ¡ ì To ¡receive ¡messages, ¡each ¡process ¡on ¡a ¡host ¡must ¡ have ¡an ¡ idenJfier ¡ ì IP ¡addresses ¡are ¡unique ¡ ì Is ¡this ¡sufficient? ¡ ì No, ¡there ¡can ¡thousands ¡of ¡processes ¡running ¡on ¡a ¡ single ¡machine ¡(with ¡one ¡IP ¡address) ¡ ì IdenEfier ¡must ¡include ¡ ì IP ¡address ¡ ì and ¡port ¡number ¡(example: ¡80 ¡for ¡web) ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  15. 15 ¡ Ports ¡ ì Each ¡host ¡has ¡ Port ¡0 ¡ ¡65,536 ¡ports ¡ Port ¡1 ¡ ì Some ¡ports ¡are ¡ ¡ reserved ¡for ¡ ¡ Port ¡65535 ¡ specific ¡apps ¡ ì FTP ¡(20, ¡21), ¡Telnet ¡(23), ¡HTTP ¡(80), ¡etc… ¡ ì Outgoing ¡ports ¡(on ¡clients) ¡can ¡be ¡dynamically ¡assigned ¡by ¡ OS ¡in ¡upper ¡region ¡(above ¡49,152) ¡– ¡called ¡ ephemeral ¡ports ¡ ì See ¡ hcp://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers ¡ ¡ ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  16. 16 ¡ Socket ¡Usage: ¡Client ¡Program ¡ ì Basic ¡socket ¡funcEons ¡for ¡ connecJon-­‑oriented ¡ (TCP) ¡clients ¡ create ¡the ¡socket ¡descriptor ¡ 1. socket() connect ¡to ¡the ¡remote ¡server ¡ 2. connect() 3. send(),recv() ¡communicate ¡with ¡the ¡server ¡ 4. close() ¡ ¡end ¡communicaEon ¡by ¡closing ¡ ¡ ¡ ¡socket ¡descriptor ¡ ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

  17. 17 ¡ Application-­‑Layer ¡Protocol ¡ ì Sockets ¡just ¡allow ¡us ¡to ¡send ¡raw ¡messages ¡ between ¡processes ¡on ¡different ¡hosts ¡ ì Transport ¡service ¡takes ¡care ¡of ¡moving ¡the ¡data ¡ ì What ¡exactly ¡is ¡sent ¡is ¡up ¡to ¡the ¡applicaEon ¡ ì An ¡ applicaJon-­‑layer ¡protocol ¡ ì HTTP, ¡NTP, ¡IMAP, ¡SFTP, ¡Skype, ¡etc… ¡ Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2015 ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend