SlideShare a Scribd company logo
Fundamental Concepts



   OWASP Hyderabad
    Oct 10th, 2009

  Marc-André Laverdière
Agenda
●   Network Basics
●   IP, TCP, UDP, DNS
●   Internet Architecture
●   Static Web architecture
●   HTTP features
●   REST-based architecture


    (P.S. All images courtesy of Wikipedia)
Network Basics
●   OSI 7 Layer Model
Network Topologies
         ●   Point to point: using
             a switch or
             dedicated wiring
         ●   Bus: common wire,
             like in cable internet
         ●   Star: central hub
         ●   Ring: token ring
         ●   Mesh: redudancies
         ●   Tree: hierarchical
Network Terms
●   Client: computer that requests a service
●   Server: computer that fulfills the request
●   Gateway: point of contact to another network
●   Proxy: intermediary for making requests to servers.
    Often caches resources
●   Router: forwards information
●   Hub: connects many network segments
●   Switch: more efficient hub
●   Link: connection between two points
IP
 ●   IP: Internet Protocol
 ●   Used to send
     packets between
     point A and point B
 ●   No delivery
     guarantee
 ●   Two current
     versions: IPv4 and
     IPv6
IPv4 vs IPv6
●   IPv6 adds many features to IPv4:
       –   Greater address space
       –   Supports autoconfiguration
       –   Multicast
       –   Mandatory IPSec (encryption, authentication,
            tunelling)
       –   Removed rare fields, redundant checksum
       –   Larger max packet size (4GB)
       –   Support for mobile devices
NAT
●   Network Address Translation, used with IP
    masquerading
●   Used to make one IP address as front-end
    for many. E.g. Wireless hub+router
●   Gateway rewrites the packets so that they
    look like they all originate from the gateway
●   Breaks some applications, like SIP and some
    peer-to-peer clients
TCP
●   Transmission Control Protocol
●   Allows reliable transmissions
●   Error detection
●   Flow/congestion control
●   Add concept of port
●   Connection-based
UDP
●   User Datagram Protocol
●   Ports
●   Fast
●   No integrity checking/resending
DNS
●   Domain
    Name
    System
●   UDP main
●   Some TCP
●   13 root
    clusters
Internet Architecture
●   Interconnected computer networks
●   TCP/IP
●   DNS
●   Lots of hardware
●   Supports many things
       –   WWW
       –   Email
       –   Usenet
       –   IRC
Network concepts
Static Web Architecture
●   Www: portion of the Internet for retrieval of
    hyperdocuments
●   Multiple clients, multiple servers
●   All resources are static
●   Documents can include or refer to other
    resources
●   Resources are organized under websites
●   DNS, HTTP, HTML
HTTP
●   HyperText Transfer       ●   Verbs:
    Protocol                     –   HEAD: get metadata
●   Text-based                   –   GET: get a resource
                                     POST: submit data to a
●   Binary content must be       –
                                     resource
    encoded (often
                                 –   PUT: upload a resource
    Base64)
                                 –   DELETE
●   One connection per           –   TRACE: echo back the
    request (HTTP 1.0) or            request
    one connection for           –   OPTIONS: list supported
    many (HTTP 1.1)                  methods
●   Stateless                    –   CONNECT: create a tunnel
HTTP Request
●   User-Agent Opera/9.64 (X11; Linux i686; U; en)
    Presto/2.1.1
