一、概述
1.1-1.2的概念
互联网的两个基本特点:连通性、共享性
计算机网络是由若干节点和连接这些节点的链路组成。
互连网:多个网络通过一些路由器互相连接起来,构成了一个覆盖范围更大的计算机网络。
主机:与计算机网络连接的计算机叫做主机(host)。
网络把许多计算机连在一起,而互连网把许多计算机网络通过一些路由器连接在一起。
Internet(互联网、因特网)、internet(互连网)首字母一个大写一个小写,概念是不同的。internet是一个通用名词,它泛指多个计算机网络连成的计算机网络。多个internet之间可能采取的协议不同。但Internet是指最大的、开放的、由众多网络连接起来的特定互连网。采用TCP/IP协议簇作为通信规则。
ISP:互连网服务提供者(商)
所谓上网就是通过ISP获得IP地址接入网络。
IXP:互连网交换点,主要作用就是允许两个ISP网络相连并分组交换。
典型的IXP由一个或多个网络交换机组成。
内容提供者:向所有用户提供视频文件的公司。
1.3互连网的组成
1.边缘部分:由所有连接在互联网上的主机(host)组成。这部分是用户直接使用的。
2.核心部分:由大量的网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的。
互连网的核心部分常采用网状拓扑结构
1.3.1互连网的边缘部分
边缘部分的主机(host)的集合,称作端系统。边缘部分使用核心部分提供的服务,令众多主机之间能都互相通信,交换信息。
主机之间的通信是指主机A上的某一个进程和主机B上的某一个进程进行通信(数据交互/共享)。
端系统采用的通信方式:C/S、P2P。
1.3.2互连网的核心部分
在互连网的核心部分的关键设备是路由器,路由器是实现分组交换的关键设备,其任务是转发收到的分组。
交换:就是按照某种方式动态地分配传输路线的资源。
电路交换:建立连接(占用通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)。
报文:通常我们把要发送的一整块数据块称为一个报文(message)
分组:先把报文划分成一个个等长的小数据段,在每个数据段之前或之后加上一些必要的控制信息组成的首部后,就构成了一个分组(packet)或者叫做包。
分组交换:分组交换采用存储转发技术,路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。
1.5计算机网络的类别
1.5.2几种不同类别的计算机网络
按照作用范围进行分类
- 广域网(WAN)
- 城域网
- 局域网
- 个人局域网
按照网络的使用者进行分类
- 公用网
- 专用网
用来把用户接入到互连网的网络
这种网络叫做接入网,又叫做本地接入网或居民接入网
1.6计算机网络的性能
1.6.1计算机网络的性能指标
速率
速率是数据的传输速率,也叫做数据率(data rate)或比特率(bit rate),单位是bit/s。当数据率高时,在前面加上字母k(=10^3 = 千)、M(10^6=兆)、G(10^9 = 吉)...
带宽
用来表示网络中某一个信道传输数据的能力。因此网络贷款表示在单位时间内网络中某信道所能通过的最高数据率,单位也是bit/s。
吞吐量
表示单位时间内通过某个网络(或通道、接口)的实际数据量。如自己电脑的网卡的带宽(最高数据率)是100Mbit/s,而实际会有各种的影响会让网卡达不到这个上限,此时的真实网络速率就是吞吐量。
时延
是指数据(一个报文、分组、或者比特)从网络(或链路)的一端传送到另一端的所需时间。
发送时延:是主机或者路由器发送数据帧所需要的时间。
传输时延:是指电磁波在信道中传播一定的距离需要花费的时间
处理时延:主机或者路由器接收到分组时需要的处理时间
排队时延:分组进如路由器后需要先在输入队列中排队等待处理的时间。
总时延 = 上面所有时延的和
时延带宽积
时延带宽积表示管道可以容纳的bit量。时延带宽积又称为以bit为单位的链路长度。
往返时间(RTT)
从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。
利用率
全网络的信道利用率的加权平均值。信道利用率并非是越高越好,根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
这里可以想象成公路上车流量很大时,某些地方就会出现拥堵,因此 行车需要的时间就会增加。
1.7计算机网络体系结构
1.7.2协议与划分层次
在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(例如,应当发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(networkprotocol)。网络协议也可简称为协议。
网络协议的三要素:语法、语义、同步。
语法:即数据与控制信息的结构或格式。
语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。同步:即事件实现顺序的详细说明。
1.7.3具有五层协议的体系结构
应用层
应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。
运输层
运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反是运输层把收到的信息分别交付上面应用层中的相应进程。
运输层的协议:
- 传输控制协议 TCP(Transmission Control Protocol)-提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
- 用户数据报协议 UDP (User Datagram Protocol)--提供无连接的尽最大努力(besteffort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报(分组)。
网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
分组也叫作 IP数据报,或简称为数据报。本书把“分组”和“数据报”作为同义词使用。
请注意:不要将运输层的“用户数据报协议 UDP”和网络层的“IP 数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。
数据链路层
数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(faming),在两个相邻节点间的链路上传送帧(fame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
物理层
在物理层上所传数据的单位是比特,不再对分组(数据报)进行封装(加上必要的信息)。
协议数据单元PDU:对等层次之间传送的数据单位称为该层的协议数据单元PDU(ProtocolData Unit)。这
各层交换数据的原理图
依靠依次向下封装交付数据包,然后在接受端进行对应层“解封”对应层的数据包然后向上交付,最后把原数据交给用户。这就是对等层的通信,数据的封装,解封像栈的性质:先进后出。所以分层的体系结构又称为数据栈
1.7.4 实体、协议、服务和服务访问点
实体(entity):这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。
协议:是控制两个对等实体(或多个实体)进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语
服务访问点(SAP):在同一系统中相邻两层的实体进行交互(即交换信息)的地方
服务数据单(SDU ):OSI把层与层之间交换的数据的单位税为服务数据单元 SDU (Service Data Unit)。
PDU和SDU的关系:过几天再写.....
二、物理层
2.1物理层的基本概念
规程:就是物理层之间的协议
物理层的工作:确定传输媒体的接口有关的特性。
这些特性分为:
- 机械特性
- 电器特性
- 功能特性
- 过程特性
数据在计算机内是并行传输,但在通信线路上是串行传输。因此物理层还要实现并行到串行的转换。
2.2数据通信的基本知识
2.2.1数据通信的基本模型
数据通信网络可以划分三大部分:源系统、传输系统(传输网络)、目的系统。
源系统包括:源点(源站、信源),发送器
目的系统包括:接收器、终点(目的站、信宿)
消息和数据:消息(message)是话音、文字、图像等能被人直接读懂的东西。数据(data)是运送数据的实体,可用信道传输的形式。信号(signal)则是数据的电器或电磁表现。
码元:代表不同离散数值的基本波形就成为码元。
2.2.2有关信道的几个基本概念
信道表示向某一方向传送信息的媒体,一条通信电路通常包含一条发送信道和一条接受信道。
通信的方式
- 单工通信
- 半双工通信
- 全双工通信
调制
- 基带调制:将数字信号转换为另一种数字信号。习惯叫做“编码”。
- 带通调制:将基带信号的频率范围转换为另一频段,并转化为模拟信号。
常用编码方式
- 不归零制
- 归零制
- 曼彻斯特编码
- 差分曼彻斯特编码
曼彻斯特编码具有自同步能力,能从信号波形提取信号的时钟频率。
基本的带通调制方法
- 调幅(AM)
- 调频(FM)
- 调相(PM)
2.2.3信道的极限容量
码元传输速率越高,信号船速的距离越远
信道噪声越大,失真越严重。
奈式准则:在带宽为W(Hz)的低通信道中,若不考虑噪声的影响,则码元传输的最高效率为2W(码元/秒)。
奈奎斯特公式:
C是信道的极限信息传输速率,单位bit/s。
V是携带数据的码元,可能取的离散值个数(二进制两位离散值个数为2^2=4, 二进制四位离散值个数为2^3=8个)。
信噪比
信噪比(dB), S/N信号的平均功率和噪声的平均功率之比。
香农公式
香农公式表明带宽越大,信噪比越大,极限传输速率越高。还表明只要信息传输速率低于信道的极限速率,就一定可以实现无差错传输,但方法未知。
另一种提高传输速率的方法:通过编码让每个码元携带更多比特的信息。
2.3物理层下面的传输媒体
2.3.1引导型传输媒体
1.双绞线
无屏蔽双绞线(Unshielded Twisted Pair UTP)
屏蔽双绞线(STP)
2.同轴电缆
3.光缆
单模光纤
多模光纤
2.3.2非引导型传输媒体
使用无线电波进行通信
多径效应:多条路径信号叠加后一般会有很大的失真。
微波接力:为实现远距离传输必须在一条微波通信信道的两个终端之间建立若干个中继器。
2.4信道复用技术
2.4.1频分复用、时分复用、统计时分复用
在进行通信时,复用器和分用器是成对使用的。
频分复用(FDM)
各路信号在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
使用这种技术的接入方式为:频分多址
时分复用(TDM)
所有用户是在不同的时间占用同样的频带宽度。
使用这种技术的接入方式为:时分多址
统计时分复用(STDM)
统计时分复用使用 STDM 帧来传送复用的数据。但每一个STDM 帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM 帧中。对没有数据的缓存就跳过去。当一个帧的数据放满了,就发送出去。
2.4.2波分复用(WDM)
就是光的频分复用
2.4.3码分复用
三、数据链路层
数据链路层使用的信道主要有以下两种类型:
(1)点对点信道。这种信道使用一对一的点对点通信方式。
(2)广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。
3.1数据链路层的几个共同问题
3.1.1数据链路和帧
数据链路是含有物理链路、通信协议的软硬件结合的链路。
在数据链路层,规程和协议是同义词
数据链路层的协议数据单元:帧。在网络层的协议数据单元就是IP数据报(也可以叫做分组,包)。
数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。
点对点信道的数据链路层在进行通信时的主要步骤如下:
(1)节点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
(2)节点A把封装好的帧发送给节点B的数据链路层。
(3)若节点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧。
3.1.2三个基本问题
数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:封装成帧、透明传输和差错检测。
封装成帧
数据链路层的帧格式:
在首部的最前面和尾部的最后面有帧界定符
透明传输
字节填充/字符填充
为了解决透明传输问题,就必须设法使数据中可能出现的控制字符“SOH”和“EOT在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充(byte stufing)或字符填充(character stufing)。
差错检测
CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。
比特差错:比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。
误码率 BER:在一段时间内,传输错误的比特占所传输比特总数的比率。
计算:【计算机网络期末复习】5分钟左右让你明白CRC循环冗余校验_哔哩哔哩_bilibili
传输差错和比特差错:传输差错是指帧丢失、帧重复、帧失序。但帧中的bit信息是无误的。
3.2点对点协议PPP
ppp协议应满足的要求
- 简单
- 能够承载不同的网络层分组
- 能够在多种类型的链路上运行
- 封装成帧
- 透明传输---字节填充、0比特填充
- 差错检测
- 实施监测链路工作状态
- 设置链路最大传送单元 MTU
- 网络层地址协商机制:必须提供一种机制使得通信的两个网络层实体能够通过协商知道或能够配置彼此(互相配置、互相访问)的网络层地址。
- 数据压缩协商机制
ppp协议的组成
一种将IP数据报封装到同步/异步串行链路的方法
链路控制协议LCP:用来建立、配置和测试数据链路的链路控制协议,通信双方可以协商一些选项,最重要的功能之一是身份验证
网络控制协议NCP:其中每个协议支持一种不同的网络层协议,如IP、OSI的网络层,DECnet、AppleTalk等。
详情看:数据通信——数据链路层(LCP与NCP)_lcp ncp-CSDN博客
3.2.2PPP的帧格式
首部四个字段,尾部两个字段。其中F为定界符值为0x7E(01111110),首部尾部各一个。连续两帧之间只需要用一个标志字段。如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。
而A地址字段和C控制字段目前是无意义字段,并不携带有效信息。
信息部分(IP数据报)不超过1500字节。
FCS:由于PPP协议采用的是CRC循环冗余校验,所以FCS这里是CRC冗余校验码。
协议字段:标识信息部分的类型。
- 0x0021:IP数据报
- 0x8021:网络控制数据NPC
- 0xc021:链路控制数据LPC
- 0x8021
透明传输问题
当PPP在异步传输时,使用字节填充;在同步传输时,使用零比特填充。
同步传输:面向bit传输,同步传输的单位是帧。同步传输收发双时钟统一(发一个bit,收一个bit),字符间传输无间隔。
异步传输:面向字节传输,异步传输的单位是字符(发一个);异步传输效率低,高速链路开销大。
字节填充
RFC1662规定了如下所述的填充方法:
(1)把信息字段中出现的每一个0x7E(定界符)字节转变成为2字节序列(0x7D.0x5E)。
(2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把 0x7D转变成为2字节序列(0x7D.0x5D)(原本的数据减去0x20)。
(3)若信息字段中出现ASCI码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个 0x7D字节,同时将该字符的编码加以改变。例如,出现 0x03(在控制字符中是“传输结束”ETX)就要把它转变为2字节序列(0x7D,0x23)(原本的数据加上0x20)。
零比特填充
3.2.3PPP协议的工作状态
3.2.3使用PPP协议的数据链路层的初始化过程
1.用户拨号接入ISP,建立物理连接
2.用户发送链路层控制协议LCP分组(多个PPP帧),以建立LCP连接。
3.网络层控制协议NCP给新接入的用户分配一个临时的IP地址。
PPP协议的工作流程
1.链路建立状态:主机呼叫路由器->路由器检测到信号
2.LCP协商配置选项,即发送LCP配置请求帧。需要发送包含LCP协议的PPP帧
1 | 1 | 1 | 2 | <=1500 | 2 | 1 |
F 帧界定符 | A 地址字段 | C 控制字段 | LCP | 配置请求数据 | FCS | F |
另外一端的可以发送以下相应的包含LCP协议的PPP帧,之后进入鉴别状态
- 配置确认帧
- 配置否认帧
- 配置拒绝帧
3.鉴别状态:需要发送方发送自己的身份标识。在这一状态传送LCP协议的PPP帧、鉴别协议的分组、检测链路质量分组。若鉴别成功进入网络协议层,否则转到链路终止状态(断开物理链路、数据链路)。
4.网络协议层状态:IP协议就在网络协议层,如果PPP链路传输的协议是IP协议的数据报,则对PPP链路的每一端分配IP地址。之后进入链路打卡状态。
3.3使用广播信道的数据链路层
1.以太网 = 局域网
信道复用的方法
1.静态划分信道:频分复用、时分复用、码分复用、波分复用。
2.动态媒体接入控制:随机接入、受控接入。
3.3.2CSMA/CD协议
多点接入:说明这个是总线型网络。
载波检测:边发送边监听。
碰撞检测:在信道中检测到有其他用户发送数据就停止发送数据。
参考:
信道的极限容量——奈氏准则(公式)、信噪比、香农公式-CSDN博客
计算机网络——时延、时延带宽积、往返时间、利用率-CSDN博客