吐血整理,万字带图!近来开始系统学习计算机网络,翻阅无数文档,将以连载的方式输出每一阶段的学习成果,与诸君共勉!喜欢的还望三连,感谢!
计算机网络(英语:computer network),通常也简称网络,是指容许节点分享资源的数字电信网络。在电脑网络,电脑设备会透过节点之间的连接(数据链路)互相交换数据。
局域网(LAN,Local area Network)
:在小区域内使用的,由多台计算机组成的网络,覆盖范围通常局限在10 千米范围之内。如一个家庭、公司或校园内的网络。
城域网(Metropolitan Area Network,MAN)
:范围在广域网与局域网之间的网络,其网络覆盖范围通常可以延伸到整个城市,借助通信光纤将多个局域网联通公用城市网络形成大型网络,使得不仅局域网内的资源可以共享,局域网之间的资源也可以共享。
广域网(WAN,Wide Area Network)
:远程网,涉及长距离的通信,覆盖范围可以是个国家或多个国家,甚至整个世界。一般由运营商搭建连接远距离区域的广域网。
网络拓扑是网络的几何形状分类。除了影响网络的容错度、管理方式、信息如何流通外,它还会影响网络的可靠性和架设成本,比如总线拓扑较容易发生单点失败。一般而言线路愈多愈可靠,但相对地布线成本亦会提升。
常见的网络拓扑有:
总线拓扑
:所有节点共享一个介质,以此连接其他节点。早期的以太网10BASE5及10BASE2会应用此一拓扑。
星状拓扑
:所有节点集中连接至一个特殊的设备,例如交换器、集线器。
环状拓扑
:所有节点以形成一个环状的方式连接,节点间需以顺序的方式发送信息。应用此一拓扑的有IBM Token Ring、IEEE 802.5 Token Ring。
网状拓扑
:所有节点连接至一个以上的节点。
树状拓扑
:所有节点一层一层地以分支形式连接。
混合式拓扑
:将上述拓扑混合使用。在布置网络时,一般会混合多种拓扑。
传输介质
指在网络中传输信息的载体。不同的传输介质具有不同的特性,这些特性直接影响到通信的诸多方面,如线路编码方式、传输速度和传输距离。
网卡
是电脑硬件的一种,它使得电脑能够访问传输介质上的资料。网卡可能会有连接适当线材的接口,拥有接收无线信号的接收器。两者皆会配合适合的电路板。
网卡会依据网络地址来决定是否对流量回应。在以太网中,设备所安装的每一片网卡都拥有一个独一无二的MAC地址。为了避免网卡之间的地址有所冲突,电气电子工程师学会及厂商会共同确保网卡的地址为独一无二的。一个以太网MAC地址的长度有6Bytes。前3Bytes为厂商向学会登记而得来。后3Bytes则为厂商自行赋予。
中继器
是用于增强信号的网络设备。这一设备可使因距离问题而出现衰减的信号再生,令其能发送得更远。对于大多双纽线而言,若总长度超过100米,便需要安放一台中继器。光纤则要有几公里的总长度才需安放一台。
拥有多个端口的中继器即为集线器。在OSI模型中,集线器为第一层设备。“5-4-3”规则是指在10Mbps以太网中,网络不能有超过5个区段的总长度,最多使用4个集线器,最多以3个区段连接电脑。
由于交换器的功能相对较佳,价格亦相近,故上述两者皆已被交换器所取代。
桥接器
连接两个独立的网段及过滤之间的流量,它在OSI模型的数据链路层中运作。它可分割网络的碰撞域,但同时仍会进行群播。 分割网络的碰撞域能增加网络的效率。
桥接器有三大类:
交换器
是一种依据MAC地址,来在端口之间转发和过滤数据链路层的帧的设备。交换器仅将帧转发到通信所涉及的物理端口,与只进行群播的集线器不同。可视它为拥有多个端口的桥接器。它透过进入物理端口的帧来学习来源的MAC地址。若交换器不能从MAC表中找到与帧对应的MAC地址,它就会把帧群播。
一个家用或小型办公室用的路由器,图中可见它有ADSL电话线及以太网端
路由器
是一款互连网络设备,兼具了中继器、桥接器、集线器的功能。其依照数据包内的消息及路由表中的信息来选择数据包传递的路径。它必须拥有IP地址才可正常运作。
调制解调器
,俗称“猫(modem)”
,把节点的信号转换成其他非专用线路能够发送的信号。当中载波混入数字信号调变,成为模拟信号,以便其他非专用线路携载。早期的电话线拨接网络需搭配调制解调器使用。
随着计算机技术和通信技术的不断发展,计算机网络也经历了从简单到复杂,从单机到多机的发展过程,大致可以细分为以下 4 个阶段。
20 世纪 50~60 年代,计算机网络进入到面向终端的阶段,以主机为中心,通过计算机实现与远程终端的数据通信。
这一阶段的主要特点是:数据集中式处理,数据处理和通信处理都是通过主机完成
,这样数据的传输速率就受到了限制;而且系统的可靠性和性能完全取决于主机的可靠性和性能,但这样却能便于维护和管理,数据的一致性也较好;然而主机的通信开销较大,通信线路利用率低,对主机依赖性大。
以通信子网为中心的网络阶段(又称为“计算机-计算机网络阶段”),它是在 20 世纪 60 年代中期发展起来的,由若干台计算机相互连接成一个系统,即利用通信线路将多台计算机连接起来,实现了计算机与计算机之间的通信。
这一阶段主要有两个标志性成果:
面向终端计算机系统与分组交换网的区别:
早期的面向终端的计算机网络是以单个主机为中心的星形网,各终端通过通信线路共享昂贵的中心主机的硬件和软件资源。
分组交换网
则是以网络为中心,主机都处在网络的外围。用户通过分组交换网可共享连接在网络上的许多硬件和各种丰富的软件资源。
在这阶段最引人注目的是
ARPAnet
(英语:Advanced Research Projects Agency Network
,高等研究计划署网络)的建立,是美国国防高等研究计划署开发的世界上第一个运营的数据包交换网络,是全球互联网的鼻祖。 以现在的水平论,这个最早的网络显得非常原始,传输速度也慢的让人难以接受。但是,阿帕网的四个节点及其链接,已经具备网络的基本形态和功能。所以阿帕网的诞生通常被认为是网络传播的“创世纪”。 不过,阿帕网问世之际,大部分电脑还互不兼容。于是,如何使硬件和软件都不同的电脑实现真正的互联,就是人们力图解决的难题。这个过程中,温顿·瑟夫为此做出首屈一指的贡献,从而被称为“互联网之父”。
这阶段虽然有两大标志性成果,并建立了计算机与计算机的互连与通信,实现了计算机资源的共享。但缺点是没有形成统一的互连标准,使网络在规模与应用等方面受到了限制。最引人注目的是诞生了 ARPANet。
20 世纪 70 年代末至 20 世纪 80 年代初,微型计算机得到了广泛的应用,各机关和企事业单位为了适应办公自动化的需要,迫切要求将自己拥有的为数众多的微型计算机、工作站、小型计算机等连接起来,以达到资源共享和相互传递信息的目的,而且迫切要求降低联网费用,提高数据传输效率。但是,这一时期计算机之间的组网是有条件的,在同网络中只能存在同一厂家生产的计算机,其他厂家生产的计算机无法接人。在此期间,各大公司都推出了自己的网络体系结构。
1984 年公布了 ISO7498,即ISO/OSI-RM
国际标准,该模型按层次结构划分为七个子层,已被国际社会普遍接受,是目前计算机网络系统结构的基础。
但是在 ARPANET 的基础上,形成了以 TCP/IP 为核心的因特网。任何一台计算机只要遵循 TCP/IP 协议族标准,并有一个合法的 IP 地址,就可以接入到 Internet。
TCP 和 IP 是 Internet 所采用的协议族中最核心的两个, 分别称为传输控制协议(Transmission Control Protocol, TCP)
和互连网协议(Internet Protocol, IP)
。
20 世纪 90 年代以后,随着数字通信的出现,计算机网络进入到第 4 个发展阶段,其主要特征是综合化、高速化、智能化和全球化。
这一时期在计算机通信与网络技术方面以 高速率、高服务质量、高可靠性等为指标, 出现了高速以太网、VPN、无线网络、P2P 网络、NGN 等技术,计算机网络的发展与应用渗入了人们生活的各个方面,进入一个多层次的发展阶段。
计算机网络的常见的性能指标有速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率。
速率
是物理层概念,指的是信道上每秒钟传输的0/1比特数量,也称为比特率或数据率。比如下载文件中显示的7.8MB/s指的是每秒中可以传输7.8M字节的信息。
带宽
是逻辑概念,表示网络信道传输数据的能力,即最高速率。不同的信道占据着不同的频谱,信道在最大频带下能够达到的最大速率称之为带宽。我们常常会在运营商办理入网服务,常见的百兆带宽指的是100Mbps,即(12800byte/s)。通信网络包括核心网、传输网、接入网等,运营商一般在位于接入网的入口处进行限速,一旦用户流量跨过接入网,就不再限速。
香农定理给出了信道信息传送速率的上限(比特每秒)和信道信噪比及带宽的关系。在有随机热噪声的信道上传输数据信号时,信道容量
Cmax与信道带宽W,信噪比S/N关系为:
C m a x = W ∗ l o g 2 ( 1 + S / N ) Cmax=W∗log2(1+S/N) Cmax=W∗log2(1+S/N)
简单来看,就是信道带宽越大,信噪比越大(信号越强,噪音越弱),信道容量越大。香农定理指导我们,只要实际传输速率R 此处带宽是与计网中的带宽概念不同,通信领域“带宽”指的信号所占据的频带宽度(以赫兹Hz为单位)。例如,在普通电话线上提高访问Internet的ADSL使用了大约1MHz的带宽,对于1-2千米的短距离来说,40分贝的信噪比已经算是比较好的状况了。正是由于电话线具有这样的特性,因此我们永远不可能期望在电话线上获得高于13Mbps的速率。而光纤的带宽大约有3000GHz,是传统电话线的200000倍。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OpiZyJuj-1636122266204)(C:\Users\NingZ\AppData\Roaming\Typora\typora-user-images\image-20211105214605844.png)] 假设两台电脑百兆网口接在一起用Chariot跑TCP流量,电脑的窗口大小为64KB(窗口不自动扩大)。它们之间线路速度为100Mb/s ,RTT稳定为1ms,那么带宽时延乘积为100Kb (12.5KB,tcp已发送未确认的数据), 小于窗口大小,那么跑出来的速度是接近线速(100Mb/s)的。如果RTT稳定为10ms,那么理论速度为64*8/10=51.2Mb/s。 在性能测试工具中, 计算机网络体系结构分为3种:OSI体系结构(七层),TCP/IP体系结构(四层),五层体系结构。 TCP/IP与OSI最大的不同在于: 国际标准化组织(ISO)于1984年拟定了开放系统互连参考模型 OSI从逻辑上,把一个网络系统分为功能上相对独立的7个有序的子系统,这样OSI体系结构就由功能上相对独立的7个层次组成,如下图所示。它们由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 OSI模型注重通信协议必要的功能;TCP/IP更强调在计算机上实现协议应该开发哪种程序。 「TCP/IP划分了四层网络模型」
3.4 吞吐量(Throughput)
吞吐量
表示在单位时间内通过某个网络或接口的数据量,包括全部上传和下载的流量。通常我们更倾向于用“吞吐量”一词来表示一个系统的测试性能。因为受各种低效率因素的影响,一段带宽为10Mbps的链路连接的一对节点可能只达到2Mbps的吞吐量。3.5 时延(delay/latency)
时延
是指数据(一个数据包或bit)从网络的一端传送到另一端所需要的时间。
总 时 延 = 发 送 时 延 + 传 播 时 延 + 排 队 时 延 + 处 理 时 延 总时延=发送时延+传播时延+排队时延+处理时延 总时延=发送时延+传播时延+排队时延+处理时延
图示如下:
3.6 时延带宽积
时延带宽积=传播时延×带宽
。表示在特定时间里,网络上的最大数据量。
3.7 往返时间(Round-Trip Time,RTT)
往返时间
表示从发送方发送数据开始,到发送方接收到来自接收方的确认,总共经历的时间。3.8 利用率
利用率
是指的网络有百分之几的时间是被利用的(有数据通过),没有数据通过的网络利用率为零。U是网络利用率,D表示网络当前时延,D0D0表示网络空闲时的时延。D=D0/(1−U)D=D0/(1−U)3.9 web服务性能指标
3.9.1 RT(Response time,响应时间)
响应时间
是指系统对请求作出响应的时间。对于我们常见的手游来说,比如王者荣耀100ms的响应时间应该是不错的,400ms则到了无法忍受的程度。3.9.2 TPS(Transaction Per Second,每秒事务数)
TPS
也被称之为吞吐量
。吞吐量直接体现系统性能的承载能力,是指单位时间内处理的客户请求的数量。其计量单位可以根据需求不同而不同,比如请求数/秒,页面数/秒,业务数/小时3.9.3 QPS(Query Per Second,每秒查询数)
每秒查询率QPS
是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec
,即每秒的响应请求数,也即是最大吞吐能力。 (看来是类似于TPS,只是应用于特定场景的吞吐量)3.9.4 并发用户数
并发用户数
对于一个系统来说具有统计意义,指系统可以同时承载的正常使用系统功能的用户的数量。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。四、计算机网络体系结构
OSI体系结构
: 概念清楚,理论也比较完整,但是它既复杂又不实用。TCP/IP体系结构
:TCP/IP是一个四层体系结构,得到了广泛的运用。五层体系结构
:为了方便学习,折中OSI体系结构
和TCP/IP体系结构
,综合二者的优点,这样既简洁,又能将概念讲清楚。
OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。
4.1 OSI七层模型
OSI/RM(Open Systems Interconnection Reference Model,简称OSI)
的正式文件。
4.2 TCP/IP模型
4.3 三种模型对比
以上是网络的基础知识,最后我们了解到了常用的网络分层模型,后续作者将以TCP/IP
模型为基础,自上而下为大家带来各个协议的深入学习部分。喜欢本文的还望读者能够多多关注、点赞!