大家好,我是秋意临。
为了应付下学期的计网期末考试,因此5天在B站学习的计算机网络,在这里自己理解一遍以及梳理成博客供大家参考学习。
在这里特别感谢B站UP主湖科大教书匠,地址我写在了最后,感兴趣直达。
欢迎加入云社区
计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施。
计算机网络为我们提供浏览信息和发布信息、通信和交流、休闲和娱乐、资源共享、电子商务、远程协作、网上办公的平台。
计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分。
了解中国互连网发展状况
中国互联网络信息中心:http://www.cnnic.net.cn/
网络
由若干结点(Node)和连接这些结点的链路(Link)组成,这就组成了一个网络,在同一个网络间,结点可以互相通信。
互连网/互联网(internet)
那么如果我们有两个这样网络怎么实现通信呢?答案是使用路由器(具有存储转发的能力)连接这两个网络,这样我们就构建了一个更大的网络,即互连网(互联网),互连网就是网络的网络。
因特网(Internet)
而我们的因特网(Internet)是世界上最大的互连网(用户数以亿计,互连网络数量以百万计)。
internet和Internet区别
因特网服务提供者(ISP)
由于接入Internet,需要租用国际信道,成本太高普通用户无法承担。ISP提供商,作为接入Internet的中介,需投入大量资金建立中转站,租用国际信道和大量当地电话线,购买一系列计算机设备,向本地用户提供接入服务。
我国主要的ISP提供商是联通、移动、电信三大电信运营商。
ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备。任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址,这一点很重要。因为因特网上的主机都必须有IP地址才能进行通信。
一旦某个用户能够接入到因特网。那么他也可以成为一个ISP,所需要做的就是购买一些如调制解调器或路由器这样的设备,让其它用户能够和他相连。
边缘部分
由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
在网络核心部分起特殊作用的是路由器,它是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
计算机网络: 以传输信息为基本目的,用通信线路和通信设备将多个计算机连接起来的计算机系统的集合。
按照网络覆盖范围分类:
按照使用者分类:
按照传输介质分类:
按照交换技术分类:
按照拓扑结构分类:
最简单的计算机网络只有两台计算机和一条链路(两个结点一条链路),这种情况是不需要交换的。如果有多台计算机需要通信,则需要利用交换技术实现它们之间一对一的通信。
典型的网络交换方式:电路交换和分组交换
电路交换: 整个报文的比特流连续地从源点直达终点,好像一条物理的线路直接将源点和终点连接起来一样。
电路交换来源于电话线,如图,两部电话之前使用1条电线连接。但如果有五部电话需要互相通信,这时的电话线就需要10条,与电话数量平方成正比,这会造成电线数量太大,如果放在现实中成本太高、增加了维护成本(复杂)。
如果解决上面的问题?这时我们可以使用一个电话交换机(中间设备),将电话连接起来。如图,电话交换机就像一个代理,如果某两台电话需要通信,拨号的一方先请求建立连接,先经过交换机,被叫电话会听到交换机的拨号,这时连接建立成功了,这是一条专用物理通路。 专用物理通路,保证了双方的通信资源,在使用时不会被占用。
电路交换三个步骤: 建立连接(分配通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。因为计算机数据是突发式地出现在传输线路上,线路真正的传输数据的时间不到10%,这会造成大部分时间都是空闲、浪费的。因此计算机网络通常采用分组交换。
分组交换: 将整个报文划为为一个个的分组,传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
注意:分组交换机输入输出接口可以并行工作,当输出再发送一个分组时,其输入接口可以接收一个分组。
计算机网络主要采用分组交换技术。通常我们把发送的数据称为一个报文,在发送报文前,把这整块报文划分成一个个更小的等长数据段。如,每个数据段 1024bit ,在每个数据段加上首部(Header) 后,就构成了一个分组(Packet),又称为 “包” ,分组的首部称为 “包头”。
首部:包含目的地址和源地址等控制信息。
计算机网络中两类典型的分组交换机:路由器和二层交换机
主机H6用户和主机H2用户通信过程?
假设,H6主机需要发送一个报文,我们知道了计算机网络中使用的是分组交换,因此,我们把H6的报文分组成一个一个的数据段,每个数据段都添加一个首部。之后,经过路由器R1,这时R1首先将分组暂存下来,再检查其首部信息,因为首部中包含目的地址和源地址等信息,因此,R1对照自己的路由表(地址转发表)找到合适的接口数据段转发出去,这样一步一步经过多个路由器最终把分组转发到目的主机H2,并且还原报文。
报文交换: 整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
报文交换和分组交换对比理解:分组交换需要将发送的报文划分为一个一个的分组,而报文不需要划为直接发送整个报文。
性能指标从不同角度度量计算机网络的性能。
速率: 是数据的传送速率,也称数据率或比特率,是计算机网络中最重要的一个性能指标。
比特:是计算机中数据量的单位,一个比特是二进制数字中的一个1或0。
为什么我们买的磁盘的大小是250G,到了自己计算机中就成了232G呢?
因为,厂家的数量单位GB中的G为10的9次方,而操作系统数量单位GB中的G为2的30次方
带宽本来是某个信号具有的频带宽度(范围),在计算机网络中,带宽用来表示网络某通道传送数据的能力,某一点到另一点所通过的 “最高数据率”。单位:Hz(KHz、MHz、GHz)。
一条通信链路的 “频带宽度” 越宽,传输数据的 “最高数据率” 也越高。
吞吐量也称吞吐率,表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络的带宽或网络的额定速率的限制。例如,100Mbit/s的以太网,其吞吐量只有70Mbit/s。
时延是指数据(一个报文或分组)从网络(或链路)的一端到另一端所需要的时间,也称为延迟或迟延。
发送速率受限于信道带宽,所以一般计算发送时延时取带宽的值而不是发送速率的值。
在计算机网络的基本概念中,协议与分层体系结构是最重要的。
我们在处理、设计和讨论一个复杂系统时,总是将复杂系统分为多个小的、功能相对独立的模块或子系统。这样我们可以将注意力集中在某个特定的部分,这就是模块化思想。
计算机网络是一个非常复杂的系统,当然需要利用模块化的思想将其划分为多个模块来处理和设计。
计算机网络是由多个互连的结点组成的,结点之间交换数据与控制信息,需要有序的交换数据,那么必须遵守一定的规则。
这些规则规定了交换数据的格式和时序,以及发送和接收数据时要采取的动作。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,网络协议简称为协。
网络协议分为三要素:
快递系统就是一个分层系统,与计算机网络有很多相似之处,如图所示:
OSI七层协议体系结构概率清楚,理论完整,但它复杂不实用。
因此,计算机网络中使用的是TCP/IP体系结构,因为其结构简单其实用。
然而我们在我们学习是采用五层体系结构,因为其既简洁又能将概念阐述清楚。
TCP/IP协议
ip协议可以将不同的网络接口进行互连,并向其上的TCP/UDP协议提供网络互连服务,而TCP/UDP协议在IP协议的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务(UDP向应用层提供不可靠传输服务)
IP协议作为TCP/IP体系结构中的核心协议,一方面负责不同的网络接口(IP over everything),另一方面为各种网络应用提供服务(Everything over IP)
IP和TCP这两个协议是非常重要的协议,因此来表示整个协议大家族。
物理层是原理体系结构的最底层,完成计算计网络中最基础的任务,即在传输媒体上传输比特流。
物理层解决:采用怎样的传输媒体、物理接口、信号表示比特0和1。
数据链路层简称为链路层,计算机网络由主机、路由器和连接它们的链路组成,从源主机发送到目的主机的分组必须在一段一段的链路上传送。
数据链路层的任务就是将分组从链路的一端传送到另一端,传送的数据单元称为帧。每一帧包括数据和必要的控制信息。
假设,主机A向主机C发送数据,但是数据信号会通过总线传播到总线上的每一个主机。
问题:主机C如何知道该数据是发给自己的,自己要接收?而主机B、D、E又如何知道该数据并不是发送给自己的,自己应该拒绝?(主机编址问题)
答:使用MAC地址,网卡中的MAC地址,就是主机在网络中的地址。主机发送数据时应该给数据附加上目的地址(帧头中),当其他主机收到后,根据目的地址和自身地址对比,来决定是否接收数据。
目的主机如何从信号所表示的一连串比特流中区分出地址和数据,也就是需要解决分组的封装格式问题。
假如B、C、D主机都需要发送数据,而B先一步发送,如果使用总线模式,那么这些请求信息都会传送到所以主机中,那么C、D在发送请求时就会造成网络碰撞,如何解决呢? 答:使用交换机。
上述总线网络已经淘汰,现在常用的是使用以太网交换机将多台主机互连形成的交换式以太网。
网络层负责为分组交换网上的不同主机提供通信服务。
在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系结构中,网络层使用IP,因此分组也叫做IP数据报,或IP分组。
互联网是有大量的异构网络通过路由器相互连接组成的。互联网主要的网络层协议是无连接的网际协议(Internet Protocol,IP)和需要路由选择协议,因此,网络层也叫做网际层或IP层。
如果只有一个网络,我们不需要对网络进行标识,而图中我们有多个网络,如N1、N2、N3、N4,这时我们就要区分不同的网络了,以及网络中的主机属于那个网络?这就是网络和主机共同编制的问题。
答:使用IP地址标识,图中192.168.1是网络地址,1、2、254是主机自己的地址。
源主机与目的主机之间的传输路径往往不止一条,分组从源主机到目的主机可走不同路径,所以路由器如何转发分组的和如何路由选择的?
运输层的任务是向两台主机中进程之间的通信提供通用的数据传输服务。
主机运行着应用进程(qq和浏览器),服务器运行apache服务。某个时刻服务器向主机发送一个分组,那么这些分组应该交给浏览器进程处理还是qq进程处理呢?
这就引出了我们如何标识与网络通信相关的应用进程,进而解决进程之间基于网络的通信问题
应用层是原理体系结构最高层。
应用层的任务是通过应用进程间的交互来完成特定的网络应用。
解决了物理层、数据链路层、网络层、运输层各自的问题,则可以实现进程之间基于网络的通信。
在此基础上,只需制定各种应用层协议,并按协议标准编写相应的应用程序,通过应用进程间的交互来完成特定的网络应用,如:http、SMTP、FTP协议。
我是秋意临,欢迎大家一键三连、加入云社区
我们下期再见(⊙o⊙)!!!
https://www.bilibili.com/video/BV1c4411d7jb/?spm_id_from=333.337.search-card.all.click
https://www.peterjxl.com/Network/summary/
计算机网络教程-谢钧 谢希仁 编著(第6版)