elec comp 177 fall 2012
play

ELEC / COMP 177 Fall 2012 Some slides from Kurose - PowerPoint PPT Presentation

ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking , 5 th Edition Homework #1 Assigned today Due in one


  1. ELEC ¡/ ¡COMP ¡177 ¡– ¡Fall ¡2012 ¡ Some ¡slides ¡from ¡Kurose ¡and ¡Ross, ¡ Computer ¡Networking , ¡5 th ¡Edition ¡

  2. ¡ Homework ¡#1 ¡ § Assigned ¡today ¡ § Due ¡in ¡one ¡week ¡ § Application ¡layer: ¡DNS, ¡HTTP, ¡protocols ¡ ▪ Recommend ¡you ¡start ¡early ¡so ¡we ¡can ¡discuss ¡ questions ¡on ¡Tuesday ¡ § Submit ¡PDF ¡file ¡online ¡via ¡Sakai ¡ 2 ¡

  3. 3 ¡

  4. Application ¡Layer ¡ Transport ¡Layer ¡ Network ¡Layer ¡ Link ¡Layer ¡ Physical ¡Layer ¡ 4 ¡

  5. Application ¡Layer ¡ Transport ¡Layer ¡ Network ¡Layer ¡ Link ¡Layer ¡ Physical ¡Layer ¡ “Bits ¡on ¡a ¡wire” ¡ Encoding ¡schemes ¡ fight: ¡ attenuation ¡ distortion ¡ clock ¡skew ¡ 5 ¡

  6. Application ¡Layer ¡ Transport ¡Layer ¡ Network ¡Layer ¡ Link ¡Layer ¡ Transfer ¡ between ¡ Ethernet! ¡ neighbors ¡ Framing ¡ MAC ¡addresses ¡ Media ¡Access ¡ Control ¡ Error ¡Detection ¡ Hubs ¡& ¡Switches ¡ Physical ¡Layer ¡ 6 ¡

  7. Application ¡Layer ¡ Transport ¡Layer ¡ Network ¡Layer ¡ End-­‑to-­‑End ¡ packet ¡ IP ¡– ¡Internet ¡Protocol! ¡ transfer ¡ Packet ¡Headers ¡ Routers ¡ ICMP ¡for ¡error ¡ reporting ¡and ¡ router ¡signaling ¡ IP ¡Addresses ¡ Routing ¡Protocols ¡ Link ¡Layer ¡ Physical ¡Layer ¡ 7 ¡

  8. Application ¡Layer ¡ Transport ¡Layer ¡ Sockets ¡ Flow ¡Control ¡ Congestion ¡Control ¡ End-­‑to-­‑End ¡ message ¡ transfer ¡ TCP ¡ UDP ¡ Network ¡Layer ¡ Link ¡Layer ¡ Physical ¡Layer ¡ 8 ¡

  9. Application ¡Layer ¡ HTTP ¡ DNS ¡ IMAP ¡ Skype ¡ BitTorrent ¡ RDP ¡ LDAP ¡ NFS ¡ SSH ¡ Sockets ¡ … ¡and ¡many ¡more! ¡ Transport ¡Layer ¡ Network ¡Layer ¡ Link ¡Layer ¡ Physical ¡Layer ¡ 9 ¡

  10. ¡ Concepts ¡and ¡ ¡ Learn ¡about ¡protocols ¡ implementation ¡ by ¡examining ¡popular ¡ aspects ¡of ¡network ¡ application-­‑level ¡ application ¡protocols ¡ protocols ¡ § Transport-­‑layer ¡service ¡ § HTTP ¡ models ¡ § SMTP ¡/ ¡POP3 ¡/ ¡IMAP ¡ § Client-­‑server ¡paradigm ¡ § DNS ¡ § Peer-­‑to-­‑peer ¡paradigm ¡ ¡ Programming ¡network ¡ applications ¡ § Socket ¡API ¡ 10 ¡

  11. ¡ What ¡programs ¡do ¡you ¡run ¡that ¡use ¡the ¡ Internet? ¡ 11 ¡

  12. ¡ E-­‑mail ¡ ¡ Social ¡networks ¡ ¡ Web ¡ ¡ Voice ¡over ¡IP ¡ ¡ Instant ¡messaging ¡ ¡ Real-­‑time ¡video ¡ ¡ Remote ¡login ¡ conferencing ¡ ¡ P2P ¡file ¡sharing ¡ ¡ Grid ¡computing ¡ ¡ Multi-­‑user ¡network ¡ games ¡ ¡ Streaming ¡stored ¡ video ¡clips ¡ 12 ¡

  13. application ¡ ¡ Write ¡programs ¡that ¡ transport ¡ network ¡ data ¡link ¡ § Run ¡on ¡(different) ¡end ¡ physical systems ¡ § Communicate ¡over ¡network ¡ § e.g., ¡web ¡server ¡software ¡ communicates ¡with ¡browser ¡ software ¡ ¡ No ¡need ¡to ¡write ¡software ¡ for ¡network-­‑core ¡devices ¡ application ¡ § Network-­‑core ¡devices ¡do ¡ transport ¡ network ¡ not ¡run ¡user ¡applications ¡ ¡ data ¡link ¡ physical application ¡ § Applications ¡on ¡end ¡ transport ¡ network ¡ systems ¡ ¡allows ¡for ¡rapid ¡ data ¡link ¡ physical app ¡development ¡and ¡ distribution ¡ 13 ¡

  14. ¡ Client-­‑server ¡ § Including ¡data ¡centers ¡/ ¡cloud ¡computing ¡ ¡ Peer-­‑to-­‑peer ¡(P2P) ¡ ¡ Hybrid ¡of ¡client-­‑server ¡and ¡P2P ¡ 14 ¡

  15. ¡ Server: ¡ ¡ § Always-­‑on ¡host ¡ § Permanent ¡IP ¡address ¡ § Lots ¡of ¡bandwidth ¡ § Server ¡farms ¡for ¡scaling ¡ ¡ Clients: ¡ § Communicate ¡with ¡ server ¡ client/server ¡ § May ¡be ¡intermittently ¡ connected ¡ § May ¡have ¡dynamic ¡IP ¡ addresses ¡ § Do ¡not ¡communicate ¡ directly ¡with ¡each ¡other ¡ 15 ¡

  16. ¡ Estimated ¡cost ¡of ¡data ¡center: ¡$600M ¡ ¡ Google ¡spent ¡$2.4B ¡in ¡2007 ¡on ¡new ¡data ¡centers ¡ ¡ Each ¡data ¡center ¡uses ¡50-­‑100 ¡megawatts ¡of ¡ power ¡ ¡ 16 ¡

  17. ¡ No ¡always-­‑on ¡server ¡ ¡ Arbitrary ¡end ¡systems ¡ directly ¡communicate ¡ ¡ Peers ¡are ¡ peer-­‑peer ¡ intermittently ¡ connected ¡and ¡change ¡ IP ¡addresses ¡ ¡ No ¡central ¡point ¡of ¡ failure ¡ ¡ Highly ¡scalable ¡but ¡ difficult ¡to ¡manage ¡ 17 ¡

  18. ¡ Skype ¡ § Voice-­‑over-­‑IP ¡P2P ¡application ¡ § Centralized ¡server: ¡finding ¡address ¡of ¡remote ¡party ¡ ¡ § Client-­‑client ¡connection: ¡direct ¡(not ¡through ¡server) ¡ ¡ ¡ Instant ¡messaging ¡ § Chatting ¡between ¡two ¡users ¡is ¡P2P ¡ § Centralized ¡service: ¡client ¡presence ¡detection/location ¡ ▪ User ¡registers ¡its ¡IP ¡address ¡with ¡central ¡server ¡when ¡it ¡comes ¡ online ¡ ▪ User ¡contacts ¡central ¡server ¡to ¡find ¡IP ¡addresses ¡of ¡buddies ¡ 18 ¡

  19. ¡ Process: ¡program ¡ ¡ Client ¡ process: ¡process ¡ running ¡within ¡a ¡host ¡ that ¡initiates ¡ communication ¡ § Within ¡same ¡host, ¡two ¡ ¡ Server ¡ process: ¡ processes ¡communicate ¡ using ¡ ¡inter-­‑process ¡ process ¡that ¡waits ¡to ¡ communication ¡(defined ¡ be ¡contacted ¡ by ¡OS) ¡ ¡ Applications ¡with ¡P2P ¡ § Processes ¡in ¡different ¡ architectures ¡have ¡ hosts ¡communicate ¡by ¡ both ¡client ¡ and ¡server ¡ exchanging ¡messages ¡ processes! ¡ 19 ¡

  20. ¡ Process ¡sends/receives ¡ host ¡or ¡ host ¡or ¡ messages ¡to/from ¡its ¡socket ¡ server ¡ server ¡ ¡ Socket ¡analogous ¡to ¡door ¡ § Sending ¡process ¡shoves ¡ controlled ¡by ¡ message ¡out ¡door ¡ app ¡developer ¡ § Transport ¡infrastructure ¡on ¡ process ¡ process ¡ other ¡side ¡of ¡door ¡carries ¡ socket ¡ socket ¡ message ¡to ¡socket ¡at ¡receiving ¡ process ¡ TCP ¡with ¡ TCP ¡with ¡ Internet ¡ § Imagine ¡you ¡are ¡just ¡writing ¡to ¡ buffers, ¡ buffers, ¡ a ¡file… ¡ variables ¡ variables ¡ ¡ API ¡allow ¡customization ¡of ¡ socket ¡ controlled ¡ § Choose ¡transport ¡protocol ¡ by ¡OS ¡ § Choose ¡parameters ¡of ¡protocol ¡ ¡ 20 ¡

  21. ¡ 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 ¡application ¡ § An ¡application-­‑layer ¡protocol ¡ § HTTP, ¡IMAP, ¡Skype, ¡etc… ¡ 21 ¡

  22. ¡ Both ¡the ¡client ¡and ¡server ¡speaking ¡the ¡protocol ¡ must ¡agree ¡on ¡ § Types ¡of ¡messages ¡exchanged ¡ ▪ e.g., ¡request, ¡response ¡ ¡ § Message ¡syntax ¡ ▪ What ¡fields ¡are ¡in ¡messages ¡ ▪ How ¡fields ¡are ¡delineated ¡ § Message ¡semantics ¡ ¡ ▪ Meaning ¡of ¡information ¡in ¡fields ¡ § Rules ¡for ¡when ¡and ¡how ¡processes ¡send ¡and ¡respond ¡ to ¡messages ¡ 22 ¡

  23. ¡ Public-­‑domain ¡ protocols: ¡ § Defined ¡in ¡RFCs ¡(Request ¡for ¡Comment) ¡ § Allows ¡for ¡interoperability ¡ § Examples: ¡HTTP, ¡SMTP, ¡BitTorrent ¡ ¡ Proprietary ¡ protocols ¡ § Examples: ¡Skype ¡ 23 ¡

Recommend


More recommend