SlideShare uma empresa Scribd logo
1 de 102
Internet Technology and Security
     http://en.wikipedia.org/wiki/Internet_Protocol_Suite




        https://www.coursera.org/course/insidetheinternet
Unless otherwise noted, the content of these lecture slides are licensed under a Creative
              Commons Attribution 3.0 License.
              http://creativecommons.org/licenses/by/3.0/.

              Copyright 2009-2012, Charles Severance, Martha Pollack, Paul Resnick

You assume all responsibility for use and potential liability associated with any use of the material. Material contains copyrighted content, used in accordance with U.S. law. Copyright holders of content included in this material should contact
open.michigan@umich.edu with any questions, corrections, or clarifications regarding the use of content. The Regents of the University of Michigan do not license the use of third party content posted to this site unless such a license is
specifically granted in connection with particular content. Users of content are responsible for their compliance with applicable law. Mention of specific products in this material solely represents the opinion of the speaker and does not represent
an endorsement by the University of Michigan. For more information about how to cite these materials visit http://michigan.educommons.net/about/terms-of-use.

Any medical information in this material is intended to inform and educate and is not a tool for self-diagnosis or a replacement for medical evaluation, advice, diagnosis or treatment by a healthcare professional. You should speak to your
physician or make an appointment to be seen if you have questions or concerns about this information or your medical condition. Viewer discretion is advised: Material may contain medical images that may be disturbing to some viewers.
Copyright Thanks


•   Thanks to IEEE Computer for permisison to use IEEE Computer
    magazine articles associated with the videos

•   Thanks to Dave Malicke and Open Michigan (open.umich.edu) for help
    with copyright review of these materials
http://xkcd.com/742/
Store and Forward Networking


                                                    Leased

                  Dialup

  http://en.wikipedia.org/wiki/BITNET


Clipart: http://www.clker.com/search/networksym/1
Research Networks
   1960-1980’s
   1960-1980’s                                               December 1969


•   How can we avoid having a direct
    connection between all pairs of
    computers?

•   How to transport messages efficiently?

•   How can we dynamically handle
    outages?                                              August 1972

                                        http://som.csudh.edu/fac/lpress/history/arpamaps/
Heart, F., McKenzie, A., McQuillian, J., and Walden, D., ARPANET Completion Report,
             Bolt, Beranek and Newman, Burlington, MA, January 4, 1978.
             http://som.csudh.edu/fac/lpress/history/arpamaps/arpanetmar77.jpg
Efficient Message Transmission:
            Packet Switching
•   Challenge: in a simple approach, like store-and-forward, large
    messages block small ones

•   Break each message into packets

•   Can allow the packets from a single message to travel over different
    paths, dynamically adjusting for use

•   Use special-purpose computers, called routers, for the traffic control
Packet Switching -
Hello there, have a nice day.
                                    Postcards

Hello ther (1, csev, daphne)

e, have a (2, csev, daphne)

nice day. (3, csev, daphne)
1
    2   3
Packet Switching -
       Postcards


