Please Do Not Take Salami Pizza Away
Comparison of OSI and TCP/IP models.
|OSI||TCP/IP||Protocol Data Unit||Protocols||Example||Hardware example|
|Application||Application||Files/data||Application layer gateway (packet inspection)|
|Transport||Transport||Segments/datagrams||TCP, UDP||TCP||Firewall (port number)|
|Network||Internet||Packets||IP, ICMP, ARP||ping||Router, layer 3 switch|
|Datalink||Network||Frames/bits||fibre, Ethernet, Wi-Fi||ARP||Bridge, switch (forward or not forward)|
|Physical||Wi-Fi||Repeater, hub (multiport repeater)|
- ICMP: ping, sends echo request.
- ARP: Maps IP address to physical, “Layer 2.5”.
- TCP starvation: UDP can hog the bandwidth on a mixed TCP/UDP system (TCP backs off out of courtesy but UDP doesn’t care).
- Delivery: TCP offers guaranteed delivery, UDP does not.
Three way handshake
SYN stands for “synchronise”. See wiki/Three way handshake.
=> SYN <= SYN-ACK => ACK => HTTP (request) <= ACK <= HTTP (response) => ACK => FIN <= FIN-ACK => ACK
IPV4 versus IPV6
IPv6 addresses are 128-bit IP address written in hexadecimal and separated by colons. It has a larger address space than IPv4.
IPv4: 32 bit - 4 x 8 bits (octets) c0c0c0c0 IPv6: 128 bit - 8 x 16 bits 3ffe:1900:4545:3:200:f8ff:fe21:67cf
IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion. IPv6 is intended to replace IPv4.
Most IPv6 addresses do not occupy all of their possible 128 bits. This condition results in fields that are padded with zeros or contain only zeros.
The IPv6 addressing architecture allows you use the two-colon (::) notation to represent contiguous 16-bit fields of zeros. For example, you might abbreviate the IPv6 address in Figure 3–2 by replacing the two contiguous fields of zeros in the interface ID with two colons. The resulting address is 2001:0db8:3c4d:0015::1a2f:1a2b. Other fields of zeros can be represented as a single 0. You can also omit any leading zeros in a field, such as changing 0db8 to db8.
So the address 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b can be abbreviated as 2001:db8:3c4d:15::1a2f:1a2b.
You can use the two colon notation to replace any contiguous fields of all zeros in the IPv6 address. For example, the IPv6 address 2001:0db8:3c4d:0015:0000:d234::3eee:0000 can be collapsed into 2001:db8:3c4d:15:0:d234:3eee::.
Classless Inter-Domain Routing (CIDR)