网络基础:模块化设计与协议栈解析
1. 模块化设计
为了尽可能简化网络的设计和维护工作,大多数联网计算机采用模块化设计,即使用多个模块协同完成网络通信任务。每个模块仅负责单一任务或一组相关的小任务,并且知道如何与其他一个或多个模块交换信息,但无需了解其他模块完成任务的具体细节。
模块化设计具有以下优点:
- 易于修改 :如果每个模块尽可能独立,那么在需要时更容易进行更改,甚至可以完全替换某个模块,而无需对其他模块进行修改。
- 便于问题隔离 :当一个模块包含执行某项功能的所有代码时,更容易隔离问题。
模块可以由硬件、软件或两者结合组成。软件模块可以小到一个大型应用程序中的一个过程或子程序,也可以是一个例程库、一个类或一个单独文件中的类包。
在嵌入式系统中,程序代码通常被称为固件,它一般存储在闪存或其他非易失性存储芯片中,而非磁盘驱动器。与存储在驱动器上的软件不同,用户可以根据需要安装、运行和卸载软件,而固件往往是设备不可或缺且很少更改的一部分。用户可以向设备加载新的固件,但新固件通常是对现有代码的更新或升级,而不是一个完全不同类型的应用程序。
2. 网络协议栈
网络中使用的模块可以看作是一层一层堆叠起来的,计算机的网络协议栈由参与网络通信的模块组成。协议栈的底层是与网络电缆的硬件接口,顶层是提供要在网络上发送的数据并使用从网络接收的数据的模块。中间可能有一个或多个模块负责寻址、错误检查以及提供和使用状态与控制信息。
2.1 数据传输过程
- 发送 </
超级会员免费看
订阅专栏 解锁全文
2318

被折叠的 条评论
为什么被折叠?



