网络入门初学第一期
正式学习网络也有一段时间了,不能盲目的埋头苦学,为了学完而学,今天就根据之前的课程
做一期总结对之前的知识进线汇总,当然以下内容均为个人理解
首先我们来谈谈PC【个人电脑】
在很久很久以前,我们的电脑只是本地的进行工作与运算的
当然,如果仅仅是一台电脑,对于传输这件事情上就毫无瓜葛了
对于信息的发展,我们不可能止步于此,就好像你和我,我们要聊天,说话是通过一种介质,声音便是传输的数据
所以我们肯定是多台设备,进行数据的传输和通信
两台设备要怎么传输呢?媒介是什么?
线呗、同轴电缆、网线
连接起来我们就可以传输了,通过电信号,比特流,二进制的方式
初步的通信就产生了
那么接下来的需求会越来越多,不仅仅是两台设备之间的通信,而是多台设备之间的通信
其实四台电脑,这样子互连还能接受,不过就是每台电脑三张网卡;
可是要是上百台设备需要通信呢?很显然,这种方式即费钱,又费力
那该咋办?很多小伙伴说上交换机!诶对,但是别急,根据当时的时代背景,咱还没创建交换机的时候,我们会用什么方式来代替上面在这种?
总线型拓扑图
这样子不就能够解决上面的问题了吗,我们所有的PC通过一根线进行传输
但是这种方式,并不好,安全性不高,还冲突,而且中间的线一旦故障,整个通信就瘫痪了
冲突
当两台设备同时在发送数据,设备之间就冲突了,那么怎么解决
有种CSMA/CD的机制,可以实现先听后发,边听边发,冲突停发,随机重发
其实就是在发送数据之前,先监听信道中是否有数据在传输
那么暂时就解决了pc通讯之间冲突的问题
在这种共享式以太网里,在物理层,我们只能实现数据的线传输
但是,我们有需求,
我们需要PC1单独的去对PC4传输数据 【单播】
需要PC1单独对PC2、PC3传输数据 【组播】
需要PC1对所有设备传输数据【广播】
那么就得引用数据链路层来实现将分组数据封装成数据帧,在数据链路层中实现点对点,点对多点的通讯
如何做到对某台设备单独的传输信息呢?无非就是在数据上打上一组能够唯一表示某台机器的信息
我们知道我们每台设备上都有一个网卡,网卡上有全球唯一表示该网卡的地址叫MAC地址,也叫物理地址,用它来表示某台设备
MAC地址有48位,前24位由厂商提供,后24位由制造商分配
二进制第八位用来区分单播地址为0、组播地址为1,广播地址全1
那么现在PC1发送数据给PC4,是怎么操作的呢?
在发送数据的上面,封装以太网帧格式
PC1发送以太网数据帧,PC2、PC3、PC4都可以收到,他们对目标MAC地址查询,看看是否是传给自己,是自己的接受,不是自己的不管
PC多了,大家都想通信,冲突会多,而且共享的带宽就缩小了,性能也就降低了
为了初步解决很大的冲突域,我们延申出了一个设备叫网桥,把冲突域缩小,分成多个冲突域
现在就是如果PC1和PC3通信,直接发给PC3,网桥不做处理
因为网桥可以识别以太网帧,如果是给PC2或PC4的数据,就接受转发
所以网桥设备需要读懂数据链路层的数据,也被称之为二层设备
网桥设备中有MAC地址表,映射MAC地址和端口的关系
MAC地址是PC1和PC3的,端口则是左边的端口
MAC地址是PC2和PC4的,端口则是右边的端口
但是网桥其实还是有冲突的
假设我们PC1去访问PC3,同时PC4访问PC3不又冲突了,网桥最多在内部缓存,等待转发
所以慢慢的我们出现了交换机,交换机一个端口一个PC,一个链路上执行收发不冲突
每个端口是一个冲突域,多台PC就不冲突了,自己的信道自己想咋地就咋滴
交换机的工作原理和网桥是一样的:
接受到数据帧,查看目标MAC,对应的端口转发就ok了
来看看当PC发送广播的时候
广播域就是一个广播帧在网络里传输的范围
二层交换机隔离了冲突域,但是没办法隔离广播域
广播域最好别太大,控制终端数量,避免产生严重的广播风暴
所以我们需要隔离广播域,隔离广播域的设备就需要三层网络层的设备了也就是三层交换机和路由器
我们MAC地址只在一个广播域中唯一,我们需要去访问其他广播域的设备就需要拥有一个在整个不同广播域中唯一的标识——IP地址
MAC地址,是物理地址,随pc而动;
IP地址,是逻辑地址,它是随地址,随网络的,固定的
就好比我们在海南购买的电脑,难道带到北京,ip地址就是海南吗?不可能,我们经常在评论区里面看到IP:城市,也足以说明,ip地址是固定的
这也为了我们后续寻址,得到了大的支撑
PC1要访问PC2,数据链路层的目的MAC地址是谁?是PC2的MAC地址
PC1要访问PC3,数据链路层的目的MAC地址是谁?是PC3的MAC地址吗?不是
路由器中是没有MAC地址表映射的,它收到MAC地址只有两种情况:
1.目标地址是自己,接受
2.目标地址不是自己,丢弃,这也正是说明路由器可以隔离广播域
那么PC1去访问PC3到底封装的目标MAC是谁呢?是路由器吗?
答案不是;而是路由器的接口
为什么呢?首先排除目的MAC是路由器,它接收了数据,就不进行转发了。
那问题来了,PC1又怎么知道访问PC3的时候,目的地址写谁呢?
PC1首先不知道访问的目标和自己是否在同一个链路上?
如果是同一链路,假设这边PC1访问PC2,那么数据链路层里的目标MAC地址就是PC2的MAC地址
如果不在一个链路,就好比这边PC1访问PC3,就得查询路由表了,用路由表的直连下一跳,对应ip地址,进行ARP查询,得到直连下一跳的硬件地址
回到刚刚的问题:PC1怎么知道访问的目标和自己是否在同一个链路上?
IP规划原则:一个广播域配置一个网段
PC1会判断目标是否与自己同一网段,同一网段的设备,即同一广播域,即同一链路上;
MAC地址在同一广播域、同一链路通信
IP地址在不同广播域,全球通信
标签:广播,入门,PC3,PC1,MAC,第一期,地址,初学,设备 From: https://www.cnblogs.com/com-Jacob/p/17901072.html