Hello ther (1, csev, daphne)
e, have a (2, csev, daphne)
nice day. (3,




                               Hello there, have a nice day.
Shared Network
                            Router            Wide Area
                                              Network




Local Area
 Network            Cable or
                      DSL


                      Clipart: http://www.clker.com/search/networksym/1
Shared Networks
•   In order to keep cost low and
    the connections short
    geographically - data would be
    forwarded through several
    routers.

•   Getting across the country
    usually takes about 10 “hops”

•   Network designers continually    Source:
                                     http://en.wikipedia.org/wiki/Internet_Protocol_Suite
    add and remove links to “tune”
    their networks
Layered Network
         Model                             Application Layer
                                         Web, E-Mail, File Transfer
•   A layered approach allows the
    problem of designing a network to      Transport Layer (TCP)
    be broken into more manageable          Reliable Connections
    sub problems
                                          Internetwork Layer (IP)
•   Best-known model: TCP/IP—the             Simple, Unreliable
    “Internet Protocol Suite”
                                         Link Layer (Ethernet, WiFi)
•   There was also a 7 layer OSI: Open
                                            Physical Connections
    System Interconnection Model
Internet Standards
•   The standards for all of the Internet
    protocols (inner workings) are
    developed by an organization

•   Internet Engineering Task Force
    (IETF)

•   www.ietf.org

•   Standards are called “RFCs” -           Source: http://tools.ietf.org/html/rfc791
    “Request for Comments”
Layered
     Architecture
•   The Physical and Internet Layers are
    like trucks and trains - they haul
    stuff and get it to the right loading
    dock - it takes multiple steps

•   The Transport layer checks to see if
    the trucks made it and send the
    stuff again if necessary

                                      Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Link Layer (aka Physical Layer)
•   As your data crosses the country
    may use a different physical
    medium for each “hop”

•   Wire, Wireless, Fiber Optic, etc.

•   The link is “one hop” - Is it up or
    down? Connected or not?

•   Very narrow focus - no view at all
    of the “whole Internet”
                                          Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Problems solved by the Link Layer


•   How does data get pushed onto a link?

•   How is the link shared?
Link Layer Addresses

•   Many physical layer devices have addresses built in to them by the
    manufacturer

    •   Ethernet

    •   Wireless Ethernet (Wifi)
Link Layer
•   Physical addresses are to allow
    systems to identify themselves on
    the ends of a single link

•   Physical addresses go no farther
    than one link

•   Sometimes links like Wifi and
    Wired Ethernet are shared with
    multiple computers
                                           0f:21:63:12:b3:1a              98:2f:4e:78:01:b4
                                       Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Sharing Nicely - Avoiding Chaos
•   CSMA/CD Carrier Sense Media Access with Collision Detection

•   To avoid garbled messages, systems must observe “rules” (Protocols)

•   Ethernet rules are simple




•   Wait for silence
Internetwork Layer
            (IP)                                   Application Layer
                                                 Web, E-Mail, File Transfer

            (IP)                                   Transport Layer (TCP)
                                                    Reliable Connections
http://en.wikipedia.org/wiki/Internet_Protocol
   http://en.wikipedia.org/wiki/Traceroute        Internetwork Layer (IP)
        http://en.wikipedia.org/wiki/Ping            Simple, Unreliable

                                                 Link Layer (Ethernet, WiFi)
                                                    Physical Connections
Internet Protocol Layer
•   Goal: Gets your data from this
    computer to the other computer
    half way across the world

•   Each router knows about nearby
    routers

•   IP Is best effort - it is OK to drop
    data if things go bad...

                                 Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
IP Addresses
•   The IP address is the worldwide number which is associated with one
    particular workstation or server

•   Every system which will send packets directly out across the Internet
    must have a unique IP address

•   IP addresses are based on where station is connected

•   IP addresses are not controlled by a single organization - address
    ranges are assigned

•   They are like phone numbers – they get reorganized once in a great
    while
IP Address Format
•   Four numbers with dots - each number 1-255 (32 bits)

•   Kind of like phone numbers with an “area code”

•   The prefix of the address is “which network”

•   While the data is traversing the Internet - all that matters is
    the network number
      (734) 764 1855                           141.211.144.188
                                 Network
    Area code                    Number           141.211.*.*
While in the network, all
  that matters is the
  Network number.
                                                             67.149.102.75

141.211.144.188


               To: 67.149.*.*
                                             67.149.*.*
                                                          To: 67.149.94.33
To: 67.149.94.33
                                                            67.149.94.33

                                Clipart: http://www.clker.com/search/networksym/1
No single router knows the
whole network - just which
 way to send data to get it
          “closer”                                                        67.149.102.75

 141.211.144.188
                     To: 67.149.*.*   ?
                                          ?

                                                           67.149.*.*



                                                                          67.149.94.33
                                              Clipart: http://www.clker.com/search/networksym/1
Router Tables
                                             To: 67.149.*.*
Lists of where to send packets, based on                                           ?
  destination network address;                                                         ?
  bandwidth on adjacent links;
  traffic on adjacent links;
  state of neighbor nodes (up or not);
  ...

Updated dynamically
Routers “ask each other” for information

                                           Clipart: http://www.clker.com/search/networksym/1
Thousands of
 IP Is Simple           network connections.
                       Billions of bytes of data
                             per seconds.
 Local
Network

                      67.149.*.*
                                                            Thousands of
                                                            user systems
                       One “area code” to keep
                         track of inside the
   100’s of servers           Internet.
                                    Clipart: http://www.clker.com/search/networksym/1
DHCP = Dynamic Host Configuration Protocol

          Hello?
                         Here I am

                                             141.26.14.1-100
     What IP Address
       can I use?             141.26.14.1



                   Use 141.26.14.7
Non-Routable Addresses

•   A typical home router does Network Address Translation (NAT)

•   Your ISP gives your home router a real global routable address

•   Your router gives out local addresses in a special range (192.168.*.*)

•   The router maps remote addresses for each connection you make
    from within your home network


        http://en.wikipedia.org/wiki/Network_address_translation
141.206.14.3


           192.168.0.20    192.168.0.1




           192.168.0.104   192.168.0.1             35.8.2.10




           192.168.0.20    192.168.0.1              173.44.26.18

NAT = Network Address Translation        Clipart: http://www.clker.com/search/networksym/1
http://xkcd.com/742/
Peering into the Internet
       •   Most systems have a command that will reveal the route taken across
           the internet (traceroute on Mac and tracert on Windows)

       •   Each IP packet has a field called “Time to Live” - TTL

       •   The TTL is used to deal with loops in the network - normally if
           routers got confused and ended up with a loop - the network would
           clog up rapidly.

                                        To: 67.149.*.*

Clipart: http://www.clker.com/search/networksym/1
How Traceroute Works
•   Normal packets are sent with a Time to Live (TTL) of 255 hops

•   Trace route sends a packet with TTL=1, TTL=2, ...

•   So each packet gets part-way there and then gets dropped and
    traceroute gets a notification of where the drop happens

•   This builds a map of the nodes that a packet visits when crossing the
    Internet.
Traceroute
$ traceroute www.stanford.edutraceroute to www5.stanford.edu (171.67.20.37), 64 hops max, 40
byte packets 1 141.211.203.252 (141.211.203.252) 1.390 ms 0.534 ms 0.490 ms 2 v-bin-seb.r-bin
seb.umnet.umich.edu (192.122.183.61) 0.591 ms 0.558 ms 0.570 ms 3 v-bin-seb-i2-aa.merit-
aa2.umnet.umich.edu (192.12.80.33) 6.610 ms 6.545 ms 6.654 ms 4 192.122.183.30
(192.122.183.30) 7.919 ms 7.209 ms 7.122 ms 5 so-4-3-0.0.rtr.kans.net.internet2.edu (64.57.28.3
 17.672 ms 17.836 ms 17.673 ms 6 so-0-1-0.0.rtr.hous.net.internet2.edu (64.57.28.57) 31.800 ms
41.967 ms 31.787 ms 7 so-3-0-0.0.rtr.losa.net.internet2.edu (64.57.28.44) 63.478 ms 63.704 ms
63.710 ms 8 hpr-lax-hpr--i2-newnet.cenic.net (137.164.26.132) 63.093 ms 63.026 ms 63.384 ms 9
svl-hpr--lax-hpr-10ge.cenic.net (137.164.25.13) 71.242 ms 71.542 ms 76.282 ms10 oak-hpr--svl-
hpr-10ge.cenic.net (137.164.25.9) 72.744 ms 72.243 ms 72.556 ms11 hpr-stan-ge--oak-
hpr.cenic.net (137.164.27.158) 73.763 ms 73.396 ms 73.665 ms12 bbra-rtr.Stanford.EDU
(171.64.1.134) 73.577 ms 73.682 ms 73.492 ms13 * * *14 www5.Stanford.EDU (171.67.20.37)
77.317 ms 77.128 ms 77.648 ms
Traceroute

$ traceroute www.msu.edutraceroute to www.msu.edu (35.8.10.30), 64 hops max, 40 byte packets
 141.211.203.252 (141.211.203.252) 2.644 ms 0.973 ms 14.162 ms 2 v-bin-seb.r-bin-
seb.umnet.umich.edu (192.122.183.61) 1.847 ms 0.561 ms 0.496 ms 3 v-bin-seb-i2-aa.merit-
aa2.umnet.umich.edu (192.12.80.33) 6.490 ms 6.499 ms 6.529 ms 4 lt-0-3-0x1.eq-chi2.mich.net
(198.108.23.121) 8.096 ms 8.113 ms 8.103 ms 5 xe-0-0-0x23.msu6.mich.net (198.108.23.213)
7.831 ms 7.962 ms 7.965 ms 6 192.122.183.227 (192.122.183.227) 12.953 ms 12.339 ms 10.322
ms 7 cc-t1-ge1-23.net.msu.edu (35.9.101.209) 9.522 ms 9.406 ms 9.817 ms 8 * * *
Traceroute
$ traceroute www.pku.edu.cntraceroute: Warning: www.pku.edu.cn has multiple addresses; using
162.105.129.104traceroute to www.pku.edu.cn (162.105.129.104), 64 hops max, 40 byte packets 1
141.211.203.252 (141.211.203.252) 1.228 ms 0.584 ms 0.592 ms 2 v-bin-seb.r-bin-
seb.umnet.umich.edu (192.122.183.61) 0.604 ms 0.565 ms 0.466 ms 3 v-bin-seb-i2-aa.merit-
aa2.umnet.umich.edu (192.12.80.33) 7.511 ms 6.641 ms 6.588 ms 4 192.122.183.30
                                                                     Michigan
(192.122.183.30) 12.078 ms 6.989 ms 7.619 ms 5 192.31.99.133 (192.31.99.133) 7.666 ms 8.953
                                                                     Tennessee
ms 17.861 ms 6 192.31.99.170 (192.31.99.170) 59.275 ms 59.273 ms 59.108 ms 7 134.75.108.20
(134.75.108.209) 173.614 ms 173.552 ms 173.333 ms 8 134.75.107.10 (134.75.107.10) 256.760 m
134.75.107.18 (134.75.107.18) 256.574 ms 256.530 9 202.112.53.17 (202.112.53.17) 256.761 ms
256.801 ms 256.688 ms10 202.112.61.157 (202.112.61.157) 257.416 ms 257.960 ms 257.747
                                                                           Seoul
ms11 202.112.53.194 (202.112.53.194) 256.827 ms 257.068 ms 256.962 ms12 202.112.41.202
(202.112.41.202) 256.800 ms 257.053 ms 256.933 ms
                                                                          Beijing
The perfect is the enemy of the good
                                         Le mieux est l'ennemi du bien. --Voltaire

•   IP Does: Best effort to get data across bunch of hops from one
    network to another network

•   IP Does Not: Guarantee delivery - if things go bad - the data can
    vanish

•   Best effort to keep track of the good and bad paths for traffic - tries
    to pick better paths when possible

•   This makes it fast and scalable to very large networks - and ultimately
    “reliable” because it does not try to do too much
Domain Name System
The Domain Name System
  convert user-friendly names,
  like

   www.umich.edu

to network-friendly IP addresses,
  like
                                    Source:
   141.211.32.166                   http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Domain Name System

•   Numeric addresses like 141.211.63.45 are great for Internet routers
    but lousy for people

•   Each campus ends up with a lot of networks (141.211.*.*, 65.43.21.*)

•   Sometimes (rarely) the IP address numbers get reorganized

•   When servers physically move they need new IP addresses
DNS: Internet Address Book
•   The Domain Name System is a big fast distributed database of
    Internet names to Internet “phone numbers”

•   IP Addresses reflect technical “geography”

    •   141.211.63.44 - read left to right like a phone number

•   Domain names reflect organizational structure

    •   www.si.umich.edu - read right to left like postal address

    •   2455 North Qaud, Ann Arbor, MI 48109, USA, Earth
.edu                  .com
 .org                                          .nl




umich.edu




 si.umich.edu
http://en.wikipedia.org/wiki/File:Domain_name_space.svg
Looking Up A Domain Name
•   When a system sees a new domain name, it looks it up from its
    "closest" domain name server - this "close" domain name server is
    configured or handed out when the computer connects to the
    network

•   If that DNS server does not know the answer, the server works its
    way up the tree and then back down to a server that knows the
    mapping.

•   Then the local Domain Name server remembers the mapping so it
    only asks once per 24 hours (caching)
Getting your own .com or .org...
•   You must choose an Internet Service Provider and get an account

    •   www.godaddy.com

    •   www.hostmonster.com .....

•   Choose a name that is not taken

    •   Can be harder than you think

•   Pay roughly $10.00 per year
Internetwork Layer
            (IP)                                     Application Layer
                                                   Web, E-Mail, File Transfer

            (IP)                                     Transport Layer (TCP)
                                                      Reliable Connections
http://en.wikipedia.org/wiki/Internet_Protocol
   http://en.wikipedia.org/wiki/Traceroute       Internetwork Layer (IP)
        http://en.wikipedia.org/wiki/Ping      Simple, Scalable, Unreliable

                                                   Link Layer (Ethernet, WiFi)
                                                      Physical Connections
Application Layer

       Transport Layer                           Web, E-Mail, File Transfer

                                                   Transport Layer (TCP)
                                                    Reliable Connections

                                                 Internetwork Layer (IP)
http://en.wikipedia.org/wiki/Transmission_Control_Protocol Unreliable
                                               Simple, Scalable,

                                                 Link Layer (Ethernet, WiFi)
                                                    Physical Connections
Review: The Magic of IP
•   What it does - Tries to get one packet across a 5-20 of hops from one
    network to another network

•   Keeps track of the good and bad paths for traffic - tries to pick better
    paths when possible

•   But no guarantee of delivery - if things go bad - the data vanishes

•   This makes it fast and scalable - and ultimately “reliable” because it
    does not try to do too "everything"
Internet Protocol
•   So many links / hops

•   So many routes

•   Thinks can change dynamically
    and IP has to react (links
    up/down)

•   IP can drop packets             Source:
                                    http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Transport Protocol (TCP)
•   Built on top of IP

•   Assumes IP might lose some
    data

•   In case data gets lost - we keep a
    copy of the data a we send until
    we get an acknowledgement

•   If it takes “too long” - just send it   Source:
    again                                   http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Sender        Receiver

      1


      2


      3


      4


      5



Break Messages
  into Pieces
Sender            Receiver

      1          1


      2          2


      3          3


      4


      5



Break Messages
  into Pieces
Got 1
   Sender        Where is 2??
                                Receiver

      1                            1


      2


      3                            3


      4


      5



Break Messages
  into Pieces
Sender            Got 2   Receiver

      1                         1


      2          2


      3          3


      4          4


      5



Break Messages
  into Pieces
Sender            Got 4   Receiver

      1                         1


      2                         2


      3                         3


      4                         4


      5          5



Break Messages
  into Pieces
Sender        Got 5   Receiver

      1                     1


      2                     2


      3                     3


      4                     4


      5                     5



Break Messages
  into Pieces
Billions of computers
                                                    connected to the internet; 100
                                                    thousands of routers.
                                                    Hundreds of billions bytes of
                                                    data enroute at any moment.

                                                    Storage of enroute data done
                                                          at the edges only!
Clipart: http://www.clker.com/search/networksym/1
One (of many) Scary Problem(s)
    •   In 1987 as local campuses with 10
        MBit networks were connected
        together using 56Kbit leased lines,
        things kind of fell apart

    •   At some point, when there was a
        little too much traffic, it all fell
        apart...
        http://www.youtube.com/watch?v=1Vg1MeRYmWI
             http://en.wikipedia.org/wiki/Van_Jacobson
http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
Transport Protocol (TCP)
•   The responsibility of the transport layer is to present a reliable end-
    to-end pipe to the application

•   Data either arrives in the proper order or the connection is closed

•   TCP keeps buffers in the sending and destination system to keep data
    which has arrived out of order or to retransmit if necessary

•   TCP provides individual connections between applications
Secure Sockets Layer (SSL)
     Security for TCP
     Security for TCP
 http://en.wikipedia.org/wiki/Secure_Sockets_Layer
v
v
Packet
                                                    Sniffing

Clipart: http://www.clker.com/search/networksym/1
Photo CC BY: karindalziel (flickr)
http://creativecommons.org/licenses/by/2.0/
Transport Layer Security (TLS)
•   Used to be called “Secure Sockets Layer” (SSL)

•   Can view it as an extra layer “between” TCP and the application layer

•   It is very difficult but not impossible to break this security - normal
    people do not have the necessary compute resources to break TLS

•   Encrypting and decryption takes resources - so we use it for things
    when it is needed

•   The IP and TCP are unaware whether data has been encrypted
Secure Application Protocols
•   There are often secure and unencrypted application protocols

    •   http://www.facebook.com

    •   https://www.facebook.com

•   Your browser tells you when using a secure connection - you should
    never type passwords into a non-secure connection

•   Especially over wireless - especially at a security conference...
System to System Secure TCP/IP
                                     TCP/IP



   Your local connection                                                Generally, the backbone of
     (particularly when                                                    the Internet is pretty
  wireless) is your greatest                                            secure to prying eyes from
         exposure.                                                           generic baddies...


Clipart: http://www.clker.com/search/networksym/1
Photo CC BY: karindalziel (flickr)
http://creativecommons.org/licenses/by/2.0/         http://en.wikipedia.org/wiki/Secure_Sockets_Layer
Source: https://ctools.umich.edu/portal
Digital Certificates
In cryptography, a public key certificate (also known
  as a digital certificate or identity certificate) is an
    electronic document which uses a digital sign
    ature to bind a public key with an identity —
   information such as the name of a person or an
    organization, their address, and so forth. The
  certificate can be used to verify that a public key
                belongs to an individual.


  http://en.wikipedia.org/wiki/Public_key_certificate
Certificate Authority (CA)
     A certificate authority is an entity that issues
 digital certificates. The digital certificate certifies the
ownership of a public key by the named subject of the
       certificate. A CA is a trusted third party
that is trusted by both the owner of the certificate and
          the party relying upon the certificate.




   http://en.wikipedia.org/wiki/Certificate_authority
Your browser comes with
certificates/public keys from
some certificate authorities
   built in. Like Verisign.
v
v
Application Layer

Application Layer   Web, E-Mail, File Transfer

                      Transport Layer (TCP)
                       Reliable Connections

                     Internetwork Layer (IP)
                        Simple, Unreliable

                    Link Layer (Ethernet, WiFi)
                       Physical Connections
Quick Review
•   Link layer: gets the data onto the link,
    and manages collisions on a single hop

•   Internet layer: moves the data over
    one hop, trying to get it “closer” to its
    destination

•   Transport layer: Assumes that the
    internet layer may lose data, so request
    retransmission when needed—                 Source:
    provides a nice reliable pipe from          http://en.wikipedia.org/wiki/Internet_Protocol_Suite
    source to destination
Application Protocol
•   Since TCP gives us a reliable
    pipe, what to we want to do
    with the pipe? What problem do
    we want to solve?

    •   Mail

    •   World Wide Web

    •   Stream kitty videos          Source:
                                     http://en.wikipedia.org/wiki/Internet_Protocol_S
Two Questions for the Application
            Layer
•   Which application gets the data?

    •   Ports

•   What are the rules for talking with that application?

    •   Protocols

              http://en.wikipedia.org/wiki/TCP_and_UDP_port
    http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Ports
•   Like extensions in a phone number

•   The IP address network number (the area code) gets to the LAN

•   The IP address host number (the telephone number) gets you to the
    destination machine

•   The port (the extension) gets you to a specific application
TCP, Ports, and Connections

        http://en.wikipedia.org/wiki/TCP_and_UDP_port

http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
www.umich.edu

                        Incoming                    25
                          E-Mail

                          Login                     23                             blah blah
                                                                                   blah blah

                                                    80   74.208.28.177
                      Web Server
                                                443


                        Personal                109
                        Mail Box
                                                110              Please connect me to the
                                                               secure web server (port 443)
                                                               on http://www.dr-chuck.com
Clipart: http://www.clker.com/search/networksym/1
Common TCP Ports
• Telnet (23) - Login
• SSH (22) - Secure Login
• HTTP (80)
• HTTPS (443) - Secure
• SMTP (25) (Mail)
• http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
  IMAP (143/220/993) - Mail Retrieval
Application Protocols
  http://en.wikipedia.org/wiki/Http

  http://en.wikipedia.org/wiki/Pop3
Application Protocol
•   Since TCP gives us a reliable
    pipe, what to we want to do
    with the pipe? What problem do
    we want to solve?

    •   Mail

    •   World Wide Web

    •   Stream kitty videos          Source:
                                     http://en.wikipedia.org/wiki/Internet_Protocol_S
HTTP - Hypertext Transport
              Protocol
•   The dominant Application Layer Protocol on the Internet

•   Invented for the Web - to Retrieve HTML, Images, Documents etc

•   Extended to be data in addition to documents - RSS, Web Services,
    etc..

•   Basic Concept - Make a Connection - Request a document - Retrieve
    the Document - Close the Connection

                    http://en.wikipedia.org/wiki/Http
HTTP Request / Response Cycle
                  Web Server
             HTTP                    HTTP
            Request                 Response


                     Browser
                   Internet Explorer,
                   FireFox, Safari, etc.
http://www.oreilly.com/openbook/cgi/ch04_02.html   Source: http://www.dr-chuck.com/
HTTP Request / Response Cycle
                              Web Server                <head> .. </head>
                                                        <body>
                         HTTP                    HTTP <h1>Welcome to my
GET /index.html
                        Request                 Response application</h1>
                                                         ....
                                                        </body>
                                 Browser
                               Internet Explorer,
                               FireFox, Safari, etc.
            http://www.oreilly.com/openbook/cgi/ch04_02.html   Source: http://www.dr-chuck.com/
Internet Standards
•   The standards for all of the Internet
    protocols (inner workings) are
    developed by an organization

•   Internet Engineering Task Force
    (IETF)

•   www.ietf.org

•   Standards are called “RFCs” -
    “Request for Comments”                  Source: http://www.ietf.org/rfc/rfc1945.txt
Source: http://www.ietf.org/rfc/rfc1945.txt
“Hacking” HTTP
                                                      Web Server
Last login: Wed Oct 10 04:20:19 on ttyp2              HTTP         HTTP
si-csev-mbp:~ csev$ telnet www.dr-chuck.com 80       Request      Response
Trying 74.208.28.177...Connected to www.dr-chuck.com.
Escape character is '^]'.
GET http://www.dr-chuck.com/page1.htm
                                                        Browser
<h1>The First Page</h1><p>If you like, you can switch to the <a
href="http://www.dr-chuck.com/page2.htm">Second Page</a>.</p>

                                     Port 80 is the non-encrypted HTTP port
Accurate Hacking
     in the Movies
•   Matrix Reloaded

•   Bourne Ultimatum

•   Die Hard 4

•   ...

          http://nmap.org/movies.html (scroll down for video)
             Or search YouTube for "Trinity hacking scene"
http://nmap.org/movies.html (scroll down for video)
   Or search YouTube for "Trinity hacking scene"
Application Layer Summary
•   We start with a “pipe” abstraction - we can send and receive data on
    the same “socket”

•   We can optionally add a security layer to TCP using SSL - Secure
    Socket Layer (aka TLS - Transport Layer Security)

•   We use well known “port numbers” so that applications can find a
    particular application *within* a server such as a mail server, web
    service, etc
The Architecture of     Application Layer
                      Web, E-Mail, File Transfer

   the Internet         Transport Layer (TCP)
                         Reliable Connections


     August 1972       Internetwork Layer (IP)
                          Simple, Unreliable

                      Link Layer (Ethernet, WiFi)
                         Physical Connections
The Architecture of     Application Layer
                      Web, E-Mail, File Transfer

   the Internet         Transport Layer (TCP)
                         Reliable Connections

                       Internetwork Layer (IP)
                          Simple, Unreliable

                      Link Layer (Ethernet, WiFi)
                         Physical Connections
Application Layer
                                                 Web, E-Mail, File Transfer

                                                   Transport Layer (TCP)
                                                    Reliable Connections

                                                  Internetwork Layer (IP)
                                                     Simple, Unreliable

                                                 Link Layer (Ethernet, WiFi)
                                                    Physical Connections
http://www.zakon.org/robert/internet/timeline/
Application Layer
  Web, E-Mail, File Transfer

     Transport Layer (TCP)
      Reliable Connections

     Internetwork Layer (IP)
        Simple, Unreliable

 Link Layer (Ethernet, WiFi)
    Physical Connections

http://en.wikipedia.org/wiki/File:Internet_map_1024.jpg
The Internet: An Amazing Design

•   Hundreds of millions of computers

•   Thousands of routers inside the Internet

•   Hundreds of millions of simultaneous connections

•   Trillions of bytes of data moved per second around the world

•   And it works
The Internet
•   It is said that “The Internet is the largest single engineering effort ever
    created by mankind”

•   It was created to work in an organic way - to repair itself and
    automatically adjust when parts fail

•   No one part of the Internet knows all of the Internet (like life)

•   It is never 100% up - but it seems up all the time
Additional Source Information
•   xkcd, http://xkcd.com/742/, CC: BY-NC, http://creativecommons.org/licenses/by-nc/2.5/

•   Internet Protocol Suite Diagrams: Kbrose, Wikimedia Commons,
    http://upload.wikimedia.org/wikipedia/commons/c/c4/IP_stack_connections.svg, CC:BY-SA,
    http://creativecommons.org/licenses/by-sa/3.0/deed.en

•   All your bases are belong to me: Karin Dalziel, Flickr, http://www.flickr.com/photos/nirak/270213335/, CC:BY,
    http://creativecommons.org/licenses/by/2.0/deed.en

•   Internet Map: The Opte Project, Wikimedia Commons,
    http://upload.wikimedia.org/wikipedia/commons/d/d2/Internet_map_1024.jpg, CC:BY,
    http://creativecommons.org/licenses/by/2.5/deed.en

Mais conteúdo relacionado

Mais procurados

Tutorial Jaringan komputer
Tutorial Jaringan komputerTutorial Jaringan komputer
Tutorial Jaringan komputerAgus Kurniawan
 
Bcc comp4 ppt2
Bcc comp4 ppt2Bcc comp4 ppt2
Bcc comp4 ppt2ifrieshe
 
Networking Essentials Lesson 01 - Eric Vanderburg
 Networking Essentials Lesson 01 - Eric Vanderburg Networking Essentials Lesson 01 - Eric Vanderburg
Networking Essentials Lesson 01 - Eric VanderburgEric Vanderburg
 
Community Wireless Networks
Community Wireless NetworksCommunity Wireless Networks
Community Wireless Networksdaveph
 
Sonali Bank Network Design Project Report
Sonali Bank Network Design Project ReportSonali Bank Network Design Project Report
Sonali Bank Network Design Project ReportHasibul Islam Nirob
 
Net essentials6e ch4
Net essentials6e ch4Net essentials6e ch4
Net essentials6e ch4APSU
 
Internet architecture
Internet architectureInternet architecture
Internet architectureNaman Rastogi
 
Net essentials6e ch3
Net essentials6e ch3Net essentials6e ch3
Net essentials6e ch3APSU
 
Information Technology ITM1
Information Technology  ITM1Information Technology  ITM1
Information Technology ITM1Aram Mohammed
 
CS101- Introduction to Computing- Lecture 28
CS101- Introduction to Computing- Lecture 28CS101- Introduction to Computing- Lecture 28
CS101- Introduction to Computing- Lecture 28Bilal Ahmed
 
Introduction of Networking
Introduction of NetworkingIntroduction of Networking
Introduction of NetworkingNetwax Lab
 
Introduction to Internet
Introduction to InternetIntroduction to Internet
Introduction to InternetMiguel Rebollo
 
Q1 On Ch02 Networking Fundamentals
Q1 On Ch02 Networking FundamentalsQ1 On Ch02 Networking Fundamentals
Q1 On Ch02 Networking Fundamentalsjerometnewman
 
Tech 2 Tech welcome
Tech 2 Tech welcomeTech 2 Tech welcome
Tech 2 Tech welcomeJisc
 

Mais procurados (19)

Tutorial Jaringan komputer
Tutorial Jaringan komputerTutorial Jaringan komputer
Tutorial Jaringan komputer
 
Bcc comp4 ppt2
Bcc comp4 ppt2Bcc comp4 ppt2
Bcc comp4 ppt2
 
Networking Essentials Lesson 01 - Eric Vanderburg
 Networking Essentials Lesson 01 - Eric Vanderburg Networking Essentials Lesson 01 - Eric Vanderburg
Networking Essentials Lesson 01 - Eric Vanderburg
 
Overview of Internet
Overview of InternetOverview of Internet
Overview of Internet
 
Overlay networks
Overlay networksOverlay networks
Overlay networks
 
Networking basics
Networking basicsNetworking basics
Networking basics
 
Network topologies
Network topologiesNetwork topologies
Network topologies
 
Community Wireless Networks
Community Wireless NetworksCommunity Wireless Networks
Community Wireless Networks
 
Sonali Bank Network Design Project Report
Sonali Bank Network Design Project ReportSonali Bank Network Design Project Report
Sonali Bank Network Design Project Report
 
Net essentials6e ch4
Net essentials6e ch4Net essentials6e ch4
Net essentials6e ch4
 
Internet architecture
Internet architectureInternet architecture
Internet architecture
 
Net essentials6e ch3
Net essentials6e ch3Net essentials6e ch3
Net essentials6e ch3
 
Information Technology ITM1
Information Technology  ITM1Information Technology  ITM1
Information Technology ITM1
 
CS101- Introduction to Computing- Lecture 28
CS101- Introduction to Computing- Lecture 28CS101- Introduction to Computing- Lecture 28
CS101- Introduction to Computing- Lecture 28
 
What is network
What is networkWhat is network
What is network
 
Introduction of Networking
Introduction of NetworkingIntroduction of Networking
Introduction of Networking
 
Introduction to Internet
Introduction to InternetIntroduction to Internet
Introduction to Internet
 
Q1 On Ch02 Networking Fundamentals
Q1 On Ch02 Networking FundamentalsQ1 On Ch02 Networking Fundamentals
Q1 On Ch02 Networking Fundamentals
 
Tech 2 Tech welcome
Tech 2 Tech welcomeTech 2 Tech welcome
Tech 2 Tech welcome
 

Destaque

Internet Slide Show
Internet Slide ShowInternet Slide Show
Internet Slide Showlklofgren
 
The History Of The Internet Presentation
The  History Of The  Internet  PresentationThe  History Of The  Internet  Presentation
The History Of The Internet Presentationdgieseler1
 
Information technology ppt
Information technology ppt Information technology ppt
Information technology ppt Babasab Patil
 
The Internet Presentation
The Internet Presentation The Internet Presentation
The Internet Presentation guest9e3d59
 

Destaque (6)

Internet security
Internet securityInternet security
Internet security
 
Internet Slide Show
Internet Slide ShowInternet Slide Show
Internet Slide Show
 
The Internet
The InternetThe Internet
The Internet
 
The History Of The Internet Presentation
The  History Of The  Internet  PresentationThe  History Of The  Internet  Presentation
The History Of The Internet Presentation
 
Information technology ppt
Information technology ppt Information technology ppt
Information technology ppt
 
The Internet Presentation
The Internet Presentation The Internet Presentation
The Internet Presentation
 

Semelhante a Slides internet technology

Computer Networks Lecture Notes
Computer Networks Lecture NotesComputer Networks Lecture Notes
Computer Networks Lecture NotesFellowBuddy.com
 
Networkprotocolstructurescope 130719081246-phpapp01
Networkprotocolstructurescope 130719081246-phpapp01Networkprotocolstructurescope 130719081246-phpapp01
Networkprotocolstructurescope 130719081246-phpapp01Gaurav Goyal
 
Network protocol structure scope
Network protocol structure scopeNetwork protocol structure scope
Network protocol structure scopeSanat Maharjan
 
networking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationnetworking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationHerson Franz Ugale
 
EDT 323 Internet and Intranet 2022 Final.pptx
EDT 323 Internet and Intranet 2022 Final.pptxEDT 323 Internet and Intranet 2022 Final.pptx
EDT 323 Internet and Intranet 2022 Final.pptxGambari Amosa Isiaka
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA Aiman Hud
 
Computer Network, Internet, Computer Security and Cyber Ethics
Computer Network, Internet, Computer Security and Cyber EthicsComputer Network, Internet, Computer Security and Cyber Ethics
Computer Network, Internet, Computer Security and Cyber EthicsSubas Paudel
 
Networking presentationNetworking presentation.pptNetworking presentation.ppt...
Networking presentationNetworking presentation.pptNetworking presentation.ppt...Networking presentationNetworking presentation.pptNetworking presentation.ppt...
Networking presentationNetworking presentation.pptNetworking presentation.ppt...nesarahmad37
 
06 - OSI Model.ppt
06 - OSI Model.ppt06 - OSI Model.ppt
06 - OSI Model.pptssuserf7cd2b
 
06 - OSI Model.ppt
06 - OSI Model.ppt06 - OSI Model.ppt
06 - OSI Model.pptssuserf7cd2b
 
computer networks
computer networkscomputer networks
computer networksdee_rosal
 
HowTheInternetWorks.ppt
HowTheInternetWorks.pptHowTheInternetWorks.ppt
HowTheInternetWorks.pptPrakhar Pandey
 

Semelhante a Slides internet technology (20)

Computer Networks Lecture Notes
Computer Networks Lecture NotesComputer Networks Lecture Notes
Computer Networks Lecture Notes
 
Osi model
Osi modelOsi model
Osi model
 
Networkprotocolstructurescope 130719081246-phpapp01
Networkprotocolstructurescope 130719081246-phpapp01Networkprotocolstructurescope 130719081246-phpapp01
Networkprotocolstructurescope 130719081246-phpapp01
 
Network protocol structure scope
Network protocol structure scopeNetwork protocol structure scope
Network protocol structure scope
 
Unit2.2
Unit2.2Unit2.2
Unit2.2
 
Networking lecture1
Networking lecture1Networking lecture1
Networking lecture1
 
networking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationnetworking hypherlink Group 2 presentation
networking hypherlink Group 2 presentation
 
Networking lec1 4
Networking lec1 4Networking lec1 4
Networking lec1 4
 
EDT 323 Internet and Intranet 2022 Final.pptx
EDT 323 Internet and Intranet 2022 Final.pptxEDT 323 Internet and Intranet 2022 Final.pptx
EDT 323 Internet and Intranet 2022 Final.pptx
 
Basic networking
Basic networkingBasic networking
Basic networking
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Networking basics
Networking basicsNetworking basics
Networking basics
 
Computer Network, Internet, Computer Security and Cyber Ethics
Computer Network, Internet, Computer Security and Cyber EthicsComputer Network, Internet, Computer Security and Cyber Ethics
Computer Network, Internet, Computer Security and Cyber Ethics
 
Computer Networks
Computer NetworksComputer Networks
Computer Networks
 
Networking presentationNetworking presentation.pptNetworking presentation.ppt...
Networking presentationNetworking presentation.pptNetworking presentation.ppt...Networking presentationNetworking presentation.pptNetworking presentation.ppt...
Networking presentationNetworking presentation.pptNetworking presentation.ppt...
 
06 - OSI Model.ppt
06 - OSI Model.ppt06 - OSI Model.ppt
06 - OSI Model.ppt
 
06 - OSI Model.ppt
06 - OSI Model.ppt06 - OSI Model.ppt
06 - OSI Model.ppt
 
Networking
NetworkingNetworking
Networking
 
computer networks
computer networkscomputer networks
computer networks
 
HowTheInternetWorks.ppt
HowTheInternetWorks.pptHowTheInternetWorks.ppt
HowTheInternetWorks.ppt
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Slides internet technology

  • 1. Internet Technology and Security http://en.wikipedia.org/wiki/Internet_Protocol_Suite https://www.coursera.org/course/insidetheinternet
  • 2. Unless otherwise noted, the content of these lecture slides are licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/. Copyright 2009-2012, Charles Severance, Martha Pollack, Paul Resnick You assume all responsibility for use and potential liability associated with any use of the material. Material contains copyrighted content, used in accordance with U.S. law. Copyright holders of content included in this material should contact open.michigan@umich.edu with any questions, corrections, or clarifications regarding the use of content. The Regents of the University of Michigan do not license the use of third party content posted to this site unless such a license is specifically granted in connection with particular content. Users of content are responsible for their compliance with applicable law. Mention of specific products in this material solely represents the opinion of the speaker and does not represent an endorsement by the University of Michigan. For more information about how to cite these materials visit http://michigan.educommons.net/about/terms-of-use. Any medical information in this material is intended to inform and educate and is not a tool for self-diagnosis or a replacement for medical evaluation, advice, diagnosis or treatment by a healthcare professional. You should speak to your physician or make an appointment to be seen if you have questions or concerns about this information or your medical condition. Viewer discretion is advised: Material may contain medical images that may be disturbing to some viewers.
  • 3. Copyright Thanks • Thanks to IEEE Computer for permisison to use IEEE Computer magazine articles associated with the videos • Thanks to Dave Malicke and Open Michigan (open.umich.edu) for help with copyright review of these materials
  • 5. Store and Forward Networking Leased Dialup http://en.wikipedia.org/wiki/BITNET Clipart: http://www.clker.com/search/networksym/1
  • 6. Research Networks 1960-1980’s 1960-1980’s December 1969 • How can we avoid having a direct connection between all pairs of computers? • How to transport messages efficiently? • How can we dynamically handle outages? August 1972 http://som.csudh.edu/fac/lpress/history/arpamaps/
  • 7. Heart, F., McKenzie, A., McQuillian, J., and Walden, D., ARPANET Completion Report, Bolt, Beranek and Newman, Burlington, MA, January 4, 1978. http://som.csudh.edu/fac/lpress/history/arpamaps/arpanetmar77.jpg
  • 8. Efficient Message Transmission: Packet Switching • Challenge: in a simple approach, like store-and-forward, large messages block small ones • Break each message into packets • Can allow the packets from a single message to travel over different paths, dynamically adjusting for use • Use special-purpose computers, called routers, for the traffic control
  • 9. Packet Switching - Hello there, have a nice day. Postcards Hello ther (1, csev, daphne) e, have a (2, csev, daphne) nice day. (3, csev, daphne)
  • 10. 1 2 3
  • 11. Packet Switching - Postcards Hello ther (1, csev, daphne) e, have a (2, csev, daphne) nice day. (3, Hello there, have a nice day.
  • 12. Shared Network Router Wide Area Network Local Area Network Cable or DSL Clipart: http://www.clker.com/search/networksym/1
  • 13. Shared Networks • In order to keep cost low and the connections short geographically - data would be forwarded through several routers. • Getting across the country usually takes about 10 “hops” • Network designers continually Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite add and remove links to “tune” their networks
  • 14. Layered Network Model Application Layer Web, E-Mail, File Transfer • A layered approach allows the problem of designing a network to Transport Layer (TCP) be broken into more manageable Reliable Connections sub problems Internetwork Layer (IP) • Best-known model: TCP/IP—the Simple, Unreliable “Internet Protocol Suite” Link Layer (Ethernet, WiFi) • There was also a 7 layer OSI: Open Physical Connections System Interconnection Model
  • 15. Internet Standards • The standards for all of the Internet protocols (inner workings) are developed by an organization • Internet Engineering Task Force (IETF) • www.ietf.org • Standards are called “RFCs” - Source: http://tools.ietf.org/html/rfc791 “Request for Comments”
  • 16. Layered Architecture • The Physical and Internet Layers are like trucks and trains - they haul stuff and get it to the right loading dock - it takes multiple steps • The Transport layer checks to see if the trucks made it and send the stuff again if necessary Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 17. Link Layer (aka Physical Layer) • As your data crosses the country may use a different physical medium for each “hop” • Wire, Wireless, Fiber Optic, etc. • The link is “one hop” - Is it up or down? Connected or not? • Very narrow focus - no view at all of the “whole Internet” Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 18. Problems solved by the Link Layer • How does data get pushed onto a link? • How is the link shared?
  • 19. Link Layer Addresses • Many physical layer devices have addresses built in to them by the manufacturer • Ethernet • Wireless Ethernet (Wifi)
  • 20. Link Layer • Physical addresses are to allow systems to identify themselves on the ends of a single link • Physical addresses go no farther than one link • Sometimes links like Wifi and Wired Ethernet are shared with multiple computers 0f:21:63:12:b3:1a 98:2f:4e:78:01:b4 Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 21. Sharing Nicely - Avoiding Chaos • CSMA/CD Carrier Sense Media Access with Collision Detection • To avoid garbled messages, systems must observe “rules” (Protocols) • Ethernet rules are simple • Wait for silence
  • 22. Internetwork Layer (IP) Application Layer Web, E-Mail, File Transfer (IP) Transport Layer (TCP) Reliable Connections http://en.wikipedia.org/wiki/Internet_Protocol http://en.wikipedia.org/wiki/Traceroute Internetwork Layer (IP) http://en.wikipedia.org/wiki/Ping Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections
  • 23. Internet Protocol Layer • Goal: Gets your data from this computer to the other computer half way across the world • Each router knows about nearby routers • IP Is best effort - it is OK to drop data if things go bad... Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 24. IP Addresses • The IP address is the worldwide number which is associated with one particular workstation or server • Every system which will send packets directly out across the Internet must have a unique IP address • IP addresses are based on where station is connected • IP addresses are not controlled by a single organization - address ranges are assigned • They are like phone numbers – they get reorganized once in a great while
  • 25.
  • 26. IP Address Format • Four numbers with dots - each number 1-255 (32 bits) • Kind of like phone numbers with an “area code” • The prefix of the address is “which network” • While the data is traversing the Internet - all that matters is the network number (734) 764 1855 141.211.144.188 Network Area code Number 141.211.*.*
  • 27. While in the network, all that matters is the Network number. 67.149.102.75 141.211.144.188 To: 67.149.*.* 67.149.*.* To: 67.149.94.33 To: 67.149.94.33 67.149.94.33 Clipart: http://www.clker.com/search/networksym/1
  • 28. No single router knows the whole network - just which way to send data to get it “closer” 67.149.102.75 141.211.144.188 To: 67.149.*.* ? ? 67.149.*.* 67.149.94.33 Clipart: http://www.clker.com/search/networksym/1
  • 29. Router Tables To: 67.149.*.* Lists of where to send packets, based on ? destination network address; ? bandwidth on adjacent links; traffic on adjacent links; state of neighbor nodes (up or not); ... Updated dynamically Routers “ask each other” for information Clipart: http://www.clker.com/search/networksym/1
  • 30. Thousands of IP Is Simple network connections. Billions of bytes of data per seconds. Local Network 67.149.*.* Thousands of user systems One “area code” to keep track of inside the 100’s of servers Internet. Clipart: http://www.clker.com/search/networksym/1
  • 31. DHCP = Dynamic Host Configuration Protocol Hello? Here I am 141.26.14.1-100 What IP Address can I use? 141.26.14.1 Use 141.26.14.7
  • 32. Non-Routable Addresses • A typical home router does Network Address Translation (NAT) • Your ISP gives your home router a real global routable address • Your router gives out local addresses in a special range (192.168.*.*) • The router maps remote addresses for each connection you make from within your home network http://en.wikipedia.org/wiki/Network_address_translation
  • 33. 141.206.14.3 192.168.0.20 192.168.0.1 192.168.0.104 192.168.0.1 35.8.2.10 192.168.0.20 192.168.0.1 173.44.26.18 NAT = Network Address Translation Clipart: http://www.clker.com/search/networksym/1
  • 35. Peering into the Internet • Most systems have a command that will reveal the route taken across the internet (traceroute on Mac and tracert on Windows) • Each IP packet has a field called “Time to Live” - TTL • The TTL is used to deal with loops in the network - normally if routers got confused and ended up with a loop - the network would clog up rapidly. To: 67.149.*.* Clipart: http://www.clker.com/search/networksym/1
  • 36. How Traceroute Works • Normal packets are sent with a Time to Live (TTL) of 255 hops • Trace route sends a packet with TTL=1, TTL=2, ... • So each packet gets part-way there and then gets dropped and traceroute gets a notification of where the drop happens • This builds a map of the nodes that a packet visits when crossing the Internet.
  • 37. Traceroute $ traceroute www.stanford.edutraceroute to www5.stanford.edu (171.67.20.37), 64 hops max, 40 byte packets 1 141.211.203.252 (141.211.203.252) 1.390 ms 0.534 ms 0.490 ms 2 v-bin-seb.r-bin seb.umnet.umich.edu (192.122.183.61) 0.591 ms 0.558 ms 0.570 ms 3 v-bin-seb-i2-aa.merit- aa2.umnet.umich.edu (192.12.80.33) 6.610 ms 6.545 ms 6.654 ms 4 192.122.183.30 (192.122.183.30) 7.919 ms 7.209 ms 7.122 ms 5 so-4-3-0.0.rtr.kans.net.internet2.edu (64.57.28.3 17.672 ms 17.836 ms 17.673 ms 6 so-0-1-0.0.rtr.hous.net.internet2.edu (64.57.28.57) 31.800 ms 41.967 ms 31.787 ms 7 so-3-0-0.0.rtr.losa.net.internet2.edu (64.57.28.44) 63.478 ms 63.704 ms 63.710 ms 8 hpr-lax-hpr--i2-newnet.cenic.net (137.164.26.132) 63.093 ms 63.026 ms 63.384 ms 9 svl-hpr--lax-hpr-10ge.cenic.net (137.164.25.13) 71.242 ms 71.542 ms 76.282 ms10 oak-hpr--svl- hpr-10ge.cenic.net (137.164.25.9) 72.744 ms 72.243 ms 72.556 ms11 hpr-stan-ge--oak- hpr.cenic.net (137.164.27.158) 73.763 ms 73.396 ms 73.665 ms12 bbra-rtr.Stanford.EDU (171.64.1.134) 73.577 ms 73.682 ms 73.492 ms13 * * *14 www5.Stanford.EDU (171.67.20.37) 77.317 ms 77.128 ms 77.648 ms
  • 38. Traceroute $ traceroute www.msu.edutraceroute to www.msu.edu (35.8.10.30), 64 hops max, 40 byte packets 141.211.203.252 (141.211.203.252) 2.644 ms 0.973 ms 14.162 ms 2 v-bin-seb.r-bin- seb.umnet.umich.edu (192.122.183.61) 1.847 ms 0.561 ms 0.496 ms 3 v-bin-seb-i2-aa.merit- aa2.umnet.umich.edu (192.12.80.33) 6.490 ms 6.499 ms 6.529 ms 4 lt-0-3-0x1.eq-chi2.mich.net (198.108.23.121) 8.096 ms 8.113 ms 8.103 ms 5 xe-0-0-0x23.msu6.mich.net (198.108.23.213) 7.831 ms 7.962 ms 7.965 ms 6 192.122.183.227 (192.122.183.227) 12.953 ms 12.339 ms 10.322 ms 7 cc-t1-ge1-23.net.msu.edu (35.9.101.209) 9.522 ms 9.406 ms 9.817 ms 8 * * *
  • 39. Traceroute $ traceroute www.pku.edu.cntraceroute: Warning: www.pku.edu.cn has multiple addresses; using 162.105.129.104traceroute to www.pku.edu.cn (162.105.129.104), 64 hops max, 40 byte packets 1 141.211.203.252 (141.211.203.252) 1.228 ms 0.584 ms 0.592 ms 2 v-bin-seb.r-bin- seb.umnet.umich.edu (192.122.183.61) 0.604 ms 0.565 ms 0.466 ms 3 v-bin-seb-i2-aa.merit- aa2.umnet.umich.edu (192.12.80.33) 7.511 ms 6.641 ms 6.588 ms 4 192.122.183.30 Michigan (192.122.183.30) 12.078 ms 6.989 ms 7.619 ms 5 192.31.99.133 (192.31.99.133) 7.666 ms 8.953 Tennessee ms 17.861 ms 6 192.31.99.170 (192.31.99.170) 59.275 ms 59.273 ms 59.108 ms 7 134.75.108.20 (134.75.108.209) 173.614 ms 173.552 ms 173.333 ms 8 134.75.107.10 (134.75.107.10) 256.760 m 134.75.107.18 (134.75.107.18) 256.574 ms 256.530 9 202.112.53.17 (202.112.53.17) 256.761 ms 256.801 ms 256.688 ms10 202.112.61.157 (202.112.61.157) 257.416 ms 257.960 ms 257.747 Seoul ms11 202.112.53.194 (202.112.53.194) 256.827 ms 257.068 ms 256.962 ms12 202.112.41.202 (202.112.41.202) 256.800 ms 257.053 ms 256.933 ms Beijing
  • 40. The perfect is the enemy of the good Le mieux est l'ennemi du bien. --Voltaire • IP Does: Best effort to get data across bunch of hops from one network to another network • IP Does Not: Guarantee delivery - if things go bad - the data can vanish • Best effort to keep track of the good and bad paths for traffic - tries to pick better paths when possible • This makes it fast and scalable to very large networks - and ultimately “reliable” because it does not try to do too much
  • 41. Domain Name System The Domain Name System convert user-friendly names, like www.umich.edu to network-friendly IP addresses, like Source: 141.211.32.166 http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 42. Domain Name System • Numeric addresses like 141.211.63.45 are great for Internet routers but lousy for people • Each campus ends up with a lot of networks (141.211.*.*, 65.43.21.*) • Sometimes (rarely) the IP address numbers get reorganized • When servers physically move they need new IP addresses
  • 43. DNS: Internet Address Book • The Domain Name System is a big fast distributed database of Internet names to Internet “phone numbers” • IP Addresses reflect technical “geography” • 141.211.63.44 - read left to right like a phone number • Domain names reflect organizational structure • www.si.umich.edu - read right to left like postal address • 2455 North Qaud, Ann Arbor, MI 48109, USA, Earth
  • 44. .edu .com .org .nl umich.edu si.umich.edu http://en.wikipedia.org/wiki/File:Domain_name_space.svg
  • 45. Looking Up A Domain Name • When a system sees a new domain name, it looks it up from its "closest" domain name server - this "close" domain name server is configured or handed out when the computer connects to the network • If that DNS server does not know the answer, the server works its way up the tree and then back down to a server that knows the mapping. • Then the local Domain Name server remembers the mapping so it only asks once per 24 hours (caching)
  • 46. Getting your own .com or .org... • You must choose an Internet Service Provider and get an account • www.godaddy.com • www.hostmonster.com ..... • Choose a name that is not taken • Can be harder than you think • Pay roughly $10.00 per year
  • 47. Internetwork Layer (IP) Application Layer Web, E-Mail, File Transfer (IP) Transport Layer (TCP) Reliable Connections http://en.wikipedia.org/wiki/Internet_Protocol http://en.wikipedia.org/wiki/Traceroute Internetwork Layer (IP) http://en.wikipedia.org/wiki/Ping Simple, Scalable, Unreliable Link Layer (Ethernet, WiFi) Physical Connections
  • 48. Application Layer Transport Layer Web, E-Mail, File Transfer Transport Layer (TCP) Reliable Connections Internetwork Layer (IP) http://en.wikipedia.org/wiki/Transmission_Control_Protocol Unreliable Simple, Scalable, Link Layer (Ethernet, WiFi) Physical Connections
  • 49. Review: The Magic of IP • What it does - Tries to get one packet across a 5-20 of hops from one network to another network • Keeps track of the good and bad paths for traffic - tries to pick better paths when possible • But no guarantee of delivery - if things go bad - the data vanishes • This makes it fast and scalable - and ultimately “reliable” because it does not try to do too "everything"
  • 50. Internet Protocol • So many links / hops • So many routes • Thinks can change dynamically and IP has to react (links up/down) • IP can drop packets Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 51. Transport Protocol (TCP) • Built on top of IP • Assumes IP might lose some data • In case data gets lost - we keep a copy of the data a we send until we get an acknowledgement • If it takes “too long” - just send it Source: again http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • 52. Sender Receiver 1 2 3 4 5 Break Messages into Pieces
  • 53. Sender Receiver 1 1 2 2 3 3 4 5 Break Messages into Pieces
  • 54. Got 1 Sender Where is 2?? Receiver 1 1 2 3 3 4 5 Break Messages into Pieces
  • 55. Sender Got 2 Receiver 1 1 2 2 3 3 4 4 5 Break Messages into Pieces
  • 56. Sender Got 4 Receiver 1 1 2 2 3 3 4 4 5 5 Break Messages into Pieces
  • 57. Sender Got 5 Receiver 1 1 2 2 3 3 4 4 5 5 Break Messages into Pieces
  • 58. Billions of computers connected to the internet; 100 thousands of routers. Hundreds of billions bytes of data enroute at any moment. Storage of enroute data done at the edges only! Clipart: http://www.clker.com/search/networksym/1
  • 59. One (of many) Scary Problem(s) • In 1987 as local campuses with 10 MBit networks were connected together using 56Kbit leased lines, things kind of fell apart • At some point, when there was a little too much traffic, it all fell apart... http://www.youtube.com/watch?v=1Vg1MeRYmWI http://en.wikipedia.org/wiki/Van_Jacobson http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
  • 60. Transport Protocol (TCP) • The responsibility of the transport layer is to present a reliable end- to-end pipe to the application • Data either arrives in the proper order or the connection is closed • TCP keeps buffers in the sending and destination system to keep data which has arrived out of order or to retransmit if necessary • TCP provides individual connections between applications
  • 61.
  • 62. Secure Sockets Layer (SSL) Security for TCP Security for TCP http://en.wikipedia.org/wiki/Secure_Sockets_Layer
  • 63. v v
  • 64. Packet Sniffing Clipart: http://www.clker.com/search/networksym/1 Photo CC BY: karindalziel (flickr) http://creativecommons.org/licenses/by/2.0/
  • 65. Transport Layer Security (TLS) • Used to be called “Secure Sockets Layer” (SSL) • Can view it as an extra layer “between” TCP and the application layer • It is very difficult but not impossible to break this security - normal people do not have the necessary compute resources to break TLS • Encrypting and decryption takes resources - so we use it for things when it is needed • The IP and TCP are unaware whether data has been encrypted
  • 66. Secure Application Protocols • There are often secure and unencrypted application protocols • http://www.facebook.com • https://www.facebook.com • Your browser tells you when using a secure connection - you should never type passwords into a non-secure connection • Especially over wireless - especially at a security conference...
  • 67. System to System Secure TCP/IP TCP/IP Your local connection Generally, the backbone of (particularly when the Internet is pretty wireless) is your greatest secure to prying eyes from exposure. generic baddies... Clipart: http://www.clker.com/search/networksym/1 Photo CC BY: karindalziel (flickr) http://creativecommons.org/licenses/by/2.0/ http://en.wikipedia.org/wiki/Secure_Sockets_Layer
  • 68.
  • 70. Digital Certificates In cryptography, a public key certificate (also known as a digital certificate or identity certificate) is an electronic document which uses a digital sign ature to bind a public key with an identity — information such as the name of a person or an organization, their address, and so forth. The certificate can be used to verify that a public key belongs to an individual. http://en.wikipedia.org/wiki/Public_key_certificate
  • 71. Certificate Authority (CA) A certificate authority is an entity that issues digital certificates. The digital certificate certifies the ownership of a public key by the named subject of the certificate. A CA is a trusted third party that is trusted by both the owner of the certificate and the party relying upon the certificate. http://en.wikipedia.org/wiki/Certificate_authority
  • 72.
  • 73. Your browser comes with certificates/public keys from some certificate authorities built in. Like Verisign.
  • 74. v v
  • 75. Application Layer Application Layer Web, E-Mail, File Transfer Transport Layer (TCP) Reliable Connections Internetwork Layer (IP) Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections
  • 76. Quick Review • Link layer: gets the data onto the link, and manages collisions on a single hop • Internet layer: moves the data over one hop, trying to get it “closer” to its destination • Transport layer: Assumes that the internet layer may lose data, so request retransmission when needed— Source: provides a nice reliable pipe from http://en.wikipedia.org/wiki/Internet_Protocol_Suite source to destination
  • 77. Application Protocol • Since TCP gives us a reliable pipe, what to we want to do with the pipe? What problem do we want to solve? • Mail • World Wide Web • Stream kitty videos Source: http://en.wikipedia.org/wiki/Internet_Protocol_S
  • 78. Two Questions for the Application Layer • Which application gets the data? • Ports • What are the rules for talking with that application? • Protocols http://en.wikipedia.org/wiki/TCP_and_UDP_port http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
  • 79. Ports • Like extensions in a phone number • The IP address network number (the area code) gets to the LAN • The IP address host number (the telephone number) gets you to the destination machine • The port (the extension) gets you to a specific application
  • 80. TCP, Ports, and Connections http://en.wikipedia.org/wiki/TCP_and_UDP_port http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
  • 81. www.umich.edu Incoming 25 E-Mail Login 23 blah blah blah blah 80 74.208.28.177 Web Server 443 Personal 109 Mail Box 110 Please connect me to the secure web server (port 443) on http://www.dr-chuck.com Clipart: http://www.clker.com/search/networksym/1
  • 82. Common TCP Ports • Telnet (23) - Login • SSH (22) - Secure Login • HTTP (80) • HTTPS (443) - Secure • SMTP (25) (Mail) • http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers IMAP (143/220/993) - Mail Retrieval
  • 83. Application Protocols http://en.wikipedia.org/wiki/Http http://en.wikipedia.org/wiki/Pop3
  • 84. Application Protocol • Since TCP gives us a reliable pipe, what to we want to do with the pipe? What problem do we want to solve? • Mail • World Wide Web • Stream kitty videos Source: http://en.wikipedia.org/wiki/Internet_Protocol_S
  • 85. HTTP - Hypertext Transport Protocol • The dominant Application Layer Protocol on the Internet • Invented for the Web - to Retrieve HTML, Images, Documents etc • Extended to be data in addition to documents - RSS, Web Services, etc.. • Basic Concept - Make a Connection - Request a document - Retrieve the Document - Close the Connection http://en.wikipedia.org/wiki/Http
  • 86. HTTP Request / Response Cycle Web Server HTTP HTTP Request Response Browser Internet Explorer, FireFox, Safari, etc. http://www.oreilly.com/openbook/cgi/ch04_02.html Source: http://www.dr-chuck.com/
  • 87. HTTP Request / Response Cycle Web Server <head> .. </head> <body> HTTP HTTP <h1>Welcome to my GET /index.html Request Response application</h1> .... </body> Browser Internet Explorer, FireFox, Safari, etc. http://www.oreilly.com/openbook/cgi/ch04_02.html Source: http://www.dr-chuck.com/
  • 88. Internet Standards • The standards for all of the Internet protocols (inner workings) are developed by an organization • Internet Engineering Task Force (IETF) • www.ietf.org • Standards are called “RFCs” - “Request for Comments” Source: http://www.ietf.org/rfc/rfc1945.txt
  • 89.
  • 91. “Hacking” HTTP Web Server Last login: Wed Oct 10 04:20:19 on ttyp2 HTTP HTTP si-csev-mbp:~ csev$ telnet www.dr-chuck.com 80 Request Response Trying 74.208.28.177...Connected to www.dr-chuck.com. Escape character is '^]'. GET http://www.dr-chuck.com/page1.htm Browser <h1>The First Page</h1><p>If you like, you can switch to the <a href="http://www.dr-chuck.com/page2.htm">Second Page</a>.</p> Port 80 is the non-encrypted HTTP port
  • 92. Accurate Hacking in the Movies • Matrix Reloaded • Bourne Ultimatum • Die Hard 4 • ... http://nmap.org/movies.html (scroll down for video) Or search YouTube for "Trinity hacking scene"
  • 93. http://nmap.org/movies.html (scroll down for video) Or search YouTube for "Trinity hacking scene"
  • 94. Application Layer Summary • We start with a “pipe” abstraction - we can send and receive data on the same “socket” • We can optionally add a security layer to TCP using SSL - Secure Socket Layer (aka TLS - Transport Layer Security) • We use well known “port numbers” so that applications can find a particular application *within* a server such as a mail server, web service, etc
  • 95. The Architecture of Application Layer Web, E-Mail, File Transfer the Internet Transport Layer (TCP) Reliable Connections August 1972 Internetwork Layer (IP) Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections
  • 96. The Architecture of Application Layer Web, E-Mail, File Transfer the Internet Transport Layer (TCP) Reliable Connections Internetwork Layer (IP) Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections
  • 97. Application Layer Web, E-Mail, File Transfer Transport Layer (TCP) Reliable Connections Internetwork Layer (IP) Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections http://www.zakon.org/robert/internet/timeline/
  • 98. Application Layer Web, E-Mail, File Transfer Transport Layer (TCP) Reliable Connections Internetwork Layer (IP) Simple, Unreliable Link Layer (Ethernet, WiFi) Physical Connections http://en.wikipedia.org/wiki/File:Internet_map_1024.jpg
  • 99. The Internet: An Amazing Design • Hundreds of millions of computers • Thousands of routers inside the Internet • Hundreds of millions of simultaneous connections • Trillions of bytes of data moved per second around the world • And it works
  • 100. The Internet • It is said that “The Internet is the largest single engineering effort ever created by mankind” • It was created to work in an organic way - to repair itself and automatically adjust when parts fail • No one part of the Internet knows all of the Internet (like life) • It is never 100% up - but it seems up all the time
  • 101.
  • 102. Additional Source Information • xkcd, http://xkcd.com/742/, CC: BY-NC, http://creativecommons.org/licenses/by-nc/2.5/ • Internet Protocol Suite Diagrams: Kbrose, Wikimedia Commons, http://upload.wikimedia.org/wikipedia/commons/c/c4/IP_stack_connections.svg, CC:BY-SA, http://creativecommons.org/licenses/by-sa/3.0/deed.en • All your bases are belong to me: Karin Dalziel, Flickr, http://www.flickr.com/photos/nirak/270213335/, CC:BY, http://creativecommons.org/licenses/by/2.0/deed.en • Internet Map: The Opte Project, Wikimedia Commons, http://upload.wikimedia.org/wikipedia/commons/d/d2/Internet_map_1024.jpg, CC:BY, http://creativecommons.org/licenses/by/2.5/deed.en

Notas do Editor

  1. Animate Store and Forward.
  2. Early approach = store and forward: at each hop, wait until the whole message arrives, then pass on. Problem: if a big message gets in line first, a small message has to wait forever. Alternative: packets. Small chunks of message that can be interleaved on the “wire”, and then re-assembled at the destination. (Example: M1 message that take 5 minutes from A to B; M2 message that takes 1 second. In store and forward, if M1 is there first, M2 takes 5 minutes and 1 second. If packet-switching, if M1 gets there first, then once M2 arrives, it has a 50% chance of transmitting next, so on average it will take 1.5 seconds (sometimes 1, sometimes 2), and M2 will take 5 min. and 1 sec.) And even better, can break up a message and send it over different paths, depending on traffic conditions, re-assembling at the other end. With store-and-forward, the intermediate machines were regular old general purpose computers. With the introduction of packet-switching, developed special processors, called routers, that we tuned to the problem of “routing”: forwarding on messages. Seems obvious now—but working out the details was challenging; took 20 years of work.
  3. Here’s what today’s internet looks like. Have LANs: LAN = network in an area where you can legally drag a cable without getting into trouble; WAN = if you tried to do that, you’d be breaking the law LANs connected together into a WAN WAN use routers the transmit data Can connect to a WAN via a cable modem or DSL (digital subscriber line); connect within a LAN via ethernet or wifi
  4. Instead of establishing a dedicated connection between every pair of computers—much too expensive—create shared “wires” along which multiple messages can pass.
  5. TCP = transmission control protocol IP = internet protocol The 7-layer model got bogged down in committee discussions and votes and eventually died. The 4-layer model was crude but effective—less elegant, but it worked! Each level is clearly different from the other.
  6. The standards (the “guts”) of the Internet protocols are developed by IETF IETF was run by a bunch of engineers who didn’t like bureaucracy, didn’t like committees, didn’t like votes or lots of process. So they put out lots and lots of documents called RFCs—requests for comments. Encoded their values and mission in them. Wasn’t a push to get broad agreement. People put out RFCs, and a small group of companies might start using them. Then when other people saw problems, they would suggest corrections; it was a very fluid system, and one in which standards were never really “finished”. Now about 3000 of them. Many of the standards never got wide use, others are now obsolete, but a small number form the heart of the interent, e.g RFC 791 = IP. Approach was to come up with ideas, try them out, see what worked, move forward. There were good reasons for this, beyond engineer’s dislike of bureaucracy. There were big companies, such as the telephone companies (ATT), large computer vendors (IBM), etc. that would have preferred that the internet never exist. So upstarts like Sun and Cisco had to just barrel forward. If you took votes, the big companies would vote things down, and so they structured this for innovation to thrive.
  7. So how do we avoid everything getting into one another’s way? Everything has a serial number assigned to it. Your computer does, so does the wireless access point, or the internet router, etc. When a connection gets formed, the two linked device now recognize each other by their physical address. Note that while your computer only talks to 1 WAP, the WAP talks to many devices. It needs to keep track of all of them. Put too many on and it will crash. The gadget in the ceiling can only handle about 100 or so devides. If 2000 people walked into this room now with laptops, the WAP would likely immediately crash. In meeting rooms, etc., use multiple WAPs. At a conference, you may notice sporadic access on wifi. When it reaches its limit, you get rejected. When you finally get access, it’s likely because someone else has left.
  8. So, here’s the picture so far. But there’s one other key problem for the Link Layer: how do you avoid chaos, with many “voices” (i.e., many devices) clashing with one another on the same link
  9. “ Carrier” = tell the difference between silence and something being sent. Carrier means something is being sent. Last step important: if we keep waiting and then restarting again at the same time, we’ll never get there—like the dance people sometimes do when they’re passing in the hallway Solution: generate a random number and use that to decide when to go next Odds are that that spreads out the retransmission. Could in principle build an evil wireless card, that always immediately went again. If it happened to conflict with another device, that device would think it was an accident, would wait, generate another random number, and likely go later. Luckily, very hard to do this, since the link layer is embedded in the hardware of devices. Alternative: token passing (talking stick)
  10. TCP = transmission control protocol IP = internet protocol The 7-layer model got bogged down in committee discussions and votes and eventually died. The 4-layer model was crude but effective—less elegant, but it worked! Each level is clearly different from the other.
  11. Number is assigned using yet another internet protocol: DHCP (dynamic host configuration protocol) Also used by your ISP (internet service provider), as well as in many LANS—”stretches” the number of IP addresses available
  12. Number is assigned using yet another internet protocol: DHCP (dynamic host configuration protocol) Also used by your ISP (internet service provider), as well as in many LANS—”stretches” the number of IP addresses available
  13. Usually we treat the internet as an abstraction or “black box”, but if we want to, we can peer into the internet to see how the packets move from one location to another—what is the path of hops? While every router has on average some wrong information, there are some mistakes that cause huge problem: one is the existence of loops. Note that the loops could be much longer than 3—could be 25 or 30 hops long.
  14. Because of the risks associated with Traceroute, some networks will configure to block traceroute requests.. Tracert can potentially be used by hackers to obtain sensitive information about network architecture. Anyone can use it to figure out how packets are getting routed.
  15. Note that the postcard back tells both the location and the amount of time it took to get there and back. Each line reports an attempt to send packets that many hops away. Shows the times for 3 attempts (so you can get a better picture, smoothing over problems). If the numbers are very different from one another, it means there’s a lot of traffice. 1.4 ms for first hop (about 1 one thousandth). For all 14 hops, 78 ms (almost a tenth of a second) * * * is from a router that is configured not to return a postcard.
  16. Here we’re going to Michigan state. Takes about 10 ms—a hundredth of a second. Routers are very fast!
  17. Now takes a fifth of a second overall
  18. If a router doesn’t know what to do with a piece of data, it throws it away, and assumes that someone else will deal with it. Part of the argument for this has become know as the &quot;end-to-end&quot; argument. If a feature like reliability or encryption is going to have to be provided anyway from end to end, it&apos;s better not to try to provide it on each link in the network. It&apos;s not a universal truth. It happens work well for the Internet because the transmission failure rate on each link is very low. If the failure rate on each hop were higher, it would be worth putting more resources into error detection and correction.
  19. So if a domain name gets a new IP address, it may not be accessible for up to 24 hours. (Big companies at the time of a change will create a duplicate system, and have the old address point to the new one, until the change has propagated through the network.)
  20. TCP = transmission control protocol IP = internet protocol The 7-layer model got bogged down in committee discussions and votes and eventually died. The 4-layer model was crude but effective—less elegant, but it worked! Each level is clearly different from the other.
  21. TCP = transmission control protocol IP = internet protocol The 7-layer model got bogged down in committee discussions and votes and eventually died. The 4-layer model was crude but effective—less elegant, but it worked! Each level is clearly different from the other.
  22. In an https browser, there will be information about who you’re actually connected to The spoofer can “lie” about everything but can’t sign it; your browser knows who’s signed it (who the “Issuer” is).