SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

IoT Protocol ( 22 Aug 2015 )
IoT Protocol ( 22 Aug 2015 )IoT Protocol ( 22 Aug 2015 )
IoT Protocol ( 22 Aug 2015 )Adun Nanthakaew
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)PeterNiblett
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of thingsCharles Gibbons
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperMark West
 
Cisco Router As A Vpn Server
Cisco Router As A Vpn ServerCisco Router As A Vpn Server
Cisco Router As A Vpn Servermmoizuddin
 
How Secure are IPsec and SSL VPN encryptions
How Secure are IPsec and SSL VPN encryptionsHow Secure are IPsec and SSL VPN encryptions
How Secure are IPsec and SSL VPN encryptionsUday Bhatia
 
VPN presentation
VPN presentationVPN presentation
VPN presentationRiazehri
 
Link Layer Protocols for WSN-based IoT
Link Layer Protocols for WSN-based IoTLink Layer Protocols for WSN-based IoT
Link Layer Protocols for WSN-based IoTPrasant Misra
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company DeckEMQ
 
VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private NetworkPeter R. Egli
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsAndy Piper
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoTMiroslav Resetar
 

Was ist angesagt? (20)

IoT Protocol ( 22 Aug 2015 )
IoT Protocol ( 22 Aug 2015 )IoT Protocol ( 22 Aug 2015 )
IoT Protocol ( 22 Aug 2015 )
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
 
VPN Theory
VPN TheoryVPN Theory
VPN Theory
 
Cisco Router As A Vpn Server
Cisco Router As A Vpn ServerCisco Router As A Vpn Server
Cisco Router As A Vpn Server
 
How Secure are IPsec and SSL VPN encryptions
How Secure are IPsec and SSL VPN encryptionsHow Secure are IPsec and SSL VPN encryptions
How Secure are IPsec and SSL VPN encryptions
 
Vpn
VpnVpn
Vpn
 
VPN presentation
VPN presentationVPN presentation
VPN presentation
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
Link Layer Protocols for WSN-based IoT
Link Layer Protocols for WSN-based IoTLink Layer Protocols for WSN-based IoT
Link Layer Protocols for WSN-based IoT
 
An introduction to MQTT
An introduction to MQTTAn introduction to MQTT
An introduction to MQTT
 
MQTT and CoAP
MQTT and CoAPMQTT and CoAP
MQTT and CoAP
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company Deck
 
VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private Network
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
 
Vpn networks kami
Vpn networks kamiVpn networks kami
Vpn networks kami
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoT
 

Andere mochten auch

Andere mochten auch (14)

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

Ähnlich wie Network concepts

Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebSteffen Gebert
 
The Internet of Things ... Babel
The Internet of Things ... BabelThe Internet of Things ... Babel
The Internet of Things ... BabelNaLUG
 
gRPC Design and Implementation
gRPC Design and ImplementationgRPC Design and Implementation
gRPC Design and ImplementationVarun Talwar
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IPPiero Fraternali
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017Codemotion
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)NYversity
 
Networks Have Layers - Understanding The OSI Model
Networks Have Layers - Understanding The OSI ModelNetworks Have Layers - Understanding The OSI Model
Networks Have Layers - Understanding The OSI ModelBrandon Checketts
 
RPC in Smalltalk
 RPC in Smalltalk RPC in Smalltalk
RPC in SmalltalkESUG
 
Design Web Service API by HungerStation
Design Web Service API by HungerStationDesign Web Service API by HungerStation
Design Web Service API by HungerStationArabNet ME
 
Apache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 PresentationApache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 Presentationultimatetux
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftRX-M Enterprises LLC
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7Karel Zikmund
 
There and back again
There and back againThere and back again
There and back againJon Spriggs
 
Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2Ramy Allam
 
LEC_10_Week_10_Server_Configuration_in_Linux.pdf
LEC_10_Week_10_Server_Configuration_in_Linux.pdfLEC_10_Week_10_Server_Configuration_in_Linux.pdf
LEC_10_Week_10_Server_Configuration_in_Linux.pdfMahtabAhmedQureshi
 
Network tunneling techniques
Network tunneling techniquesNetwork tunneling techniques
Network tunneling techniquesinbroker
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2NAILBITER
 

Ähnlich wie Network concepts (20)

Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
 
The Internet of Things ... Babel
The Internet of Things ... BabelThe Internet of Things ... Babel
The Internet of Things ... Babel
 
gRPC Design and Implementation
gRPC Design and ImplementationgRPC Design and Implementation
gRPC Design and Implementation
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IP
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
Networks Have Layers - Understanding The OSI Model
Networks Have Layers - Understanding The OSI ModelNetworks Have Layers - Understanding The OSI Model
Networks Have Layers - Understanding The OSI Model
 
RPC in Smalltalk
 RPC in Smalltalk RPC in Smalltalk
RPC in Smalltalk
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
 
Design Web Service API by HungerStation
Design Web Service API by HungerStationDesign Web Service API by HungerStation
Design Web Service API by HungerStation
 
Apache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 PresentationApache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 Presentation
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
HTTP/2: What's new?
HTTP/2: What's new? HTTP/2: What's new?
HTTP/2: What's new?
 
There and back again
There and back againThere and back again
There and back again
 
Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2
 
LEC_10_Week_10_Server_Configuration_in_Linux.pdf
LEC_10_Week_10_Server_Configuration_in_Linux.pdfLEC_10_Week_10_Server_Configuration_in_Linux.pdf
LEC_10_Week_10_Server_Configuration_in_Linux.pdf
 
From Device to Data Center to Insights
From Device to Data Center to InsightsFrom Device to Data Center to Insights
From Device to Data Center to Insights
 
Network tunneling techniques
Network tunneling techniquesNetwork tunneling techniques
Network tunneling techniques
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2
 

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
  • 13.
  • 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