<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso" -->

---
title: Addresses in a Networking Stack « ipSpace.net blog
description: A conceptual breakdown of the different types of addresses needed in a networking stack, mapped to the TCP/IP model. Covers service identifiers...
canonical: https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Addresses in a Networking Stack « ipSpace.net blog | daily.dev
og:description: A conceptual breakdown of the different types of addresses needed in a networking stack, mapped to the TCP/IP model. Covers service identifiers...
og:url: https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso
og:image: https://api.daily.dev/og/posts/94ho7YaSO.png
og:image:alt: Addresses in a Networking Stack « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Addresses in a Networking Stack « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 4 min read · 0 upvotes · 0 comments

## Summary

A conceptual breakdown of the different types of addresses needed in a networking stack, mapped to the TCP/IP model. Covers service identifiers (application-level), connection identifiers, endpoint identifiers, network-layer addresses (IP), and data-link addresses (MAC). Key insight: service identifiers (like TCP/UDP port numbers) are always required even when network or data-link addresses are optional. Also highlights that TCP/IP lacks a true connection identifier, instead using a 5-tuple (source IP, destination IP, source port, destination port, protocol) as a workaround. DNS names identify nodes, not services, and SRV records that could serve as service identifiers are rarely used in practice.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2023/09/addresses-in-network-stack>

## Questions this post answers

### Why does TCP/IP use a 5-tuple instead of a dedicated connection identifier?

TCP/IP has no true connection identifier. Instead, it uses a hack: the combination of source IP address, destination IP address, source port, destination port, and transport protocol (TCP or UDP) is treated as a unique connection identifier. This 5-tuple is not a real connection ID but a workaround that has become the standard approach in the TCP/IP stack.

_Developers building connection-aware systems track TCP/IP design trade-offs like this on daily.dev._

### Are data-link layer addresses always required in a network stack?

Data-link addresses are not always required. On a point-to-point link there is no need for data-link addresses. Similarly, network-layer addresses are optional if the network consists of just two isolated nodes. However, service identifiers (such as TCP/UDP port numbers) are almost always required — even on a loopback-only machine with no internet connectivity.

_Engineers working through network architecture decisions find foundational discussions like this on daily.dev._

## Similar posts on daily.dev

- [IP Addressing, Part III: Inside the IP Packet](https://daily.dev/posts/ip-addressing-part-iii-inside-the-ip-packet-2htt89y0h) · The Polymathic Engineer · 0 upvotes · 0 comments
- [Computer Networks Explained: The Complete Guide](https://daily.dev/posts/computer-networks-explained-the-complete-guide-uozado4ud) · Medium · 0 upvotes · 0 comments
- [The world in which IPv6 was a good design](https://daily.dev/posts/the-world-in-which-ipv6-was-a-good-design-tj3i8ov0s) · Hacker News · 0 upvotes · 0 comments
- [Computer Networking Fundamentals](https://daily.dev/posts/computer-networking-fundamentals-hdyvzxkot) · freeCodeCamp · 1 upvotes · 0 comments

---

Tags: [#networking](https://daily.dev/tags/networking), [#dns](https://daily.dev/tags/dns)

[View this post on daily.dev](https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Addresses in a Networking Stack « ipSpace.net blog","url":"https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso"},"datePublished":"2026-08-11T08:55:58.498Z","dateModified":"2026-08-11T09:30:28.151Z","description":"A conceptual breakdown of the different types of addresses needed in a networking stack, mapped to the TCP/IP model. Covers service identifiers...","image":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","thumbnailUrl":"https://media.daily.dev/image/upload/s--2-1xRawN--/f_auto/v1722860399/public/Placeholder%2011","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"networking,dns","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"Addresses in a Networking Stack « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/addresses-in-a-networking-stack-ipspace-net-blog-94ho7yaso#faq","mainEntity":[{"@type":"Question","name":"Why does TCP/IP use a 5-tuple instead of a dedicated connection identifier?","acceptedAnswer":{"@type":"Answer","text":"TCP/IP has no true connection identifier. Instead, it uses a hack: the combination of source IP address, destination IP address, source port, destination port, and transport protocol (TCP or UDP) is treated as a unique connection identifier. This 5-tuple is not a real connection ID but a workaround that has become the standard approach in the TCP/IP stack. Developers building connection-aware systems track TCP/IP design trade-offs like this on daily.dev."}},{"@type":"Question","name":"Are data-link layer addresses always required in a network stack?","acceptedAnswer":{"@type":"Answer","text":"Data-link addresses are not always required. On a point-to-point link there is no need for data-link addresses. Similarly, network-layer addresses are optional if the network consists of just two isolated nodes. However, service identifiers (such as TCP/UDP port numbers) are almost always required — even on a loopback-only machine with no internet connectivity. Engineers working through network architecture decisions find foundational discussions like this on daily.dev."}}]}
```

