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

What's hot (20)

PDF
IoT Protocol ( 22 Aug 2015 )
Adun Nanthakaew
 
PPTX
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
PeterNiblett
 
PPTX
Protocols for internet of things
Charles Gibbons
 
PDF
JavaZone 2016 : MQTT and CoAP for the Java Developer
Mark West
 
PDF
VPN Theory
LJ PROJECTS
 
PPT
Cisco Router As A Vpn Server
mmoizuddin
 
PPTX
How Secure are IPsec and SSL VPN encryptions
Uday Bhatia
 
PPTX
VPN presentation
Riazehri
 
PDF
Protocols for IoT
Aravindhan G K
 
PDF
Link Layer Protocols for WSN-based IoT
Prasant Misra
 
PDF
An introduction to MQTT
Alexandre Moreno
 
PDF
MQTT and CoAP
ITVoyagers
 
PDF
Introduction MQTT in English
Eric Xiao
 
PPTX
EMQ Company Deck
EMQ
 
PDF
VPN - Virtual Private Network
Peter R. Egli
 
PDF
ARM CoAP Tutorial
zdshelby
 
PDF
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
Andy Piper
 
PPT
Vpn networks kami
kamran_share
 
PDF
MQTT – protocol for yours IoT
Miroslav Resetar
 
IoT Protocol ( 22 Aug 2015 )
Adun Nanthakaew
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
PeterNiblett
 
Protocols for internet of things
Charles Gibbons
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
Mark West
 
VPN Theory
LJ PROJECTS
 
Cisco Router As A Vpn Server
mmoizuddin
 
How Secure are IPsec and SSL VPN encryptions
Uday Bhatia
 
VPN presentation
Riazehri
 
Protocols for IoT
Aravindhan G K
 
Link Layer Protocols for WSN-based IoT
Prasant Misra
 
An introduction to MQTT
Alexandre Moreno
 
MQTT and CoAP
ITVoyagers
 
Introduction MQTT in English
Eric Xiao
 
EMQ Company Deck
EMQ
 
VPN - Virtual Private Network
Peter R. Egli
 
ARM CoAP Tutorial
zdshelby
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
Andy Piper
 
Vpn networks kami
kamran_share
 
MQTT – protocol for yours IoT
Miroslav Resetar
 

Viewers also liked (14)

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

Similar to Network concepts (20)

PDF
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Steffen Gebert
 
ODP
The Internet of Things ... Babel
NaLUG
 
PDF
gRPC Design and Implementation
Varun Talwar
 
PPTX
Web technologies: recap on TCP-IP
Piero Fraternali
 
PDF
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
Codemotion
 
PDF
Computer network (10)
NYversity
 
PDF
Networks Have Layers - Understanding The OSI Model
Brandon Checketts
 
PDF
RPC in Smalltalk
ESUG
 
PDF
Linux Servers
Ranjith Siji
 
PDF
Design Web Service API by HungerStation
ArabNet ME
 
PDF
Apache HTTPd Server 2.2 Presentation
ultimatetux
 
PDF
Building high performance microservices in finance with Apache Thrift
RX-M Enterprises LLC
 
PPTX
.NET Conf 2022 - Networking in .NET 7
Karel Zikmund
 
PDF
HTTP/2: What's new?
Piet van Dongen
 
ODP
There and back again
Jon Spriggs
 
PDF
Linux Hosting Training Course Level 1-2
Ramy Allam
 
PDF
LEC_10_Week_10_Server_Configuration_in_Linux.pdf
MahtabAhmedQureshi
 
PDF
From Device to Data Center to Insights
DataWorks Summit/Hadoop Summit
 
PPTX
Network tunneling techniques
inbroker
 
PDF
Linux advanced concepts - Part 2
NAILBITER
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Steffen Gebert
 
The Internet of Things ... Babel
NaLUG
 
gRPC Design and Implementation
Varun Talwar
 
Web technologies: recap on TCP-IP
Piero Fraternali
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
Codemotion
 
Computer network (10)
NYversity
 
Networks Have Layers - Understanding The OSI Model
Brandon Checketts
 
RPC in Smalltalk
ESUG
 
Linux Servers
Ranjith Siji
 
Design Web Service API by HungerStation
ArabNet ME
 
Apache HTTPd Server 2.2 Presentation
ultimatetux
 
Building high performance microservices in finance with Apache Thrift
RX-M Enterprises LLC
 
.NET Conf 2022 - Networking in .NET 7
Karel Zikmund
 
HTTP/2: What's new?
Piet van Dongen
 
There and back again
Jon Spriggs
 
Linux Hosting Training Course Level 1-2
Ramy Allam
 
LEC_10_Week_10_Server_Configuration_in_Linux.pdf
MahtabAhmedQureshi
 
From Device to Data Center to Insights
DataWorks Summit/Hadoop Summit
 
Network tunneling techniques
inbroker
 
Linux advanced concepts - Part 2
NAILBITER
 
Ad

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