计算机网络–用来实现计算机间的通信
物理层:
一. 设计初, 两两间都需要通信, 每个计算机都需要互相拉线.(物理层)
两两都需要拉线, 利用率低, 麻烦.
- 转发.
- 标识. 网络中表明自己的身份.
二. 继续设计, 找一个中间代理(物理层)
问题
- 1发送, 2345同时接受
- 1 2同时发送数据, 集线器只能转发电信号, 将两个信息杂糅起来共同发给其他设备. 导致消息无法解析
- 数据广播效率低, 主机需要自己判断数据是不是自己的
- 只有一个设备转发, 利用率低
- 集线器只适用于小规模网络, 工作在物理层
解决
- CSMA协议. 发送前先载波侦听, 看是否有人正在发送数据, 没有再发送, 防止冲突
数据链路层
三. 集线器不适合大规模网络, 使用交换机(数据链路层)
hub集线器没有标识用户数据, 交换机:
- 记录地址(mac):端口的表 [mac : 端口]. 解决广播的问题
- 全双工. 集线器用的是双绞线(同时只能有一方工作), 这里使用网线, 拥有8根
交换机表如何建立起来?
- 开始表为空, 有人发送数据, 则将此方mac和对应端口记录进表, 然后去查表转发, 若没有则每个端口都试一下(广播), 若有端口回应则将接收方的mac和端口号记录进表. 如此反复
交换机工作在数据链路层
- 数据分为数据头和数据部分
- 数据头: 原地址(mac), 目的地址(mac)
四. 交换机–桥接功能
能有效扩招网络, 但是当前映射表大小仅仅为几千(注意这里不是路由表)
缺点
- 如果大面积使用, 若一直未找到某个端口, 则一直向其他交换机扩散. 导致消息洪泛
链路层总结:
- mac地址+交换机可以再小的网络(学校, 公司)下效率还是很高的
- 但是若做到全球的网络互连, 还需其他方式解决
网络层
五. 解决跨网络效率低的问题
在两个网络间使用路由器交互, 网络内部使用交换机.
IP地址, 作用:
- 标识网络
- 标识设备
举例, 从102 发送到254:
目标: 0.102=>1.254
- 0.102->0.1 | IP原: 0.102 IP目: 1.254 | MAC原: 0.102 MAC目: 0.1 (102和0.1mac地址通过ARP获得)
- 0.1->1.52 | IP原: 0.102 IP目: 1.254 | MAC原: 0.1 MAC目: 1.52
- 1.52->1.254 | IP原: 0.102 IP目: 1.254 | MAC原: 1.52 MAC目: 1.254
使用路由器来连接两个网络, 网络是抽象的概念, 并无明显规定
路由器像中间人一样, 处理路由表, 处理夸网络的传输, 再网络层数据封装如上图所示.
接下来就是传输层, 应用层…无需多说.