计网七大层图谱:

传输层封了TCP,UDP这样的协议。TCP是为了保证数据的可靠性,实现可靠的传输;再往上是如http的应用层。但是这些所有的协议都是基于下面讲的这三层,其中,数据链路层和网络层尤为重要。
计算机网络:
用来实现计算机两两之间都能互相通信(数据信号可以通过发送类似1010这样的高低电频收到)
利用 “转发” 和 “标识(表明自己的身份)”? 可以扩展网络规模,即增加设备。

第1种设备——HUB集线器(在物理层):
网络诞生之初的一种网络组织形式。可以做消息的转发(用双绞线就可以,但是这个转发很暴力,一股脑把接收到的分
别转发给全部的,不需要的数据包就被丢弃了;多个信号转时不能识别,杂糅起来发给其它设备)
根据这个问题提出了一个协议:CSMA/CD【功能:发送前进行载波侦听,检测链路上有没有其他在发送数据,没有则进行数据的发送,可以防止冲突】
“HUB集线器” 这种方式的缺点:
1. 进行数据的广播会导致带宽利用率较低 2. 在链路上同时只能有一个设备发送数据,导致链路的利用率很低 3. 集线器只适用于小规模网络,工作在物理层
“HUB集线器” 最主要的问题:
没有记录每台设备的标识,只是将数据广播出去,让设备自己判断消息是否属于它自己,因而工作效率较低。

第2种设备——SW交换机(在 数据链路/MAC 层):
“SW交换机” 和 “集线器” 一样,是一个中心的作用,可以做消息的转发。
一个比较有意思的事:MAC地址却叫做物理地址。
MAC层存了MAC地址、源地址、目的地址和数据。
【IP地址的数据包其实就是MAC地址的数据部分】
?打开网络适配器的连接信息,可以发现物理地址和标识之间的关系:

“SW交换机” 的特点:
1.?可以记录(MAC)地址和端口的映射关系(mac地址在每个网络设备出厂的时候已经写死了,但仍可以改)
2. 全双工,和双绞线不一样(双绞线在工作中的时候,只能有一台设备进行数据发送),“SW交换机” 使用的是网线(有八根线,正常情况下至少有四根是工作的)。1在发送时,也可以接收数据;链路上的数据也不会再产生冲突;1在发送数据的时候,2也可以发送。
3. 可以进行 “桥接”...
4. 在局域网内可以进行高效的传输。
“SW交换机” 效率高于 “HUB交换机” 的一个重要原因:
交换机所在的层叫做 “数据链路层”,其中分为数据头和数据,数据头中记录了原地址和目的地址(mac地址),这也就是SW效率高于HUB的一个重要原因。
重点:交换机的空表如何建立起MAC和端口的映射关系
假设我们有两个交换器如下图所示【这里讲的mac和端口的映射表不是我们通常所说的路由表,因为还没有到路由层,只是交换机】:

当A向C发送消息并且C不在映射表中的时候,A就会全部地广播发送数据,进入到另一个交换器的时候,另一个交换器的映射表中有C的记录,这时找到了C,就会把数据传给C。数据发送成功之后就会进行记录。B同理A,数据发送成功之后变动如下图:

我们从图中可以印证:SW交换机和mac地址结合的这种方式中,多个mac地址可以对应同一个端口。
“SW交换机和mac地址结合的这种方式” 的弊端:
存储量只有几千,只能在一个比较小的局域网络内达到一个高效的传输。不能在较大的范围内建立计算机的互联网络,未能记录对应的路由信息的话,就会一直广播,导致消息的洪范。
抛出问题:
交换机满足了小规模局域网的互联互通,但是互联网的目的是跨局域网的全球互联,因此联通两个网络成为急需解决的问题。

第3种设备——路由器/网关(在网络层)
是跨两个网络之间的连接点。这个路由器其实也是一个Linux系统,也有一个路由表。引入路由器是为了在跨网络的时候进行数据的转发。这个网络是一个比较抽象的概念,我们要标识这个抽象的网络以及在网络层面标识每台设备,所以我们提出另一个标识——IP地址(IP地址的两个重要作用:标识网络 & 标识设备)。
“路由器” 工作的一个主要原理:
既有网络一的IP地址,也有网络二的IP地址,充当一个中间人,联系两方。
? ?
比如1和3之间属于内部交互,通过交换机实现;1和2之间就通过路由器实现。
下图的端口1和2是ping通的

?
两大重点:
1. 路由表的建立,这个比 SW交换机 中的地址端口映射表要复杂得多,用到了很多路由的算法,路由的算法目前也在不断更新迭代。但路由器经过一系列的算法会自动建立出一个完善的路由表。
2. 网络内的传输(IP地址是抽象的地址,不能直接用作通信,只能使用mac地址进行直接通信,因为mac地址是一个真实的地址)
比如 192.168.1.52 和 192.168.1.254,首先,1.52 先根据IP地址查 1.254 的MAC地址(这里有个ARP协议,是在这个网络中去广播询问谁的IP地址是 1.254,1.254 收到这个询问之后,就会回复反馈自己的mac地址),然后就可以在MAC层进行传输了。实际上,网络的传输都是走的MAC地址。
IP地址的数据包其实就是MAC地址的数据部分。

|