Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lecture 3: CSCI E-1 Spring 2013

Lecture 3: CSCI E-1 Spring 2013

Tommy MacWilliam

February 25, 2013
Tweet

More Decks by Tommy MacWilliam

Other Decks in Education

Transcript

  1. Computer Science E-1
    Lecture 3: Internet

    View Slide

  2. From last time...

    View Slide

  3. http://youtu.be/j84eEjP-RL4

    View Slide

  4. Review: March 4

    View Slide

  5. http://youtu.be/9ntPxdWAWq8

    View Slide

  6. traceroute cnn.com

    View Slide

  7. Clients v. Servers

    View Slide

  8. Routers

    View Slide

  9. Network

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. Internet Service Provider

    View Slide

  14. View Slide

  15. LAN

    View Slide

  16. WAN

    View Slide

  17. View Slide

  18. traceroute reddit.com

    View Slide

  19. IP Address

    View Slide

  20. 10.251.202.239

    View Slide

  21. 4,294,967,296

    View Slide

  22. “640K ought to be
    enough for anybody”

    View Slide

  23. IPv4

    View Slide

  24. IPv6

    View Slide

  25. http://www.worldipv6launch.org/

    View Slide

  26. 2001:0db8:85a3:0042:
    1000:8a2e:0370:7334

    View Slide

  27. 340,282,366,920,938,463,463,374,
    607,431,768,211,456

    View Slide

  28. http://samsclass.info/ipv6/
    exhaustion.htm

    View Slide

  29. http://www.google.com/ipv6/
    statistics.html#tab=ipv6-adoption

    View Slide

  30. Private IP Address

    View Slide

  31. 10.*.*.*
    172.16.*.*
    192.168.*.*

    View Slide

  32. NAT

    View Slide

  33. Device Private IP Public IP Source Port
    Macbook 10.0.0.1 74.125.26.228 1000
    iPhone 10.0.0.2 74.125.26.228 1001
    iPad 10.0.0.3 74.125.26.228 1002

    View Slide

  34. NAT Request
    • request from 10.0.0.1 reaches router

    View Slide

  35. NAT Request
    • request from 10.0.0.1 reaches router
    • router looks up source port for 10.0.0.1

    View Slide

  36. NAT Request
    • request from 10.0.0.1 reaches router
    • router looks up source port for 10.0.0.1
    • router changes source IP to 74.125.26.228, adds source port 1000

    View Slide

  37. NAT Request
    • request from 10.0.0.1 reaches router
    • router looks up source port for 10.0.0.1
    • router changes source IP to 74.125.26.228, adds source port 1000
    • router sends modified request to destination

    View Slide

  38. NAT Response
    • router receives response to 74.125.26.228 with source port 1000

    View Slide

  39. NAT Response
    • router receives response to 74.125.26.228 with source port 1000
    • router looks up IP address for source port 1000

    View Slide

  40. NAT Response
    • router receives response to 74.125.26.228 with source port 1000
    • router looks up IP address for source port 1000
    • router forwards response to original client

    View Slide

  41. http://www.whatismyip.com/

    View Slide

  42. DHCP

    View Slide

  43. DHCP
    • Client broadcasts “I would like to join”

    View Slide

  44. DHCP
    • Client broadcasts “I would like to join”
    • Server responds “I can help”

    View Slide

  45. DHCP
    • Client broadcasts “I would like to join”
    • Server responds “I can help”
    • Client requests an IP address

    View Slide

  46. DHCP
    • Client broadcasts “I would like to join”
    • Server responds “I can help”
    • Client requests an IP address
    • Server offers client an IP address

    View Slide

  47. DHCP
    • Client broadcasts “I would like to join”
    • Server responds “I can help”
    • Client requests an IP address
    • Server offers client an IP address
    • Client confirms IP address

    View Slide

  48. View Slide

  49. Connection Speeds

    View Slide

  50. View Slide

  51. Wireless Networks

    View Slide

  52. WEP, WPA, WPA2

    View Slide

  53. 3G, 4G

    View Slide

  54. Firewall

    View Slide

  55. View Slide

  56. VPN

    View Slide

  57. Domains

    View Slide

  58. DNS

    View Slide

  59. HOSTS.TXT

    View Slide

  60. DNS Server

    View Slide

  61. Root DNS Server

    View Slide

  62. root-servers.org

    View Slide

  63. TLD DNS Server

    View Slide

  64. Authoritative Name Server

    View Slide

  65. Domain Resolution
    • hosts file?

    View Slide

  66. Domain Resolution
    • hosts file?
    • cache DNS server?

    View Slide

  67. Domain Resolution
    • hosts file?
    • cache DNS server?
    • root DNS server

    View Slide

  68. Domain Resolution
    • hosts file?
    • cache DNS server?
    • root DNS server
    • TLD DNS server

    View Slide

  69. Domain Resolution
    • hosts file?
    • cache DNS server?
    • root DNS server
    • TLD DNS server
    • authoritative name server

    View Slide

  70. http://www.simpledns.com/lookup-
    dg.aspx

    View Slide

  71. View Slide

  72. Net Neutrality

    View Slide

  73. View Slide

  74. http://www.popsci.com/technology/article/
    2010-07/order-seven-cyber-guardians-
    around-world-now-hold-keys-internet

    View Slide

  75. Configuring DNS

    View Slide

  76. View Slide

  77. DNS Records
    • NS: name servers
    • MX: email
    • A: IPv4 address
    • AAAA: IPv6 address
    • CNAME: domain alias

    View Slide

  78. TLDs

    View Slide

  79. TLD Usage
    .com Companies
    .edu Education
    .gov US Government
    .info Information
    .mil US Military
    .net Networks
    .org Organizations

    View Slide

  80. ccTLDs

    View Slide

  81. ccTLDs
    • bit.ly: Libya
    • about.me: Montenegro
    • del.icio.us: US
    • nic.tm: Turkmenistan

    View Slide

  82. http://gtldresult.icann.org/

    View Slide

  83. Registrars

    View Slide

  84. URL

    View Slide

  85. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome

    View Slide

  86. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Scheme

    View Slide

  87. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Authentication

    View Slide

  88. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Domain

    View Slide

  89. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Port

    View Slide

  90. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Path

    View Slide

  91. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Query String

    View Slide

  92. http://username:password@
    foo.example.com:1234/cs/e1/is.html
    ?fun=yes&boring=no#awesome
    Fragment

    View Slide

  93. Key-Value Pairs

    View Slide

  94. query=cse1&page=3
    • client
    • the query I want is cse1
    • the page I want is 3
    • server
    • what query and page should I look for?

    View Slide

  95. q=e&1?

    View Slide

  96. URL Encoding

    View Slide

  97. q=e%261%3F

    View Slide

  98. URI

    View Slide

  99. urn:isbn:9780811822749

    View Slide

  100. http://cse1.net/psets/pset3.pdf

    View Slide

  101. API

    View Slide

  102. http://developer.mbta.com/lib/rthr/
    red.json

    View Slide

  103. https://developers.facebook.com/
    tools/explorer/

    View Slide

  104. http://youtu.be/Ve7_4ot-Dzs

    View Slide

  105. Summary

    View Slide

  106. Networking
    • router
    • IP address
    • ISP
    • network
    • WAN, LAN
    • IPv6
    • private IP address
    • NAT
    • DHCP
    • 802.11n
    • 3G, 4G
    • mbps
    • firewall
    • VPN

    View Slide

  107. Domain Name System
    • DNS
    • domains
    • hosts file
    • root DNS server
    • TLD DNS server
    • authoritative name server
    • net neutrality
    • A record
    • CNAME record
    • TLD, ccTLD
    • registrar
    • URL
    • URI
    • API

    View Slide

  108. Computer Science E-1
    Lecture 3: Internet

    View Slide