ISO/OSI and TCP/IP: the network map
Name every layer and device. Walk the network layer by layer (L1–L7), add the TCP/IP model, cross-layer firewalling, and encapsulation.
Lesson 1: Why layers
Devices from different vendors understand each other
Welcome to the ISO/OSI course. In the first course you saw how data travels. Now we give it a system and names. We start with a question: how can a router from one maker, a PC from another and a phone from a third all talk without trouble? Because they all follow the same rules – protocols – and split the work into layers, each doing one job. That is the layered model. The two most important are ISO/OSI (7 layers, a map for understanding) and TCP/IP (4 layers the internet actually runs on). This whole course walks through them from the bottom up.
Step by step
- Shared rules (protocols) + layers = devices from different makers understand each other.
The layered model: each part does one job
At home your router is from one maker, your PC from another and your phone from a third – and they all understand each other without any trouble. How is that possible? They agreed on shared rules (called a protocol) and split the work into layers – each layer has one job and passes its result to the layer above and below. The postal system works the same way: you write a letter, put it in an addressed envelope, hand it to the post office, which uses transport (vans, planes). Each link does only its part and talks only to its neighbor. That is the point of layers: each part does only its own job. Your browser does not need to know whether you are on Wi-Fi or a cable – the lower layer handles that.
Step by step
- Application: you write the letter – the content you want to send.
- Envelope & address: you wrap the letter and write who it is for.
- Hand to the post office: you drop it off – the post handles delivery.
- Transport: vans and planes physically move it. Each layer does only its own part.
OSI and TCP/IP: two maps of one network
The ISO/OSI model is a shared map of a network. It was drawn up by ISO – the International Organization for Standardization – as a common agreement so devices from different vendors understand each other and faults can be pinned down layer by layer (its ISO authorship is why it is called ISO/OSI). It splits communication into 7 named layers, from the physical signal (1) up to the app you actually see (7). You have already met things that belong to some of these layers (MAC addresses, IP, cables and Wi-Fi) in the first course – now we give them names and place them. Click any layer to see an example. In practice a simplified TCP/IP model with 4 layers is also used; ISO/OSI is just a better map for understanding. Why two models? TCP/IP ran in practice first (ARPANET, the 1970s); OSI came later as a standard, but the internet already ran on TCP/IP – so they never merged, and today OSI serves mainly as a teaching and diagnostic framework.
Each layer has its own name for the unit of data:
Step by step
- Click a layer to see an example.
Lesson 2: L1: the physical layer
What L1 does: signal, medium, bits
From the first course you already know that data, at its lowest level, is just bits – ones and zeros. Now it is the turn of layer 1 – the physical layer: its only job is to get a bit from one place to another as a physical signal over some medium. Copper carries it as voltage (high = 1, low = 0), fiber as light (flash = 1, dark = 0) and Wi-Fi as a radio wave (transmitting = 1, silent = 0). L1 does not care what the bits mean or whose they are – it just pushes them down the wire, fiber or air. Try flipping the bits below – watch how the same data is encoded into three different signals.
Step by step
- The same bits, three media: copper carries them as voltage, fiber as light, Wi-Fi as a radio wave. The moving line shows how the receiver reads the signal over time – bit by bit, as the communication unfolds. Click a bit to flip it.
Interference: when noise talks into the signal
No medium is perfect. Along the way the signal picks up noise – interference from motors, a microwave, other transmitters, or crosstalk from a neighboring cable. As long as there is far more signal than noise, the receiver tells 1 from 0 with no trouble. But as interference grows, the signal gets jittery and the receiver may misread a bit – a 1 becomes a 0 or vice versa. That is how transmission errors happen. This is why every transmitted block of data carries a checksum: the transmitter computes a check number from the frame’s bits (typically a CRC) and appends it; the receiver computes the same and compares – a mismatch means corruption, so the frame is discarded. Getting it resent is up to a higher layer (typically TCP). And it is why shielded cabling (STP) is used in noisy places and Wi-Fi struggles in a congested band. Drag the slider below to add interference and watch the received signal and bits degrade.
Step by step
- Clean signal – the received bits exactly match what was sent.
Bandwidth, throughput, latency
At L1 three terms get confused. Bandwidth is the link’s capacity – how many bits the medium could carry per second (Mbps/Gbps), like the width of a motorway. Throughput is how much data actually flows – often less than the bandwidth (congestion, overhead, weak signal). Latency is something else entirely: the delay, how long data takes to get there and back – like travel time, not the number of lanes. A fast link can have huge bandwidth but poor latency (say over satellite) and still ruin a game or a call.
Step by step
- Bandwidth = capacity, throughput = what really flows, latency = delay.
Lesson 3: L2: the data-link layer
What L2 does: frames and local delivery
Layer 2 – data link handles delivery within one local network. It wraps data into a frame: it puts the destination and source MAC addresses at the front and a checksum (FCS) at the end, by which the receiver tells whether the frame got corrupted on the way. L2 does not think about reaching another network – that is L3’s job. It only handles one "hop": device to device (or to the gateway) within the same network, by MAC. Typical L2 devices are the switch and the access point.
Step by step
- L2 wraps data into a frame (MAC + FCS) and delivers within one local network.
Hub: sends to everyone — why that is not enough
The oldest device for joining stations is the hub – and note, it works only at L1 (it blindly repeats the electrical signal to all ports – it never reads the frame the signal carries). It is plain "dumb": whatever you send, it repeats to everyone. When a frame arrives it copies it to all ports (except the one it came from) – no memory, it never learns who is where. Crucially: the hub decides nothing. The "is this for me?" decision is made by the end station – its network card checks the destination MAC, keeps its own frame and drops the rest. But the foreign frame still arrived, so a curious host can read it (eavesdrop) – a serious security weakness. On top of that everyone shares one medium and easily talks over each other (collisions). Today the hub is essentially obsolete – the smarter switch replaced it (next up).
Step by step
- PC-A sends one frame for PC-B – it travels to the hub.
- The hub doesn’t look at addresses at all – it blindly repeats the signal to all ports, so the frame reaches everyone (flood).
- The decision is made by the end stations: each checks the destination MAC. B keeps the frame, C and D are supposed to drop it.
- But the frame was at C and D anyway – a curious host can read the data (eavesdrop). That is why the hub is obsolete today.
Switch and the MAC table
The switch is the smart successor to the hub. It learns: for every frame it remembers the source MAC and the port it came in on, into a MAC table. Next time it sends the frame to only the right port, not to everyone. That saves bandwidth, limits eavesdropping, and each port is its own collision domain. When it does not yet know the target, it floods like a hub – but only once, then it remembers. A table entry has a timer (typically ~300 s) and expires without traffic; when a device is moved to another port, the switch relearns it on the first frame from there (covered in detail in the Switch in depth course). The switch works at L2: it understands MAC, not IP – it will not carry you between different networks; that is the router (L3).
Step by step
- The switch has learned which station is behind which port (MAC→port) – see the table.
- PC-A wants to send a frame to PC-C.
- The switch finds C in the table on port P2 → it sends the frame only there, not to P1/P3.
- Unlike a hub, B and D get nothing – less traffic and no eavesdropping.
WAP: the wireless access point at L2
An access point (AP, sometimes WAP) is really a switch for the air. It works at L2: it takes wireless devices over Wi-Fi and bridges them onto the wired network it is cabled into. From the network’s point of view a wireless client behaves as if cabled into a switch – it gets an address from the same network the SSID maps to. The AP does not decide IP and does not route – the router does that. At home the AP is part of an all-in-one router; in an office it is a separate device – you have probably seen them as white discs mounted on the ceiling in offices or schools.
Step by step
- An AP = a switch for the air: it bridges Wi-Fi clients onto the wired network (L2).
Lesson 4: L3: the network layer
What L3 does: routing between networks
L1 carries the signal, L2 delivers a frame within one network. But how does data reach a different network? That is the job of layer 3 – network. L3 works with IP addresses and can route: by the destination IP it decides which way to send the packet next. The key difference: L2 handles one hop within a network (MAC), L3 handles the path across many networks (IP). The device that does this is the router (and its relative the L3 switch). Without L3 every local network would be an island – the internet is really one giant jigsaw of L3 routing.
Step by step
- L3 (a router) moves between different networks by IP. L2 = within, L3 = across.
Router and the routing table
The router is the main L3 device. For every packet it looks at the destination IP and in its routing table – a list of "destination network → the way out" – finds which interface to send it out to get closer to the target. Each pass through a router is one hop. So a packet does not wander the network forever, it carries a TTL (Time To Live) – a hop counter: every router lowers it by 1, and when it reaches zero the packet is dropped. Step through the decision.
Step by step
- The PC sends a packet to 10.0.0.42. First it travels to the router – its network’s gateway.
- The router reads the destination IP from the header and asks its routing table: which way gets closer to the target?
- It finds a match in the table: destination 10.0.0.42 belongs to network 10.0.0.0/24 → interface A. (The /24 notation means "the 10.0.0.x network" – we will unpack it properly in the subnetting module shortly.)
- And it sends the packet out interface A – the right way toward the target. No magic: read the IP, find the row, send.
- A packet to 8.8.8.8? No specific row matches → the default route 0.0.0.0/0 is used: "if I know nothing better, send it to the provider".
NAT in practice: one address for the whole network
In the first course (How networks work) you saw the router swap your private address for its single public one (that is NAT). But then how does it know whose reply a packet is, when the whole household hides behind that one public IP? It uses port numbers and a translation table. This common variant (port-based NAT) is called PAT – and it is exactly why a single public address is enough for a whole network. Don’t confuse the NAT table with a stateful firewall’s connection table: the NAT table translates addresses and ports, while the connection table only permits return traffic that was requested from inside. A NAT router is usually also a stateful firewall, which is why the two functions often blur together. Step through the packet’s trip there and back.
Step by step
- The PC sends a packet out to the internet. But the source address is private – nobody on the internet could reply to that.
- The router rewrites the source IP to its public one (and picks a port) – and writes the translation into its NAT table. The packet leaves with the public address.
- The reply from the internet comes back to the public IP and port. The router finds the record in the table: port 40001 → that is the PC’s connection.
- Using the table it rewrites the address back to 192.168.1.10 and delivers it. The whole household gets by with a single public IP.
L3 switch: when a switch can route
What if you want a switch’s speed and the ability to send data between different networks (VLANs), all in one box? That is the L3 switch: it does both. Within one network (a VLAN – a logically separated network on a single switch) it behaves like a blazing-fast L2 switch; between VLANs it routes like a router. In companies it is a backbone device – instead of a tangle of cables to one router, inter-VLAN routing is done right on the switch. The difference from an ordinary router: an L3 switch is tuned for high speed inside the company, a router for connecting to the internet (NAT, WAN). In practice, though, their roles increasingly overlap. (VLANs are covered in detail in the Switching and VLANs course.)
Step by step
- An L3 switch = L2 switching within a VLAN + L3 routing between VLANs in one box.
Bits and numbers: how 8 bits become 0–255
Before we split a network into smaller subnets, we need to understand what an IP address is made of. Under the hood it’s just bits (0 and 1). How do eight ones and zeros become a number like 192? An address is shown in octets (groups of 8 bits), e.g. 192.168.1.10. Each bit in an octet has a fixed weight – from the left 128, 64, 32, 16, 8, 4, 2, 1. The number is then simply the sum of the weights of the bits that are 1. Step through it (‹ / ›) – the next module builds subnetting on top of this.
Step by step
- Octet 11000000: above each bit is its weight (from the left 128, 64, 32, …, 1). We add only the bits that are 1.
- The first bit is 1 → add its weight 128. Subtotal: 128.
- The second bit is 1 → add 64. 128 + 64 = 192. The rest are zeros and add nothing. So 11000000 = 192.
- A second example — octet 10101000. Exactly the same method.
- The bit worth 128 is 1 → 128.
- The bit worth 32 is 1 → 128 + 32 = 160.
- The bit worth 8 is 1 → 160 + 8 = 168. So 10101000 = 168. This is exactly how eight bits (one octet) become a decimal number 0–255.
Subnetting: how to split a network
In this lesson you saw how a router moves traffic between networks by IP. Now we look at how you split such a network into smaller parts. Why split a network into smaller subnets? To separate groups of devices (departments, guests, servers), cut down broadcast traffic and make it easier to manage and secure. The tool for it is how an address splits into a network and a host part. Remember the postal address from the first course? Every IP address has two parts: the NETWORK (like the city – shared by a whole group of devices) and the HOST (like the house number – one specific device in that network). But how do you tell where one part ends and the other begins? That is what the prefix is for (written e.g. /24). It is not another part of the address – it is just a marker of how many leading bits belong to the network (and reading an address in bits you already know from the previous page); all the rest belong to hosts. The exact same thing written differently is the mask (e.g. /24 = 255.255.255.0). Two addresses are never given to a device: the first is the name of the whole network and the last is the broadcast – a single message "to everyone in this network" at once. Drag the prefix and change the IP, and watch the network address, the broadcast, and how many devices fit.
Step by step
- A /24 prefix splits the IP into two parts: the NETWORK (blue, first 24 bits = the "which street" part) and HOSTS (green, the other 8 bits = the "house number"). Two addresses are reserved – the first 192.168.1.0 (the network itself) and the last 192.168.1.255 (broadcast = an announcement to all) – so you can really use 254 devices.
Lesson 5: L4: the transport layer
What L4 does: end-to-end delivery
L3 delivers a packet to the right device. But that target device runs many apps at once – which of them is the packet for? That is handled by layer 4 – transport. It takes care of app-to-app delivery (end-to-end) and tells them apart by ports. This happens with everything you do online – browsing the web, downloading a file, a video call, messaging or sending email. It has two main flavours: TCP (reliable, with a connection and acknowledgements) and UDP (fast, no guarantee). Where L3 handles the path between devices, L4 handles the conversation between two specific apps at the ends. The next two modules cover TCP and UDP in depth.
Step by step
- L4 delivers app-to-app (ports); choose TCP (reliable) or UDP (fast).
TCP in depth: handshake and acknowledgements
You already met ports and TCP/UDP at a basic level in the How networks work course – here we go deeper. A device has one IP, but it runs many things at once – a browser, email, a game. To tell them apart there is the port: a service number (like an apartment number in a building). The server listens on a fixed, well-known number (web = 443, email…). For its own end the client uses any free port the system hands it – that is how the reply comes back to exactly this client. The second thing is reliability – and here there are two options. TCP is like registered mail: it agrees first (the three-way handshake) and resends what is lost. UDP is a postcard: it just fires the data and does not wait for confirmation – fast, but no guarantee. An app deliberately picks one based on what it needs (it is not random or alternating). Use the TCP/UDP toggle below to compare both step by step (‹ / ›).
Common ports: web HTTPS 443, older web HTTP 80, DNS 53, SSH 22.
Step by step
- Step 1 – SYN. The client says: I’m starting, my number is x. It sends a connection request SYN with its sequence number seq=x.
- Step 2 – SYN-ACK. The server acknowledges x AND at the same time sends its own number y — that is why it can’t shrink to two steps: each side must both send its number and get it acknowledged.
- Step 3 – ACK. The client acknowledges y. Now both sides know the other is really there and listening → connection established. Both sequence numbers are synchronised in both directions; two steps would leave one side unconfirmed.
- Only now does the content flow over the open connection.
- The server acknowledges receipt. If something is lost, TCP notices and resends it – that is why it is reliable.
UDP: when speed beats reliability
UDP is the opposite of TCP: no connection setup, no acknowledgements, no reordering. It just sends a packet and moves on – if it is lost on the way, nothing is resent. That sounds worse, but for many things it is better: in a live call, video or game there is no point resending data that should have arrived long ago – the delay would hurt more than a single dropped frame. So UDP is fast and overhead-free. DNS uses it too (a short query and reply). How does an app’s developer decide? If it needs certainty, they pick TCP; if it needs speed and freshness, they pick UDP.
Step by step
- UDP: fire and forget. Fast and overhead-free — ideal for calls, video, games, DNS.
Lesson 6: L5 and L6: session and presentation
L5 session: set up and keep the connection
Right above the transport layer sits layer 5 – session. It is in charge of a session – a continuous "conversation" between two apps. It does three things: it sets up the connection (both sides agree they are talking), then maintains it for the whole exchange (keeping order and continuity), and at the end closes it cleanly. Picture a phone call: you dial, the other side picks up, you talk for a while, then you hang up. In practice this is your login that "holds" until you log out, or resuming an interrupted download from where it stopped. Unlike the one-off TCP handshake (a transport agreement about a single connection), a session is an application conversation that can outlive several TCP connections – a login happily runs across dozens of separate requests. In the TCP/IP model the session layer has no place of its own – the application itself handles it (a web page manages your login session).
Step by step
- L5 = session: set up → keep → close (like a phone call). In TCP/IP the application handles it.
L6 presentation: the form of the data (encoding, encryption)
Layer 6 – presentation handles the form of the data – so both sides understand it the same way. It does three things. Encoding: it turns letters into bytes (groups of 8 bits – those ones and zeros from the first lesson) and back, so an "á" or an emoji looks the same everywhere – this rule is e.g. UTF-8 (an agreement on which number means which character). Compression: it shrinks the data so it takes less space and travels faster (zip, image and video codecs). Encryption: it locks the content, so only the two ends can read it on the way – this is exactly what TLS does, the "padlock" in your browser you know from the first course. In the TCP/IP model the presentation layer has no place of its own either – the application itself takes care of it (the browser picks the encoding and sets up TLS).
Step by step
- L6 = data form: encoding (UTF-8), compression, encryption (TLS). In TCP/IP the application handles it.
Lesson 7: The application layer and the TCP/IP model
TCP/IP model: 4 layers in practice
ISO/OSI has 7 layers and is a great map for understanding how a network works. But the internet actually runs on the simpler TCP/IP model with just 4 layers – it merges some OSI layers. Application (merges OSI 5–7: app, format, session) → Transport (= OSI 4: TCP/UDP) → Internet (= OSI 3: IP, routing) → Link (merges OSI 1–2: frame + signal). Why know both? OSI is better for learning and troubleshooting ("which layer is it stuck at?"), TCP/IP describes how it really is. When you hear "an L3 problem" or "the application layer", you now know what people mean.
Step by step
- TCP/IP = 4 layers (OSI merged). OSI for learning and debugging, TCP/IP is what actually runs.
Application layer: where DNS, HTTP and TLS live
At the very top is the application layer – what the app you use (browser, email) actually works with. This is where the protocols you already know from the How networks work course "live": DNS (name resolution), HTTP/HTTPS (the web), TLS (encryption), DHCP (address assignment). In the TCP/IP model everything from OSI layers 5–7 lands here at once. Important: the application layer need not care whether you are on Wi-Fi or a cable, what your IP is or how TCP is set up – the lower layers did that for it. That is why a web developer can write an app and never think about how the data physically flows.
Step by step
- The application layer = DNS, HTTP(S), TLS, DHCP. It need not care how data physically flows.
How to read documentation and certifications
Why know the layers at all? Because you will see them everywhere. Device docs, manuals, job ads and certifications (CompTIA Network+, Cisco CCNA…) are built on layers. When you read "an L3 device", "works at layer 2" or "an L7 firewall", you instantly know what it means: L2 = MAC/switch/VLAN, L3 = IP/router/routing/NAT, L4 = TCP/port/PAT, L7 = app/HTTP/TLS. Layers are the shared language of the whole field: "which layer is it stuck at?" is the first troubleshooting question, and "what layer does it work at?" the first question about any device. This course gave you exactly that map.
Step by step
- Layers are the field’s shared language — docs, certifications and troubleshooting.
Lesson 8: Firewall: a device across multiple layers
Why a firewall does not fit in one layer
A firewall is a security gateway between networks – it lets only allowed traffic through and blocks the rest. Some devices do not fit a single layer, and the firewall is the flagship: it decides using information from several layers at once. It can filter by L3 (source/destination IP), by L4 (port and protocol – "allow 443, block 23"), and the more advanced ones by L7 too (the content itself – "block this attack in HTTP"). So it makes no sense to ask "what layer is the firewall at" – it depends on what it is doing. That is also why we left the firewall until here, at the end of the layers: now that you know L3, L4 and L7, its behavior makes sense. The next two modules show how it actually decides.
Step by step
- A firewall decides across layers: IP (L3), port (L4) and content (L7).
Packet filter and stateful firewall
A firewall lets through only what it should and blocks the rest – unsolicited or dangerous traffic from outside. But how does it decide? The simplest is a packet filter: it judges each packet on its own by rules (source, destination, protocol, port). It works, but knows nothing about context – the reply to your request is just a foreign packet from outside to it. That is why a stateful firewall is used: it remembers established connections. Its connection table only permits the return – unlike the NAT table (Lesson L3), which also translates addresses and ports. Step through how it does that. In the simulator, return traffic is stateful as well.
Step by step
- The internal PC opens a website: it sends a SYN out (a connection request). The rules allow it outbound – the packet reaches the firewall.
- The firewall passes the packet on – and crucially writes the connection into its connection table: who, from where, to where and on which port. From now on it knows you asked for this connection.
- A reply from outside arrives. A packet filter would drop it without an inbound rule – but the stateful firewall checks it against the table: it matches your connection → it passes all the way to the PC.
- And now an unsolicited SYN from outside (someone probing in). The firewall searches the table – no record, nobody asked for it → the packet is dropped. You only write rules "outbound" and the state guards the return.
Zones: inside, outside, DMZ
So you do not write rules per cable, a firewall groups interfaces into zones by trust level. The three classic ones: inside (your internal network – trusted), outside (the internet – untrusted) and DMZ (demilitarized zone – where you put public servers, e.g. a web server). (In practice there are usually more – covered in detail in the Network security course.) The logic is simple: from the internet you may reach only the DMZ and only on allowed ports (443); nobody reaches inside from outside. And crucially: even if an attacker compromises a server in the DMZ, they cannot get into the internal network from there – the DMZ is a buffer. You try exactly this in the task "Expose the web, protect the internal network". Zones are the practical payoff of everything the course taught: layers, addresses, ports and trust together.
Step by step
- Zones by trust: inside (internal), DMZ (public servers), outside (internet).
Lesson 9: Encapsulation: the stack in action
Each layer adds its own header
Now you know what each layer does. The last question: how do the layers work together on one piece of sent data? The answer is encapsulation – "wrapping". When you send something, data goes down the stack and each layer wraps its own header around it: transport adds ports (a segment), network adds IP addresses (a packet), data-link adds MAC and a checksum (a frame), physical sends it as bits. It is like an envelope inside an envelope. At the receiver the whole thing is unwrapped in reverse – each layer reads and peels its own header and passes the rest up. In the next module you step through it as an animation at both sender and receiver.
Step by step
- Encapsulation: going down, each layer adds a header (segment → packet → frame → bits).
Stack animation: sender and receiver
The grand finale – now it all comes together. The message "hello" travels down all 7 layers and each wraps its own header (like an envelope inside an envelope). At the bottom it collapses to bits, flies across the medium to the receiver, then climbs back up – each layer reads and peels its header until a clean message is left. That is encapsulation. (Along the way a router peels the frame back to Layer 3, reads the destination IP, and builds a new frame for the next hop – the upper layers stay untouched.) Watch the unit name on the right change too (data → segment → packet → frame → bits).
And that wraps up the ISO/OSI course. You can now read a network layer by layer: you know what L1–L7 do, what hubs, switches and routers are for, how transport works (TCP/UDP), where the firewall fits and how encapsulation holds it all together. In the Switching and VLANs course we return to Layer 2 in practice: you’ll learn to split a network with VLANs and switches – the foundation of every real company network.
Step by step
- Layer 7 – Application: your message "hello" enters the stack as plain data.
- Layer 6 – Presentation: encrypts and normalises format (TLS). It wraps a header [TLS].
- Layer 5 – Session: tags which session it belongs to. It wraps a header [session].
- Layer 4 – Transport: adds ports and a sequence number (TCP). It wraps a header [TCP 50001->443 seq=1].
- Layer 3 – Network: adds source and destination IP. It wraps a header [IP 10.0.0.5 -> 93.184.0.1].
- Layer 2 – Data Link: adds MAC addresses and a checksum. It wraps a header [MAC AA:.. -> BB:.. + FCS].
- Layer 1 – Physical: the whole "envelope of envelopes" is encoded into bits and sent over the medium (wire/wireless).
- The bits fly across the medium (wire/wireless) to the receiver. Nothing is read in transit – just a signal.
- Layer 1 – Physical: the receiver reads the signal back into bits. Now the way up.
- Layer 2 – Data Link: reads and peels off its header – verifies the checksum (FCS) and MAC.
- Layer 3 – Network: reads and peels off its header – checks the IP is for it.
- Layer 4 – Transport: reads and peels off its header – reorders and acknowledges (ACK).
- Layer 5 – Session: reads and peels off its header – matches it to the right session.
- Layer 6 – Presentation: reads and peels off its header – decrypts into a readable form.
- Layer 7 – Application: the receiver sees a clean "hello". Each layer talked to its peer. Done!