Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Part 5 : Sharing resources, security principles and protocolsOlivier Bonaventure
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Part 5 : Sharing resources, security principles and protocolsOlivier Bonaventure
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Beyond TCP: The evolution of Internet transport protocolsOlivier Bonaventure
The transport layer is one of the key layers of the Internet protocol stack. It enrichs the network layer service to make it suitable for applications. Almost 40 years after its initial design, TCP remains the most widely used transport protocol. In the early 2000s, SCTP was proposed as an alternative to TCP. Despite a clean and extensible design and many useful features, it did not reach wide deployment. This failure is mainly caused by middleboxes. We'll describe their operation and explain why Multipath TCP, which is a backward compatible evolution to TCP, has better chances of being deployed. We'll explain the main principles behind Multipath TCP and the lessons that can be drawn from its design. We'll then analyse why Internet giants like Google and Microsoft now consider application-layer solutions like QUIC to replace standard protocols like TCP.
Presentation given at MPLS+SDN+NFVWORLD 2019 in Paris that shows how network architects can leverage the support for IPv6 Segment that is included in the Linux kernel to develop new end-to-end services that use IPv6 Segment Routing on clients, routers and servers.
This presentation outlines the core functions of TCP - Transmission Control Protocol.
These comprise TCP Connection Control, TCP Flow Control, TCP Error Control, TCP Congestion Control, TCP Options and TCP Timers.
TCP/IP is the Internet core protocol that provides reliable, connection-oriented and stream-based communication service. Most of Internet traffic is carried in TCP connections, so scalability and reliability are crucial for a stable network on a global scale.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Fourth lesson of the Computer Networking class. Covers reliable transport principles and the introduction for sharing resources (MAC and congestion control)
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
The transport provider is the entity that provides the services of the Transport Interface, and the transport user is the entity that requires these services. The objective of this presentation is to aware the students about the field of socket programming in UNIX. This presentation is useful for B.Tech(IT) 6th semester students as well as the students of networking and programming.
user define protocol .its amzing ppt for student when clever student reasd it done 5star like.and share and subscribe too.
please subscribe our channel jaydipramani on youtube..
Slides for my 32C3 (Chaos Computer Congress 2015) talk about how to sanitize and anonymize binary packet capture files (PCAP/PCAPng). The talk video recording can be found here: https://media.ccc.de/v/32c3-7294-sanitizing_pcaps#download
Client server examples for tcp abnormal conditionsCEC Landran
TCP is a Stateful Protocol which store the state information of Client and Server machine such as IP Address Information, TCP Header details and Segment Details.
TCP holding one socket at a time during data transmission in communicating machine and it was not possible for the client to use multiple protocols at a time.
Multi-Homed concept is the solution, which allow TCP to provide multiple connection to single client machine so that it can run simultaneously multiple protocols at a time.
It was also possible some abnormal conditions happen during connection establishment in Peer to Peer (P2P) and Client server Machine.
Beyond TCP: The evolution of Internet transport protocolsOlivier Bonaventure
The transport layer is one of the key layers of the Internet protocol stack. It enrichs the network layer service to make it suitable for applications. Almost 40 years after its initial design, TCP remains the most widely used transport protocol. In the early 2000s, SCTP was proposed as an alternative to TCP. Despite a clean and extensible design and many useful features, it did not reach wide deployment. This failure is mainly caused by middleboxes. We'll describe their operation and explain why Multipath TCP, which is a backward compatible evolution to TCP, has better chances of being deployed. We'll explain the main principles behind Multipath TCP and the lessons that can be drawn from its design. We'll then analyse why Internet giants like Google and Microsoft now consider application-layer solutions like QUIC to replace standard protocols like TCP.
Presentation given at MPLS+SDN+NFVWORLD 2019 in Paris that shows how network architects can leverage the support for IPv6 Segment that is included in the Linux kernel to develop new end-to-end services that use IPv6 Segment Routing on clients, routers and servers.
This presentation outlines the core functions of TCP - Transmission Control Protocol.
These comprise TCP Connection Control, TCP Flow Control, TCP Error Control, TCP Congestion Control, TCP Options and TCP Timers.
TCP/IP is the Internet core protocol that provides reliable, connection-oriented and stream-based communication service. Most of Internet traffic is carried in TCP connections, so scalability and reliability are crucial for a stable network on a global scale.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Fourth lesson of the Computer Networking class. Covers reliable transport principles and the introduction for sharing resources (MAC and congestion control)
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
The transport provider is the entity that provides the services of the Transport Interface, and the transport user is the entity that requires these services. The objective of this presentation is to aware the students about the field of socket programming in UNIX. This presentation is useful for B.Tech(IT) 6th semester students as well as the students of networking and programming.
user define protocol .its amzing ppt for student when clever student reasd it done 5star like.and share and subscribe too.
please subscribe our channel jaydipramani on youtube..
Slides for my 32C3 (Chaos Computer Congress 2015) talk about how to sanitize and anonymize binary packet capture files (PCAP/PCAPng). The talk video recording can be found here: https://media.ccc.de/v/32c3-7294-sanitizing_pcaps#download
Client server examples for tcp abnormal conditionsCEC Landran
TCP is a Stateful Protocol which store the state information of Client and Server machine such as IP Address Information, TCP Header details and Segment Details.
TCP holding one socket at a time during data transmission in communicating machine and it was not possible for the client to use multiple protocols at a time.
Multi-Homed concept is the solution, which allow TCP to provide multiple connection to single client machine so that it can run simultaneously multiple protocols at a time.
It was also possible some abnormal conditions happen during connection establishment in Peer to Peer (P2P) and Client server Machine.
Wi-Fi (or WiFi) is a local area wireless computer networking technology that allows electronic devices to network, mainly using the 2.4 gigahertz (12 cm) UHF and 5 gigahertz (6 cm) SHF ISM radio bands.
The Wi-Fi Alliance defines Wi-Fi as any "wireless local area network" (WLAN) product based on the Institute of Electrical and Electronics Engineers' (IEEE) 802.11 standards".[1] However, the term "Wi-Fi" is used in general English as a synonym for "WLAN" since most modern WLANs are based on these standards. "Wi-Fi" is a trademark of the Wi-Fi Alliance. The "Wi-Fi Certified" trademark can only be used by Wi-Fi products that successfully complete Wi-Fi Alliance interoperability certification testing.
Many devices can use Wi-Fi, e.g. personal computers, video-game consoles, smartphones, digital cameras, tablet computers and digital audio players. These can connect to a network resource such as the Internet via a wireless network access point. Such an access point (or hotspot) has a range of about 20 meters (66 feet) indoors and a greater range outdoors. Hotspot coverage can be as small as a single room with walls that block radio waves, or as large as many square kilometres achieved by using multiple overlapping access points.
Depiction of a device sending information wirelessly to another device, both connected to the local network, in order to print a document.
Wi-Fi can be less secure than wired connections, such as Ethernet, precisely because an intruder does not need a physical connection. Web pages that use TLS are secure, but unencrypted internet access can easily be detected by intruders. Because of this, Wi-Fi has adopted various encryption technologies. The early encryption WEP proved easy to break. Higher quality protocols (WPA, WPA2) were added later. An optional feature added in 2007, called Wi-Fi Protected Setup (WPS), had a serious flaw that allowed an attacker to recover the router's password.[2] The Wi-Fi Alliance has since updated its test plan and certification program to ensure all newly certified devices resist attacks .
Title Slide:
Title: Introduction to TCP/IP Networking
Subtitle: Understanding the Backbone of the Internet
Slide 1: Introduction to TCP/IP:
Brief overview of TCP/IP.
Explanation of its importance as the fundamental protocol suite of the Internet.
Slide 2: TCP/IP Layers:
Explanation of the four layers of the TCP/IP model: Link, Internet, Transport, and Application.
Briefly describe the purpose of each layer.
Slide 3: IP Addressing:
Explanation of IP addresses and their role in uniquely identifying devices on a network.
Differentiation between IPv4 and IPv6.
Slide 4: Subnetting:
Introduction to subnetting in TCP/IP networks.
Purpose and benefits of subnetting.
Slide 5: TCP (Transmission Control Protocol):
Overview of TCP and its role as a reliable, connection-oriented protocol.
Explanation of features like error checking, flow control, and sequencing.
Slide 6: UDP (User Datagram Protocol):
Overview of UDP and its role as a connectionless, lightweight protocol.
Comparison with TCP.
Slide 7: Ports and Sockets:
Explanation of ports and sockets in TCP/IP.
Role in enabling communication between applications.
Slide 8: DNS (Domain Name System):
Overview of DNS and its role in translating human-readable domain names into IP addresses.
Importance of DNS in Internet communication.
Slide 9: DHCP (Dynamic Host Configuration Protocol):
Explanation of DHCP and its role in dynamically assigning IP addresses to devices on a network.
Benefits of DHCP.
Slide 10: Routing and Routers:
Overview of routing in TCP/IP networks.
Role of routers in directing data between networks.
Slide 11: Security in TCP/IP:
Introduction to security considerations in TCP/IP networks.
Briefly cover topics like firewalls, VPNs, and encryption.
Slide 12: Future Trends:
Brief discussion on emerging technologies and trends in TCP/IP.
Topics like IoT (Internet of Things) and 5G.
Slide 13: Conclusion:
Summary of key points.
Emphasis on the ubiquity and importance of TCP/IP in modern networking.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Part 10 : Routing in IP networks and interdomain routing with BGPOlivier Bonaventure
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...JeyaPerumal1
A cellular network, frequently referred to as a mobile network, is a type of communication system that enables wireless communication between mobile devices. The final stage of connectivity is achieved by segmenting the comprehensive service area into several compact zones, each called a cell.
Italy Agriculture Equipment Market Outlook to 2027harveenkaur52
Agriculture and Animal Care
Ken Research has an expertise in Agriculture and Animal Care sector and offer vast collection of information related to all major aspects such as Agriculture equipment, Crop Protection, Seed, Agriculture Chemical, Fertilizers, Protected Cultivators, Palm Oil, Hybrid Seed, Animal Feed additives and many more.
Our continuous study and findings in agriculture sector provide better insights to companies dealing with related product and services, government and agriculture associations, researchers and students to well understand the present and expected scenario.
Our Animal care category provides solutions on Animal Healthcare and related products and services, including, animal feed additives, vaccination
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Gen Z and the marketplaces - let's translate their needsLaura Szabó
The product workshop focused on exploring the requirements of Generation Z in relation to marketplace dynamics. We delved into their specific needs, examined the specifics in their shopping preferences, and analyzed their preferred methods for accessing information and making purchases within a marketplace. Through the study of real-life cases , we tried to gain valuable insights into enhancing the marketplace experience for Generation Z.
The workshop was held on the DMA Conference in Vienna June 2024.
3. Protocol stack
Physical layer
• Unit of information : bit
• Reliability
• transmission errors
• creation/suppression of bits
Physical Physical Physical
4. Protocol stack
Datalink layer
• Unit of information
• Frame
• Services
• Unreliable connectionless
• Reliable connection-oriented
Physical Physical
Datalink Datalink
Physical
Datalink
Frame
6. Protocol stack
Transport layer
• Unit of information
• segment
• Services
• Unreliable connectionless
• Reliable connection-oriented
Physical Physical
Datalink Datalink
Network
Network
Physical
Datalink
Network
Transport Transport
Segmen
t
9. Internet
Transport services
• Service provided by UDP
• Connectionless, unreliable
• Service provided by TCP
• Connection-oriented
• reliable bytestream
10. Internet addresses
• IPv4
• 32 bits, written as a.b.c.d, e.g.
130.104.1.1
• IPv6
• 128 bits, written in hexadecimal notation,
• 2001:06a8:3080:0001:0000:0000:0000:0003
• 2001:6a8:3080:1::3
11. UDP service
UDP service
Applic.
2
Applic.
1
Identification
IP address : 2001:4860:a005::68
Protocol : UDP
Port : 53
Identification:
IP address : 2001:6a8:3080:2:217:f2ff:fed6:65c0
Protocol : UDP
Port : 1234
• Identification of an application
• IP address + port number
12. TCP service
• Identification of an application
• IP address + TCP + port number
TCP service
Applic.
2
Applic.
1
Identification
IP address: 2001:6a8:3080:1::3
Protocol : TCP
Port : 80
Identification:
IP address : 2a02:2788:2c4:16f:226:bbff:fe09:266e
Protocol : TCP
Port : 9876
14. Naming and
addressing
• address
• A (usually) fixed-length bit string that
uniquely identifies a device (or an
interface) in a network
• name
• A human understandable name that
identifies a device in a network
15. Names and addresses
• Different types of relations between names and
addresses
• One-to-one
• A unique name corresponds to each unique
address
• One-to-many
• A name corresponds to several addresses (e.g.
popular server)
• Many-to-one
• Several names correspond to the same address
(e.g. a web server hosting many sites)
16. Names
• How can we assign unique and non-
ambiguous names to devices ?
17. Domain names
• Each domain name is a series of strings
separated by dots
Which DNS names are valid ?
18. The tree of names
• At each level, a secretariat verifies that
domain names are unique
• A bit more than 1200 TLDs
• How many domain names in 2021 ?
19. Mapping names to
addresses
• How to map names to addresses ?
• First approach
• Distribute a file containing the mapping
to all hosts
https://en.wikipedia.org/wiki/Hosts_%28file%29
20. The Domain Name
System
A distributed database
• Each domain is managed by a name
server which can:
• resolve a local name in an address
• return the name of a name server that
is responsible for a domain
21. How to query a name
server ?
• Which service would you use to query a
name server ?
• Reliable connection oriented (TCP)
• Unreliable connectionless (UDP)
22. DNS Resource Records
• A
• IPv4 address
• AAAA
• IPv6 address
• NS
• Name server
• Other specific records : CNAME, MX, TXT,
...
Each RR is structured as
• Type
• Length
• Value
• TTL
23. The root DNS servers
• A dozen of servers that know the name
servers that are responsible for the Top-
Level-Domain names
25. Example
• If you need to resolve the
transvol.sgsi.ucl.ac.be name, how many
DNS do you need to send in total ?
26. DNS messages
Identification Flags
32 bits
Number of additional
Number of authority
Number of answers
12 bytes
Questions
(variable number of resource records)
Number of questions
Answers
(variable number of resource records)
Authority
(variable number of resource records)
Additional information
(variable number of resource records)
• Question/Response
• Recursive question or not
• Authoritative answer or not
• Possible error
What is the role of the identification field ?
34. Message format
Exp: ABC S.A.
Rue de Fer 10
5000 Namur
DEF Corp.
Steel street 9
WA78 AX London
Grande Bretagne
From: president@abc.be
To: ceo@def.com
Subject: Hello
Date : 27 Sept. 1999 0901
Dear Sir,
Bla Bla Bla...
Header
Message
body
35. Email message format
• An email message is a series of ASCII
lines
• The first lines are the header lines that
indicate control information, but which
fields MUST be present in the header
lines ?
36. Header format
• At least three lines that end with <CRLF>
• From: sender@domain
• To:recipient@domain
• Date: <creation date of message>
• Optional fields
• Subject: , cc: ,Message-ID:, Received: In-
Reply-To: , ...
• Header ends with empty line (<CRLF>)
37. MIME
• Multipurpose Internet Mail Extensions
• Constraints
• must remain compatible with old email servers
• short US-ASCII Lines
• must support non-English text
• must support various formats
• must allow to transmit audio, video, ..
38. MIME (2)
• New header fields
• MIME-Version:
• version of MIME used to encode message
• Content-Description:
• comment describing the content of the message
• Content-Type:
• type of information inside message
• Content-Transfer-Encoding:
• how the message has been encoded
• Content-Id:
• unique identifier for the content
40. Character sets
• How to support rich character sets ?
• Content-Type: text/plain; charset=us-ascii
• Content-Type: text/plain; charset=iso-8859-1
• Character set suitable for Western European
languages, defined by ISO, 8 bits per
character
• Content-Type: text/plain; charset=unicode
• Universal character set
41. Content encoding
• How to encode non-text data ?
• Base64
• Base64
• uses ASCII characters A...Z,a...z,0...9, "+" et "/"
• A=0, B=1, C=2, ... +=62 et /=63
• Each character is used to encode 6 bits
• 24 bits from initial message -> 4 ASCII characte
• Special character “=” used for padding
42. Multipart/mixed
Date: Mon, 20 Sep 1999 16:33:16 +0200
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: Test
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="simple boundary"
preamble, to be ignored
--simple boundary
Content-Type: text/plain; charset=us-ascii
partie 1
--simple boundary
Content-Type: text/plain; charset=us-ascii
partie 2
--simple boundary
46. Key elements of the web
• URL : An addressing scheme that allows
to identify any document stored on a
server
• HTML : hypertext language to easily
write documents with hypertext links
• HTTP : An efficient and lightweight
protocol to exchange documents
• Servers
• Clients (browsers)
47. URL
• syntax : <protocol>://<document>
• http is the most common
• https means http over a TLS session
• document indicates the server and the
location of the document
• <user>:<password>@<server>:<port>/<pat
h>
48.
49. HTML
<HTML>
<HEAD>
<TITLE>HTML test page</TITLE>
</HEAD>
<BODY>
<IMG SRC="http://www.images.be/logo.gif">
<H1>Web servers from UCL UCL<P></H1>
<HR>
<UL>
<LI><A HREF="http://www.uclouvain.be">UCL</A>
<LI><A HREF="http://www.info.ucl.ac.be">CSE Dept.</A>
<LI><A HREF="http://www.math.ucl.ac.be">Math</A>
</UL>
</BODY>
</HTML>
Header
Body
Image on remote server
First level title
External hypertext link
50. HTTP
Client
Server
Method
Header
CRLF
MIME Document
Request
Method
GET
lPOST
l...
Header contains additional information
about request sent by client
Status line
Header
CRLF
MIME Document
Response
Header contains information about server
and optional parameters specific to response
Success or failure
HTTP is a stateless protocol, server does not maintain any state from
one request to another
51. HTTP
• Which transport service would you select
to support HTTP ?
• Unreliable connectionless service
(UDP)
• Reliable bytestream connection-
oriented (TCP)
53. HTTP : Methods
• Methods
• GET
• method used to request a "document" stored
on server
• GET <document> HTTP/1.0
• POST
• method used to send a "document" to a server
• document is part of the request and encoded
as a MIME document
54. Request headers
• Host: <name>
• Name of the server where the document is
stored
• Authorization
• allows to perform access control
• If-Modified-Since: <date>
• server will only send if more recent than date
• Referer: <url>
• URL visited by the client before this request
• User-Agent: <agent>
• client’s browser
55. HTTP : Status line
• Format : Version_HTTP Code Comment
• Success/Failure
• 2xx : Success
• Example : HTTP/1.0 200 OK
• 3xx : Redirection
• 4xx : Client-side error
• 5xx : Server-side error
56. HTTP Response
• Date
• date of the document attached to response
• Server
• Name and version of http server used
• Content-*
• MIME header of the attached document
58. HTTP 1.1
HTTP 1.0
a single TCP connection is used to transmit
a single document (html file, image,...)
HTTP 1.1
uses a single persistent TCP connection
This TCP connection can be used for several
requests and the corresponding responses
the cost of establishing and releasing the TCP
connection is amortised over multiple requests
Although HTTP 1.1 uses a single TCP
connection for multiple requests, HTTP 1.1
remains stateless
59. HTTP 1.1
Client
Server
CONNECT.request CONNECT.indication
CONNECT.confirm CONNECT.response
DISCONNECT.ind
DISCONNECT.req
DISCONNECT.req
DISCONNECT.ind
HTTP/1.1 200 OK
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
...
GET / HTTP1.1
Connection: Keep-Alive
... HTTP/1.1 200 OK
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
...
GET /images/logo.gif HTTP1.1
Connection: Keep-Alive
...
60. HTTP Authentication
Client
Server
HTTP/1.0 401 Authorization req
WWW authenticate: machin
...
GET / HTTP1.1
...
Browser asks user/password to user
HTTP/1.1 200 OK
...
GET / HTTP1.1
Authorization: User-password
...
GET /images/t.gif HTTP1.1
Authorization: User-password
...
Browser sends user/password in each request
61. HTTP Cookies
Client
Server
HTTP/1.0 200 OK
Set-Cookie: machin
...
GET / HTTP1.1
...
Browser saves cookie
HTTP/1.1 200 OK
...
GET /doc HTTP1.1
Cookie: machin
...
GET /images/t.gif HTTP1.1
Cookie: machin
...
Browser sends cookie in all
requests sent to server
Response is function
of URL and cookie
Normal response
62. The Host header
One server many sites
Server:
• www.gembloux.be
• www.olln.be
$dig +short www.olln.be
site-ottignieslouvainlaneuve.imio.be.
lb.imio.be.
188.165.186.183, 188.165.186.179
$ dig +short www.gembloux.be
site-gembloux.imio.be.
lb.imio.be.
188.165.186.179, 188.165.186.183
63. A single physical server
for many TLS services
• Server Name Indication
Alice Bob
ClientHello (SNI=bob.be Ciphers,
RandomAlice)
ServerHello(Ciphers,RandomBob )
Certificate(PubBob , PrivC )
PubC, ,PubBob,,PrivBob
S(PubBob , PrivC )
PubC
,
E( PreMasterSecret , PubBob)
Alice chooses PreMaster Secret
Finished( H(handshake msgs,Key)
Finished( H(handshake msgs,Key))
Tom
PubC, ,PubTom,,PrivTom
S(PubTom , PrivC )
67. Today's web pages
Source: https://httparchive.org/reports/page-weight.org
• Can you order the different elements of web
pages in terms of importance ( highest average
volume first) ?
• CSS
• Font
• HTML
• Images
• Javascript
• Video
76. HTTP/2
• Why changing HTTP ?
• Reduce page load time
• Minimize data exchanged
• Reduce network load
• Fewer transport connections
• Reduce risks of attacks from ASCII
parsing
77. Basics of HTTP/2
• Main modifications compared to HTTP/1.1
• Binary framing protocol
• Will be used over TLS anyway
• One connection for several objects
• Several objects can be multiplexed
• Server push
• Data compression for requests and
responses
79. A single TCP
connection
• One TCP connection for all objects for a
given client-server pair
• Minimize in-network and server
resources
• Beware of head-of-line blocking
• Can we do better than HTTP/1.1 ?
80. Issues with HTTP/1.1
• Can use a single connection per server
but
• Client decides the order of the requests
• Server sends objects in order
requested by client
• A large object (e.g. image) may block
smaller but more important objects
(e.g. css/javascript)
82. HTTP/2 streams
• Benefits
• Client can send multiple requests in
parallel
• Server can decide the optimal delivery
order
• Server can interleave multiple objects
and prioritise them
UDP is defined in
J. Postel, User Datagram Protocol. RFC768, August 1980
It will be described in more details later
TCP is defined in
J. Postel, Transmission Control Protocol, RFC793, September 1981
It will be described in more details later
The RR MX were proposed in
C. Partridge. Mail routing and the domain system. Request for Comments 974, Internet Engineering Task Force, January 1986.
A complete list of DNS RR may be found at
http://www.its.uq.edu.au/tn-0011
MIME was defined in
N. Freed and N. Borenstein. Multipurpose internet mail extensions (MIME) part one: Format of internet message bodies. Request for Comments 2045, Internet Engineering Task Force, November 1996.
N. Freed and N. Borenstein. Multipurpose internet mail extensions (MIME) part two: Media types. Request for Comments 2046, Internet Engineering Task Force, November 1996.
Exemple de message MIME
Received: from loriot.info.fundp.ac.be (loriot.info.fundp.ac.be [138.48.32.96])
by leibniz.info.fundp.ac.be (8.9.1/8.9.1) with SMTP id QAA19679;
Mon, 20 Sep 1999 16:37:25 +0200 (MET DST)
Message-Id: <3.0.5.32.19990920163316.00866340@info.fundp.ac.be>
Date: Mon, 20 Sep 1999 16:33:16 +0200
To: pers-aca, pers-sci
From: Gysele HENRARD <ghe@info.fundp.ac.be>
Subject: listes
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="=====================_937830796==_"
--=====================_937830796==_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Bonjour,
Voici des listes de 1M-1L, 2M-2L et ERASMUS mises =E0 jour ce lundi 20
septembre.
Gyselle
--=====================_937830796==_
Content-Type: application/octet-stream; name="1M_99_00.xls";
x-mac-type="584C5334"; x-mac-creator="5843454C"
...
HTTP 1.0 is defined in :
T. Berners-Lee, R. Fielding, and H. Frystyk. Hypertext transfer protocol -- HTTP/1.0. Request for Comments 1945, Internet Engineering Task Force, May 1996.
HTTP 1.1 is defined in :
R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext transfer protocol -- HTTP/1.1. Request for Comments 2616, Internet Engineering Task Force, June 1999.