专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
今天看啥  ›  专栏  ›  程序员鱼皮

你管这破玩意叫网络?

程序员鱼皮  · 公众号  ·  · 2024-09-21 17:08

主要观点总结

本文详细描述了计算机网络中数据包传输的过程,包括各个节点的视角、网络层和数据链路层的交互、以及涉及到的三张表(MAC地址表、路由表、ARP缓存表)的建立和使用。通过生动形象的描述和图解,解释了数据包从发送方到接收方的整个过程。

关键观点总结

关键观点1: 网络中的数据包传输涉及网络层和数据链路层的交互

数据包在网络中的传输需要通过网络层和数据链路层的协同工作来完成。网络层负责IP地址的路由和转发,数据链路层负责MAC地址的封装和传输。

关键观点2: MAC地址表、路由表和ARP缓存表的建立和使用

MAC地址表是交换机中用于映射MAC地址和端口的关系;路由表是路由器中用于映射IP地址段和端口的关系;ARP缓存表是电脑和路由器中用于缓存IP和MAC地址的映射关系。这些表是通过网络中的通信和路由协议逐步建立起来的。

关键观点3: 数据包传输过程中的转发和路由选择

数据包在传输过程中,会根据目标IP地址和MAC地址,经过交换机和路由器的转发和路由选择,最终到达目标节点。这个过程涉及到一系列的路由决策和转发规则。

关键观点4: 网络拓扑结构对数据传输的影响

网络拓扑结构是网络中各节点之间的连接方式,它对数据传输有直接的影响。不同的网络拓扑结构会导致不同的路由选择和传输效率。


文章预览

你是 一台电脑 你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根 网线 连接了起来。 用一根网线连接起来怎么就能"通信"了呢?我可以给你讲 IO、讲中断、讲缓冲区,但这不是研究网络时该关心的问题。 如果你纠结,要么去研究一下操作系统是如何处理网络 IO 的,要么去研究一下包是如何被网卡转换成电信号发送出去的,要么就仅仅把它当做电脑里有个小人在 开枪 吧~ 反正,你们就是连起来了,并且可以通信。 第一层 有一天,一个新伙伴 C 加入了,但聪明的你们很快发现,可以每个人开 两个网口 ,用一共 三根网线 ,彼此相连。 随着越来越多的人加入,你发现身上开的网口实在太多了(理论情况),而且网线密密麻麻,混乱不堪。 于是你们 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览