连接两台电脑,可以通过**1-3、2-6 交叉接法**(水晶头的第 1、2 和第 3、6 脚,它们分别起着收、发信号的作用),如果在增加一台电脑,就需要通过**集线器Hub**(物理层设备),发送网络包的过程会遇到以下三个问题:
- 这个包是发给谁的?谁应该接收?
- 大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?
- 如果发送的时候出现了错误,怎么办?
MAC, Medium Access Control,即媒体访问控制
首先,主机通过出厂时设置的MAC地址,即物理地址解决第一个问题,如果不知道目标主机MAC,则发送ARP协议广播包,获取目标MAC,并本地缓存ARP。为解决第二个问题多路访问,提供三种方式,信道划分、轮流协议、随机接入协议,期间发生意外,会通过CRC(循环冗余检测)。报告广播包异常。由于集线器没有脑子,一味的发送广播包会浪费信道资源,所以升级使用交换机Switch-数据链路层,第一次发送广播包后,会记录目标地址,形成转发表,下一次直接通过转发表,发送网络包。
STP,Spanning Tree Protocol,最小生成树协议。
CIDR,无类型域间选路
例10.100.122.2/24,IP地址分为网络号和主机号,24表示前24位是网络号
广播地址,10.100.122.255
子网掩码,255.255.255.0
网络号的计算,将IP地址与子网掩码进行AND运算,就可以得到网络号
公有地址和私有地址
MAC地址
ping命令是如何实现的?
ICMP 全称 Internet Control Message Protocol,就是互联网控制报文协议。
网关与路由器的区别?
路由器是一台设备,它有五个网口或者网卡,相当于有五只手,分别连着五个局域网。每只手的 IP 地址都和局域网的 IP 地址相同的网段,每只手都是它握住的那个局域网的网关。也可以说网关是路由器的一个网口。
静态路由与动态路由
静态路由,其实就是在路由器上,配置一条一条规则。
网关类型
不改变 IP 地址的网关,我们称为转发网关;改变 IP 地址的网关,我们称为NAT 网关。
NAT(Network Address Translation,简称 NAT):网络地址转换。
路由器中包含一个或多个网卡,负责收发信息
路由器->路由表->路由规则
路由规则包括目的网络、出口设备、下一跳网关
动态路由算法
动态路由算法本质是如何找到最短路径问题
距离矢量路由算法(基于 Bellman-Ford 算法)
基本思路
每个路由器都保存一个路由表,包含多行,每行对应网络中的一个路由器,每一行包含两部分信息,一个是要到目标路由器,从那条线出去,另一个是到目标路由器的距离。
缺点
每次发送都要发送全局路由表
当其中一个路由器节点挂掉,判断过程复杂
链路状态路由算法(基于Dijkstra 算法)
基本思路
当一个路由器启动的时候,首先是发现邻居,向邻居 say hello,邻居都回复。然后计算和邻居的距离,发送一个 echo,要求马上返回,除以二就是距离。然后将自己和邻居之间的链路状态包广播出去,发送到整个网络的每个路由器。这样每个路由器都能够收到它和邻居之间的关系的信息。因而,每个路由器都能在自己本地构建一个完整的图,然后针对这个图使用 Dijkstra 算法,找到两点之间的最短路径。
优点
链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽和 CPU 利用率。而且一旦一个路由器挂了,它的邻居都会广播这个消息,可以使得坏消息迅速收敛
动态路由协议

