早期,我经常在 Google 上搜索有关 TCP/IP 工作原理的详细指南/手册;特别是数据流;例如,当我输入“http://superuser.com“在网络浏览器中并接收superuser.com的主页?
我找到的搜索结果对我来说不起作用;因为没有完全回答我的问题。
我发现这些网页很有趣:
另外,我还发现了出色的 EventHelix 图表:
根据上面的例子,我认为 TCP/IP 的工作方式如下:
- Web 浏览器获取 URL(http://superuser.com),正确准备 HTTP 消息(可能是 GET 请求)。Web 浏览器需要知道 superuser.com 的 IP 地址,因此通过 UDP 查询 DNS 以将 superuser.com 转换为 IP 地址。如果 DNS 缓存找到 superuser.com 的 IP 地址,则发送响应,否则寻找权威的转换。最后,浏览器将此消息和目标 IP 地址传送到 TCP 层。
- TCP 接收消息,决定是否需要分段,准备 TCP 头并将段发送到 IP 层。
- IP 接收段,验证目标 IP 地址是查找网络、本地网络还是远程网络,查询路由表以获取网关 IP 地址,使用 ARP 查找网关 IP 地址的 MAC 地址,如有必要对段进行分段,准备 IP 头并将数据包发送到数据链路层。
- 等等...
以上内容还远远不够完整和正确。
在哪里可以找到有关 TCP/IP 数据流如何工作的更多完整信息?任何帮助都将不胜感激。
答案1
本书“TCP/IP 图解,第 1 卷:协议”及该系列的其他书籍被大多数人认为是该主题的最佳参考书。