计算机网络之我见-通俗理解计算机网络(一)

写在前面:计算机网络和“XX语言程序员”这个职业也许并不强相关,例如大部分java程序员只要懂得如何使用servlet规范API,采用某些MVC框架写好程序打包部署到tomcat等容器中就能写出功能强大的“XX管理系统”,然而如果需要编写那些自己制定协议的基于tcp/udp的网络服务程序,理解计算机网络的基本工作原理还是很有必要的。本人才疏学浅,相当长一段时间内都没能对计算机网络知识有一个感性的认识,然而看了一些文档,也有了一定的感悟,写本系列博客的目的主要对零散的网络知识总结归纳成通俗容易理解的话语,以期达到融会贯通和防止遗忘。(本文只是自己的理解,有失水准,欢迎指正错误)

 

1 何为计算机网络,计算机网络的基本组成是什么?

计算机网络就像电网一样,用电线互相连接在一起,电从发电厂通过电线能把电能传递到你家、我家、千千万万家,因为你家我家和电厂之间都有直接或者间接的电线相通,所以可以互相传递电能。这里我们总结出一个点:要想互相传递信息,必须有直接或者间接的通路联通。然而计算机网络除了互通外还必须解决一个问题,那就是能够进行精确的一个点到另一个点的消息传递,不能无脑瞎传,做这些工作的就是计算机网络中的各种设备节点了,计算机网络中的节点设备主要有交换机、路由器和主机,它们之间相互协调来进行数据的准确传递。

2 网络一般的结构是啥样的,交换机、路由器和电脑主机一般是怎么连接的?

首先明确一点,无论怎么连,只要这些设备接入到网子上,就能通信! 然而不同的连接法有不同的特点:

有一根直线上接好多台电脑主机的网络结构;

有一个交换机接好多台电脑主机的放射型的、树形的网络结构;

还有一台主机有多个网口,多台主机之间互相连接的网状网路结构;

对于一根线上接好多台电脑的这种类型的网,有个缺点就是所有的电脑间互相通讯的时候都必须占用那根线,如果其中一对通信的电脑占据了这根线,其他的电脑想通信的时候必须等着线路不用了再去占(专业术语叫共享式网络,电脑网卡采用“载波监听冲突检测”算法来检测线路是否被占用),这样网速必然会很慢,但是怎么说都是可以通讯的。

对于多台主机间互相用网线两两连接的这种网状网,由于每个主机相互之间都有线连接,互相通信不干扰,通讯效率应该最高,但是得费多少网线,接多少网卡,所以这种网太浪费了,一般都是国家的多个核心地区的核心路由器之间采用不完全的网状结构网(省点网线,不是两两都有线相通),这种网应该对数据传输可靠性很有保证,因为一条线断了还可以通过其他的线转发过去。

又省线省网卡,又不需要多个主机共享一根线通信的连发有木有,有,那就是现在常用的用交换机、路由器连接多台主机的连法了,叫树形结构,这种结构现在是最普遍了,特点是多台电脑之间没有直接的网线相连,而是都连接到交换机 或路由器上、互相通信的时候把消息数据发到交换机,由交换机在进行数据转发,主机对之间互相通信不冲突、只是需要交换机统一换发数据,数据包需要排队了,姑且叫做转发式网络吧,交换机一般都是硬件转发,排队也不是事,这比一根线多台主机的共享式网络效率高多了去了,现在的局域网基本都是采用这种结构。

所以根据我的推断,我得出结论:我国的互联网结构应该是几个地区的核心路由器之间采用网状结构互联,然后每个核心路由器下面的区域网络基本都是树形结构的网。

 

本来想多写点,但是有点累,下次再写吧。这篇先讲网络结构,下次讲讲交换机、路由器、主机之间链路层如何通信,再讲讲IP地址的概念,IP分类、路由器和主机之间的IP层通信方式、、、、、以后再讲IP层如何根据路由表路由、路由表如何生成的、ARP协议、ICMP协议、TCP、UDP等等

2018年7月29日晚7点50  闷 -- 孔令宽

你可能感兴趣的:(计算机网络,理解计算机网络)