计网基础(一)

 在这里随手记录一些计网知识,以便日后形成体系

源起

两台计算机需要完成通信,最简单的方式是什么?

就是通过高低电平来发送类似于0/1的信号。但这样的话,实现点对点通信就需要每两台设备都需要建立链路。显然太多了!!!

那么,能不能简化一下呢?比如通过转发的机制来减少链路。貌似是可行的。

而对于转发来说,还需要对每一台设备进行标识,表明身份才能准确的发送信息。

于是便产生了两个重要的思想:转发和标识

物理层(集线器HUB)

基于转发的思想,发展出一种专注于转发信号的设备——集线器(HUB)。他的原理非常简单,就是作为中间人,将一个设备发送来的数据通过广播的方式扩散出去。

他的转发方式非常朴素暴力,一个设备发来的数据会被它广播道所有设备中。

如此便产生了问题:如果两个设备只想进行点对点的通信怎么办呢?它的解决方式是增加标识。给数据包打上标识,比如设备1要发给设备4,集线器进行广播后,虽然设备2,3,4,5都收到了,但是只有对应标识的设备会接收这个数据,其他设备会直接将其丢弃。

还有一个问题:由于集线器采用的是简单的双绞线,如果有多个设备要发送信息,就会造成信号的杂糅,导致其他设备接收到的信号是混合而成的。针对这个问题,提出了一个协议:CSMA/CD,这一协议实现了载波监听,查看链路上有没有正在发送的数据,如果没有再进行发送,避免冲突。

这便是最早的网络设计模式,但他依旧存在着两个不可避免地问题:其一是带宽利用率低,使用中心辐射型拓扑结构,广播流量可能会在网络中不断复制和传播,浪费带宽。其二是链路利用率低,一条链路上只能有一个设备发送信息。

受限于以上缺点,集线器只适用于小规模网络。

数据链路层(交换机)

交换机与集线器很类似,但又很不一样。

最明显的区别就在于标识。集线器实际上没有对设备进行标识,而是让设备自行判断,而交换机形成了设备物理地址和端口的映射。每一台设备拥有物理地址(MAC地址,48比特),相当于他的身份证,一出厂就被写死,基本可以看作是固定的。而交换机中存储了一张表(不是路由表!!)用于记录mac地址和端口的关系。

同时交换机还实现了全双工,也就是可以同时进行发送和接收。

交换机是如何产生这张关键的表的呢?

一开始,表是空白的,当设备A接入后,交换机就自动写入设备A的mac和对应端口。当设备A需要发送数据给设备B,交换机依旧采用广播的方式,得到设备B的回应后,就再写入B的信息,以此类推...当这张表建立后,就能实现更高效率的点对点通信了!

然而,这张表的大小是有限的(家庭交换机一般是几千),因此,交换机一般适用于局域网级别的网络。

网络层(路由器)

路由器实现了两个网络的连接,相当于合成一个大网。

引入了IP地址,IP地址有别于mac地址,它能够标识网络和设备。192.168.0.15和192.168.0.102就同属于一个网络,而IP地址后面的掩码(比如192.168.0.0/24)则表示固定网段(IP地址共32位,24表示固定前24位)。

两个不同网段的设备想要通信,都需要经过路由器。

需要注意的是,IP地址即使是在网络内也不能直接通信,而是需要通过ARP协议查到MAC地址,在MAC层面进行通信。通信过程中,IP的源地址,目标地址不变,MAC的源地址,目标地址随着发送和接收方产生变化

一个数据包通常长这样(含数据头和数据):

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值