一.因特网概述
1.1网络、互联网(互连网)和因特网
网络由若干结点和连接这些结点的链路组成,可以是有线链路,也可以是无线链路
互连网:多个网络通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互连网。因此,互连网又称为“网络的网络(Network of Networks)”。
因特网(互联网):因特网(互联网)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
1.2internet与Internet的区别
- internet(互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(互联网或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。
1.3因特网服务提供者ISP(Internet Service Provider)
普通用户都是通过ISP接入因特网的
ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备。任何机构和个人只需缴纳费用,就可从ISP的得到所需要的IP地址。
因为因特网上的主机都必须有IP地址才能进行通信,这样就可以通过该ISP接入到因特网
1.4因特网组成
边缘部分
由所有连接在因特网上的主机组成(台式电脑,大型服务器,笔记本电脑,平板,智能手机等)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
二.三种交换方式
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
在网络核心部分起特殊作用的是路由器(router)。
路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
2.1电路交换
传统两两相连的方式,当电话数量很多时,电话线也很多,就很不方便
所以要使得每一部电话能够很方便地和另一部电话进行通信,就应该使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机。
当电话数量增多时,就需要很多彼此连接起来的电话交换机来完成全网的交换任务。
- 电话交换机接通电话线的方式称为电路交换;
- 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
- 电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的。所以计算机通常采用的是分组交换,而不是线路交换
2.2分组交换(重点)
- 通常我们把表示该消息的整块数据成为一个报文。
- 在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面。加上一些由必要的控制信息组成的首部后,就构成一个分组,也可简称为“包”,相应地,首部也可称为“包头”。
- 首部包含了分组的源地址和目的地址,分组从源主机到目的主机,可走不同的路径。
2.3报文交换
报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
三.计算机网络的定义和分类
定义
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络是现代通信技术与计算机技术相结合的产物。
按交换技术分类:
- 电路交换网络
- 报文交换网络
- 分组交换网络
按使用者分类:
- 公用网
- 专用网
按传输介质分类:
- 有线网络
- 无线网络
按覆盖范围分类:
- 广域网WAN(Wide Area Network)
作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。
- 城域网MAN
作用范围一般是一个城市,可跨越几个街区甚至整个城市
- 局域网LAN
一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10 Mbit/s 以上),但地理上范围较小(1 km 左右)
- 个域网PAN
就是在个人工作的地方把个人使用的电子设备用无线技术连接起来的网络。
按拓扑结构分类:
- 总线型网络
- 星型网络
- 环形网络
环中信号是单向传输的,任何一个节点出问题就会导致整一个网络瘫痪
- 网状型网络
多用在广域网中
四.计算机网络的性能指标
4.1速率
平常我们买电脑时,可能说的是512G,但实际到手打开电脑往往会发现只有400多G。这里厂家说的G实际上指的是 而非
4.2带宽
带宽在模拟信号系统中的意义
信号所包含的各种不同频率成分所占据的频率范围,单位:Hz(kHz,MHz,GHz)
带宽在计算机网络中的意义
用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据量”
“带宽”的这两种表述之间有着密切的联系。一条通信线路的“频带宽度”越宽,其单位时间内所传输数据的“最高数据量”也越高
带宽的单位和速率的单位是一样的,单位:Hz(kHz,MHz,GHz)
4.3吞吐量
带宽1 Gb/s的以太网,代表其额定速率是1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。
带宽指的是理论上的最高,吞吐量则为实际
4.4时延
时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
网络时延由几部分组成:
- 发送时延:主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
- 传播时延:电磁波在信道中传播一定的距离需要花费的时间。
- 处理时延:主机或路由器在收到分组时要花费一定时间进行处理,一般不方便计算。
还有种时延叫做 排队时延 ,指的是 分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。这里将其看成处理时延的一部分。
当处理时延忽略不计时,发送时延 和 传播时延谁占主导,要具体情况具体分析
4.5时延带宽积
时延带宽积 = 传播时延 * 带宽
4.6往返时间
互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间。
4.7利用率
4.8丢包率
五.网络分层
5.1 OSI七层模型
OSI参考模型是国家化标准组织提出来的开放系统互连参考模型
它是一个理论的参考模型,我们实际中用的更多的是 TCP/IP体系结构。原因如下:
- OSI的专家没有实际经验,完成标准时没有商业驱动力
- OSI协议实现过分复杂,运行效率很低
- OSI标准的制定周期太长,产品无法及时进入市场
- OSI层次划分不太合理,有些功能在多个层次中重复出现
5.2 TCP/IP 4层模型
- TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为了网络接口层,并去掉了会话层和表示层。
- TCP/IP在网络层使用的协议是IP协议,IP协议的意思是网际协议,因此TCP/IP体系结构的网络层称为网际层
在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。
而用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。
只不过路由器一般只包含网络接口层和网际层。
IP协议(网际层)可以将不同的网络接口(网络接口层)进行互连,并向其上的TCP协议和UDP协议(运输层)提供网络互连服务
- TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠的传输服务。
- UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠的传输服务。
TCP/IP体系结构中最重要的是IP协议和TCP协议,因此用TCP和IP来表示整个协议大家族。
5.3 TCP/IP 5层模型
有时为了学习网络接口层,我们又常把网络接口层重新拆分成了物理层和数据链路层
5.4 网络分层的必要性
物理层:解决了如何在各种传输媒体上传输数据比特流的问题。
物理层并不关注具体的传输媒体,它的作用是屏蔽掉不同传输媒体和通信手段的差异,使上层的数据链路层感受不到这些差异。这样,数据链路层只需要考虑如何完成本层的协议和服务,而不需要关心具体的传输媒体和通信手段是什么。
数据链路层:解决了在物理层提供传输服务的基础上,如何在相邻节点之间可靠地传输数据的问题。
数据链路层通过使用帧的概念,将数据分割成更小的片段,然后进行传输和校验,以确保数据的可靠传输。此外,数据链路层还处理了错误检测和纠错、流量控制、访问控制等问题,以提供高效和可靠的数据链路服务。
网络层:解决了如何在各个节点之间进行路径选择和数据传输的问题
网络层使用IP协议来标识和寻址不同的节点,并通过路由选择算法确定数据包的最佳路径。此外,网络层还处理了分组的拆分和重组、拥塞控制、路由器之间的通信等问题,以实现数据包的可靠传输和有效传输。
至此,如果我们解决了物理层、数据链路层、网络层各自的问题,则可以实现分组在网络间传输,但是对于计算机网络应用而言仍然不够
运输层(传输层):解决了端到端之间基于网络的通信问题
传输层使用传输协议(如TCP和UDP)来提供可靠的数据传输服务。传输层还处理了消息的分段和重组、流量控制、拥塞控制等问题,以确保数据在源和目的地之间的可靠传输和有效传输。
应用层:解决通过应用进程的交互来实现特定网络应用的问题
应用层该用什么方法(应用层协议)去解析数据