计算机网络导论

网络结构的演变

网状结构

最开始的网络,主机之间都是两两相连

好处

这样连接,好处是安全性比较高(A与B之间的连线断了,可以绕一下C);

另外通信不需要互相等待(没有中间交换设备,所以没有竞争的中立资源,所以不需要排队),网络延迟小

需要说明的一点是,网线其实是电路线,通过高低电压的01信号传输信息

此时聪明的小伙伴会提出问题:现在不是有光纤吗,你怎么说网线是电缆线呢?

这样说其实没错,过去没有光纤的时候网线确实是电缆线,通过高低电压传输0101的数据;现在我们通过光纤,只有传输过程是光信号,到我们真正上网使用会将光信号转化为电信号(光猫,也叫调制解调器),所以本质上我们使用的还是电信号

坏处

但是随着机器数量的增多,这样的连接线数量也越来越多

假设我们现在有10万台计算机,按照这种方式连接,每台计算机需要连接99999条线,共4,999,950,000条线,公式是n*(n-1)/2

需要的电缆数量太多,而且电路会越来越复杂

星形结构1

好处

电缆数量 = 计算机数量;

电路简单;

坏处

同时发会互相干扰,因为电压会互相叠加(势能)

星型结构2

所以我们中间加一个交换设备,先发给交换设备,然后交换设备再轮流转发

但是即便是这样,也可能会出现干扰,比如A和B同时给对方发信息,这里一般有两种模式处理:

可以同时发而不需要等待对方的,就是全双工模式;
不能同时双向发,只能一侧发完另一侧发,这样叫半双工;

坏处

另外, 不管全双工还是半双工,都需要在交换设备处排队等待(涉及到了资源的竞争)

现实网络交换结构

每家每户都有各自的网络设备(手机,电脑等),他们通过路由器连接,并轮流转发;

路由器连接到交换机,轮流转发请求,基本上每隔几栋楼会产生一个交换机(一般是在弱电井中,12,24,36根网线的都有);

交换机再连接到核心交换(核心交换的性能更为强劲),核心交换再连接到更高一级的设备......一般是6~8级的连接设备

家用的交换设备是路由器,小区楼之间用小型交换机作为交换设备

向上交换能力依次提升,小区交换机,街道交换机,乡镇交换机,区县交换机......最大的交换机是国家的大区(华北,东北,西北,华中,华东,华南......等),这些交换机之间两两连接

大区之间的数据会互相备份,保证出现问题能够恢复

国与国之间通过海底光缆等互相通信

计算机通信的原理

MAC地址

上面我们说了,最后我们用星型结构将计算机连接起来

我们连接起来是为了什么?自然是为了通信

那么现在问题来了,A要怎样才能发到B那边?

在一个小范围的虚拟内网中,我们一般使用MAC地址进行计算机的区分

MAC地址是每一个带有网卡的设备出厂时给予的一个,全球唯一的,不可改变的物理地址

中间的交换设备当中一般会存储一个MAC地址表,用于转发数据

这样,A只需要在发送数据时,携带B的MAC地址,即可发送数据给B

IP地址

但是MAC只能用于小范围的设备定位,假设跨省甚至跨国的两台计算机通信,依然使用MAC地址,需要遍历上千万的设备才能查询到,显然是不合理的

此时就用到了IP地址

IP = 网络部分(行政划分)+主机部分

IP主要作用是为了寻址

ip地址最多定位到某个交换设备的ip,但是不知道是这个交换设备哪台计算机,所以需要更进一步的,全球唯一的标识(目标设备id,即MAC地址)

IP和MAC共同合作才能实现端到端的通信

以112.113.87.50为例,112.113.87是可能代表网络部分,指定了你是哪个省,哪个市,哪个县的,最后一位表示你的上级交换机的ip地址

DNS服务器

百度的域名是www.baidu.com,我们访问百度只需要输入域名即可,不需要知道它的ip,这就是域名解析

将域名与ip映射起来,需要ip时将域名转化为ip,需要域名时将ip转化为域名

DNS服务器的地址写在了电话卡当中,以下这个是某些移动电话卡的DNS服务器地址

三大运营商各自有各自的DNS服务器集群

当我们访问www.baidu.com时,会先请求DNS服务器(百度会先将自己的域名写入DNS服务器当中),将域名转化为ip,返回给我们;然后我们再带着数据访问百度服务器的ip(可能不止一个ip);最后百度服务器将数据返回给我们

相关推荐
network_tester12 分钟前
5G毫米波测试规范详解:3GPP核心标准、测试流程与实战挑战
网络·网络协议·测试工具·5g·信息与通信·信号处理·射频工程
kev_gogo1 小时前
5G网络切片辨析(eMBB,mMTC,uRLLC)
网络·5g
星星岛屿1 小时前
网络原理---HTTP/HTTPS
网络·网络协议·tcp/ip
java干货1 小时前
PUT vs PATCH:如何选择正确的HTTP方法优化你的API设计?
网络·网络协议·http
web_132334214362 小时前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
一袋米扛几楼982 小时前
【网络】DHCP(Dynamic Host Configuration Protocol)
网络·智能路由器·php
上分小子2.03 小时前
HTTP-
网络·网络协议·http
Henry_Wu0013 小时前
ubuntu20.04 突破文件数限制
服务器·网络·数据库
黑客K-ing5 小时前
网络安全与防范
网络·安全·web安全
只会写Bug的程序员5 小时前
面试之《nodejs中,网络请求时stream和json的区别》
网络·面试·json