●   Host   www.wired.com
●   Accept   text/html, application/xml;q=0.9,
    application/xhtml+xml, image/png, image/jpeg,
    image/gif, image/x-xbitmap, */*;q=0.1
●   Accept-Language    en-IN,en;q=0.9
●   Accept-Charset iso-8859-1, utf-8, utf-16, *;q=0.1
●   Accept-Encoding    deflate, gzip, x-gzip, identity,
    *;q=0
●   Cookie    [cut]
●   Cookie2   $Version=1
●   Proxy-Connection   Keep-Alive
HTTP Response Header
●   HTTP/1.1 200 OK
●    Date: Mon, 23 May 2005 22:38:34 GMT
●    Server: Apache/1.3.3.7 (Unix)   (Red-Hat/Linux)
●    Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
●    Etag: "3f80f-1b6-3e1cb03b"
●    Accept-Ranges: bytes
●    Content-Length: 438
●    Connection: close
●    Content-Type: text/html; charset=UTF-8
Cookies
●   Cookies are values determined by the server
    that are stored by the client
●   The client automatically sends the cookie
    value on every request to the server
REST-Based Architecture
●   Problem: what I described is static. We need
    to execute code to have Web Applications
●   Principles:
        –   Everything goes through the resources.
             Resources are different than the
             representation given to the clients
        –   Resources can be manipulated through the
             representation
        –   Each message is self-descriptive
        –   Hypermedia contains the application state
Essentially
●   Applications react to queries from the clients
    only. Nothing happens without a query.
●   Resource access is free to trigger any
    processing

More Related Content

PDF
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
PDF
IoT Communication Protocols
PPTX
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
PDF
How do Things talk? IoT Application Protocols 101
PPTX
Understanding of MQTT for IoT Projects
PPTX
Iot protocols seminar
PDF
Internet of Things (IoT) protocols COAP MQTT OSCON2014
PPTX
message communication protocols in IoT
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
How do Things talk? IoT Application Protocols 101
Understanding of MQTT for IoT Projects
Iot protocols seminar
Internet of Things (IoT) protocols COAP MQTT OSCON2014
message communication protocols in IoT

What's hot (20)

PDF
IoT Protocol ( 22 Aug 2015 )
PPTX
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
PPTX
Protocols for internet of things
PDF
JavaZone 2016 : MQTT and CoAP for the Java Developer
PDF
VPN Theory
PPT
Cisco Router As A Vpn Server
PPTX
How Secure are IPsec and SSL VPN encryptions
PPTX
VPN presentation
PDF
Protocols for IoT
PDF
Link Layer Protocols for WSN-based IoT
PDF
An introduction to MQTT
PDF
MQTT and CoAP
PDF
Introduction MQTT in English
PPTX
EMQ Company Deck
 
PDF
VPN - Virtual Private Network
PDF
ARM CoAP Tutorial
PDF
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
PPT
Vpn networks kami
PDF
MQTT – protocol for yours IoT
IoT Protocol ( 22 Aug 2015 )
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
Protocols for internet of things
JavaZone 2016 : MQTT and CoAP for the Java Developer
VPN Theory
Cisco Router As A Vpn Server
How Secure are IPsec and SSL VPN encryptions
VPN presentation
Protocols for IoT
Link Layer Protocols for WSN-based IoT
An introduction to MQTT
MQTT and CoAP
Introduction MQTT in English
EMQ Company Deck
 
VPN - Virtual Private Network
ARM CoAP Tutorial
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
Vpn networks kami
MQTT – protocol for yours IoT
Ad

Viewers also liked (14)

PPT
[null]Iso 27001 a business view
PDF
Facebook Attacks By dinesh
PPT
[null] Iso 27001 a business view by Sripathi
PPTX
Matriux Leandros - BSidesLV 2013
PPT
[null]Metapwn - Pwn at a puff by Prajwal Panchmahalkar
PPTX
Maanav Jugaad - Social Engineering
PPTX
Energy aware efficient geographic routing in lossy wireless Networks
PPT
ODP
Null who and_where (1)
PPT
PPTX
Energy Aware Fault Tolerant SPMS Protocol in Wireless Sensor Networks
PPTX
Fault tolerant energy aware data dissemination protocol in WSN
[null]Iso 27001 a business view
Facebook Attacks By dinesh
[null] Iso 27001 a business view by Sripathi
Matriux Leandros - BSidesLV 2013
[null]Metapwn - Pwn at a puff by Prajwal Panchmahalkar
Maanav Jugaad - Social Engineering
Energy aware efficient geographic routing in lossy wireless Networks
Null who and_where (1)
Energy Aware Fault Tolerant SPMS Protocol in Wireless Sensor Networks
Fault tolerant energy aware data dissemination protocol in WSN
Ad

Similar to Network concepts (20)

PPT
21 Www Web Services
PDF
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
PDF
Mike Taulty DevDays 2010 Silverlight 4 Networking
PDF
Code for Startup MVP (Ruby on Rails) Session 1
PPTX
introduction for web connectivity (IoT)
PDF
Unit v
PPTX
WebSocket protocol
PPT
App layer
PPTX
Web technologies: HTTP
PPT
Chapter1 intro
PDF
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
PDF
Introdution to networking
PDF
Understanding computer networks
PDF
HTTP colon slash slash: the end of the road?
PPTX
About HTTP and REST
PPTX
Module 5 Application and presentation Layer .pptx
PPT
Lecture 1 4
PDF
REST in Practice
PPTX
Lec 01 Introduction.pptx
PDF
Lecture 11 client_server_interaction
21 Www Web Services
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Mike Taulty DevDays 2010 Silverlight 4 Networking
Code for Startup MVP (Ruby on Rails) Session 1
introduction for web connectivity (IoT)
Unit v
WebSocket protocol
App layer
Web technologies: HTTP
Chapter1 intro
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
Introdution to networking
Understanding computer networks
HTTP colon slash slash: the end of the road?
About HTTP and REST
Module 5 Application and presentation Layer .pptx
Lecture 1 4
REST in Practice
Lec 01 Introduction.pptx
Lecture 11 client_server_interaction

Network concepts

  • 1. Fundamental Concepts OWASP Hyderabad Oct 10th, 2009 Marc-André Laverdière
  • 2. Agenda ● Network Basics ● IP, TCP, UDP, DNS ● Internet Architecture ● Static Web architecture ● HTTP features ● REST-based architecture (P.S. All images courtesy of Wikipedia)
  • 3. Network Basics ● OSI 7 Layer Model
  • 4. Network Topologies ● Point to point: using a switch or dedicated wiring ● Bus: common wire, like in cable internet ● Star: central hub ● Ring: token ring ● Mesh: redudancies ● Tree: hierarchical
  • 5. Network Terms ● Client: computer that requests a service ● Server: computer that fulfills the request ● Gateway: point of contact to another network ● Proxy: intermediary for making requests to servers. Often caches resources ● Router: forwards information ● Hub: connects many network segments ● Switch: more efficient hub ● Link: connection between two points
  • 6. IP ● IP: Internet Protocol ● Used to send packets between point A and point B ● No delivery guarantee ● Two current versions: IPv4 and IPv6
  • 7. IPv4 vs IPv6 ● IPv6 adds many features to IPv4: – Greater address space – Supports autoconfiguration – Multicast – Mandatory IPSec (encryption, authentication, tunelling) – Removed rare fields, redundant checksum – Larger max packet size (4GB) – Support for mobile devices
  • 8. NAT ● Network Address Translation, used with IP masquerading ● Used to make one IP address as front-end for many. E.g. Wireless hub+router ● Gateway rewrites the packets so that they look like they all originate from the gateway ● Breaks some applications, like SIP and some peer-to-peer clients
  • 9. TCP ● Transmission Control Protocol ● Allows reliable transmissions ● Error detection ● Flow/congestion control ● Add concept of port ● Connection-based
  • 10. UDP ● User Datagram Protocol ● Ports ● Fast ● No integrity checking/resending
  • 11. DNS ● Domain Name System ● UDP main ● Some TCP ● 13 root clusters
  • 12. Internet Architecture ● Interconnected computer networks ● TCP/IP ● DNS ● Lots of hardware ● Supports many things – WWW – Email – Usenet – IRC
  • 14. Static Web Architecture ● Www: portion of the Internet for retrieval of hyperdocuments ● Multiple clients, multiple servers ● All resources are static ● Documents can include or refer to other resources ● Resources are organized under websites ● DNS, HTTP, HTML
  • 15. HTTP ● HyperText Transfer ● Verbs: Protocol – HEAD: get metadata ● Text-based – GET: get a resource POST: submit data to a ● Binary content must be – resource encoded (often – PUT: upload a resource Base64) – DELETE ● One connection per – TRACE: echo back the request (HTTP 1.0) or request one connection for – OPTIONS: list supported many (HTTP 1.1) methods ● Stateless – CONNECT: create a tunnel
  • 16. HTTP Request ● User-Agent Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1 ● Host www.wired.com ● Accept text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 ● Accept-Language en-IN,en;q=0.9 ● Accept-Charset iso-8859-1, utf-8, utf-16, *;q=0.1 ● Accept-Encoding deflate, gzip, x-gzip, identity, *;q=0 ● Cookie [cut] ● Cookie2 $Version=1 ● Proxy-Connection Keep-Alive
  • 17. HTTP Response Header ● HTTP/1.1 200 OK ● Date: Mon, 23 May 2005 22:38:34 GMT ● Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) ● Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT ● Etag: "3f80f-1b6-3e1cb03b" ● Accept-Ranges: bytes ● Content-Length: 438 ● Connection: close ● Content-Type: text/html; charset=UTF-8
  • 18. Cookies ● Cookies are values determined by the server that are stored by the client ● The client automatically sends the cookie value on every request to the server
  • 19. REST-Based Architecture ● Problem: what I described is static. We need to execute code to have Web Applications ● Principles: – Everything goes through the resources. Resources are different than the representation given to the clients – Resources can be manipulated through the representation – Each message is self-descriptive – Hypermedia contains the application state
  • 20. Essentially ● Applications react to queries from the clients only. Nothing happens without a query. ● Resource access is free to trigger any processing