计算机网络模型:
最底层 - Ethernet Segment
由若干主机(hosts)通过交换机(hub)连接,通常范围是房间或一层楼,如下图所示:
- 每个 Ethernet 适配器有一个唯一的 48 位的地址(也就是 MAC 地址),例如
00:16:ea:e3:54:e6 - 不同主机间发送的数据称为帧(frame)
- Hub 会把每个端口发来的所有数据复制到其他的端口
- 所有的主机都可以看到所有的数据(注意安全问题)
下一层 - Bridged Ethernet Segment
通常范围是一层楼,通过不同的 bridge 来连接不同的 ethernet segment。Bridge 知道从某端口出发可达的主机,并有选择的在端口间复制数据。
为了从概念上简化,我们可以认为,所有的 hub, bridge 可以抽象为一条线,如下图所示:
下一层 - internets
不同的(也许不兼容)的 LAN 可以通过 router 来进行物理上的连接,这样连接起来的网络称为 internet(注意是小写,大写的 Internet 可以认为是最著名的 internet)
internet 的逻辑结构为:
- Ad hoc interconnection of networks
- 没有特定的拓扑结构
- 不同的 router 和 link 差异可能很大
- 通过在不同的网络间跳转来传递 packet
- Router 是不同网络间的连接
- 不同的 packet 可能会走不同的路线
网络IO区
客户端-服务器模型是网络应用最广泛使用的模型,客户端进程发送请求给服务器进程,服务器进程获取所需资源并响应客户端进程的请求,客户端进程收到响应后展示给用户。网络相关的处理,都是通过网络适配器来完成的,具体在硬件上为(右下角):
基于SOCKET编程的应用层