A journey of
a single request
Bartosz Legięć
Frontend developer @ Netguru @bibix1999 legiec.io
💻
💻
01011010
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
0
Manchester code
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0100
1000
0100
0101
0100
1100
10
0100
1000
0100
0101
0100
1100
10
E
H
L
0100
1000
0100
0101
0100
1100
10
ä
T
Preamble |
Frame delimiter |
MAC destinaiton |
MAC source |
---|---|---|---|
7 octets |
1 octet |
6 octets |
6 octets |
Ethertype |
Payload |
Frame check sequence |
Interpacket gap |
---|---|---|---|
2 octets |
46-1500 ocetets |
4 octets |
12 octets |
Preamble
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Frame delimeter
Data
Preamble |
Frame delimiter |
MAC destinaiton |
MAC source |
---|---|---|---|
7 octets |
1 octet |
6 octets |
6 octets |
💻
💻
💻
💻
💻
💻
A
B
Internet Protocol
IP
💻
💻
💻
💻
💻
💻
A
B
192.168.9.2
192.131.9.2
10.0.5.2
10.0.5.3
10.0.5.4
10.0.6.7
10.0.6.10
10.0.6.11
10.0.5.5
10.0.6.13
192.131.0.0/16 > to 10.0.5.4 via em2.0 192.168.9.1/32 > Local via em1.0 10.0.6.0/24 > to 10.0.5.5 via em3.0
192.168.9.0/24 > to 10.0.5.4 via em1.0 192.131.9.0/24 > to 10.0.6.7 via em2.0 10.0.6.0/24 > to 10.0.6.7 via em3.0
192.168.9.0/24 > to 10.0.6.11 via em2.0 192.131.9.0/24 > Direct via em3.0 10.0.5.0/24 > to 10.0.6.11 via em2.0
Ethertype |
Payload |
Frame check sequence |
Interpacket gap |
---|---|---|---|
2 octets |
46-1500 ocetets |
4 octets |
12 octets |
Options
Header Checksum
Source IP Address
TTL
Flags
Fragment offset
Identification
Packet Length
ECN
DSCP
IHL
Version
.
.
6
5
4
3
2
1
Destination IP Address
Protocol
Ethernet frame
IP packet
Options
Header Checksum
Source IP Address
TTL
Flags
Fragment offset
Identification
Packet Length
ECN
DSCP
IHL
Version
.
.
6
5
4
3
2
1
Destination IP Address
Protocol
👨💻
Root
server
TLD
Server
Authoritative
server
DNS
resolver
Hosting
server
.
.com
warsawjs
warsawjs
.com
.
TCP
SYN
SYN, ACK
ACK
22 bytes of data
ACK
FIN
ACK
FIN
ACK
seq=0
seq=0, ack=1
ack=1
seq=1
ack=23
seq=23
seq=24
seq=1
ack=2
Connection established
CLIENT
SERVER
Ethernet frame
IP packet
TCP segment
HTTP
{"username":"xyz","password":"xyz"}
POST / HTTP/1.1
Host: example.com User-Agent: curl/7.64.1 Accept: */* Content-Type: application/json Content-Length: 35
{"username":"xyz","password":"xyz"}
Host: example.com User-Agent: curl/7.64.1 Accept: */* Content-Type: application/json Content-Length: 35
POST / HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json Content-Length: 35
{"user":{"login": "xyz"}}
{"user":{"login": "xyz"}}
Content-Type: application/json Content-Length: 35
HTTP/1.1 200 OK
Thank you