计算机网络
五种不同的中间设备:
物理层中继系统:转发器(repeater,中继器);
数据链路层中继系统:网桥或桥接器(bridge);
网络层中继系统:路由器(router);
网桥和路由器的混合物:桥路器(brouter) ;
网络层以上的中继系统:网关(gateway)。
概述
互联网的两个重要特点
连通性和资源共享
互联网的三个发展阶段:
1.ARPAnet变成internet
- 三级结构:主干网、地区网,校园网
- 多层次的ISP结构:主干ISP、地区ISP、本地ISP
互联网成功因素:
开放性和标准化
互联网的组成:
边缘部分:
所有连接在互联网上的主机组成
核心部分:
由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)
端到端通信的两种方式:
客户服务器方式
客户-服务器方式所描述的是进程之间服务和被服务的关系,客户是服务的请求方而服务器是服务的提供方.
对等方式(p2p)
对等通信是两台主机在通信时并不区分哪个是服务请求方还是服务提供方,只要两台主机都运行了对等连接软件,就可以平等的,对等连接通信
共同点:
主机之间的通信方式实际上是主机A的某个进程和主机B的某个进程之间进行通信。
交换方式:
电路交换
报文交换
分组交换:
采用存储转发技术,路由器用来转发分组。
发送端把较长的报文划分成较短的、固定长度的数据段。每一个数据段前面添加上首部(目的地址和源地址)构成分组(packet)。
路由器处理分组的过程是:
把收到的分组先放入缓存(暂时存储);
查找转发表,找出到某个目的地址应从哪个端口转发;
把分组送到适当的端口转发出去。
信元交换
计算机网络概念:
连接两台或多台计算机进行通信的系统,由结点和链路组成
计算机网络分类:
广域网 LAN
局域网 LAN
城域网 MAN
个人区域网 PAN
计算机网络行性能指标:
信息的度量:比特 2^10
网络速率: 10^3
网络带宽:最高速率
网络吞吐量
网络时
利用率:D = D0/(1-U) D为当前时延,u为当前利用率,D0为网络空闲时延
TCP/IP体系结构:
应用层、运输层、网际层、网络接口层
五层协议体系结构:
应用层、运输层、网络层、数据链路层、物理层
应用层:
通过应用进程间的交互来完成特定网络应用,
运输层:
负责向两台主机中进程之间的通信提供通用的数据传输服务,TCP提供面向连接的、可靠的数据传输服务,传输单位为报文 段;UDP提供无连接的尽最大努力的数据传输服务,传输单位为用户数据报;
网络层:
提供主机间的通信服务。路由器生成转发表,依据转发表转发分组至下一个路由器;
数据链路层:
直连网络中相邻节点的链路上传输帧;
物理层:
实现比特传输。
协议数据单元(PDU)
对等层次之间传送的数据单位称为该层的协议单元数据
实体
表示任何可发送或接收信息的硬件或软件进程
协议
控制两个对等实体进行通信的规则的集合 (水平的)
要实现本层的协议,还需要使用下层所提供的服务
语法:
即数据与控制信息的结构或者格式、
语义:
即需要发出何种控制信息完成何种动作以及做出何种响应、
同步:
即事件实现的详细说明
服务
再协议的控制下,两个对等实体之间的通信使得本层能够向上一层提供服务
本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
物理层
物理层不包括物理媒介,而是确定与传输媒体的接口特性
接口特性:
机械特性
电气特性
功能特性
规程特性
物理层的主要功能:
解决计算机间比特传输问题,即透明地传送比特流,关心的是点到点的问题:
通信方式(三种信道)
单工通信
只有一个方向上的通信而没有反方向的交互。(电视机、广播)
半双工通信
通信双方可以发送或接收数据,但不能同时发送和接收。(对讲机)
全双工通信
通信双方可以同时发送和接收信息(电话)
基带信号
基带信号( Baseband Signal)是指:
信源发出的没有经过调制的原始信号(直接表达了要传输的信息的信号):
基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制(modulation);
由模拟信号源产生的信号成为模拟基带信号(说话的声波);
由计算机产生的二进制信号称为数字基带信号;
无特别说明,我们一般指的是数字基荣信号。
基带传输:
适用于近距离传输,传输的是基带信号
宽带传输
适用于远距离传输,将基带信号经过调制后送到模拟信道上传输
编码方式
非归零编码(NRZ):
正电平代表1,负电平代表0。
归零编码:
正脉冲代表1,负脉冲代表0。
曼彻斯特编码:
从高到低跳变表示"“1",从低到高跳变表示"O",但也可反过来定义。
差分曼彻斯特编码:
在每一位的中心处始终都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1。
码元
在使用时间域(或简称为时域)的波形表示数字信号时(固定时长的信号波形),代表不同离散数值的基本波形:
1码元可以携带多个比特的信息量;
当码元的离散状态有M个时(M>2),此时码元称为M进制码元。
信道复用技术
频分多路复用
将整个带宽分为多份,用户在分配到一定的频带后,在通信过 程中自始至终都占用这个频带。
频分复用的所有用户在同样的时间占用不同的带宽资源。(这里 的“带宽"是频率带宽)。
时分多路复用
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每一个用户在每一个TDM帧中占用固定序号的时隙:
·每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧 的长度),TDM信号也称为等时信号。
时分复用的所有用户是在不同的时间占用同样的频带宽度。
统计时分复用
波分多路复用
码分复用技术
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰
数据链路层
网卡实现的是物理层和数据链路层协议
协议数据单元
帧
帧的数据部分的最大长度为MTU
物理层没有解决的问题:
传输错误问题,发送端发送比特1,而接收端收到比特0,接收端无法知道接收的是否正确?(差错检测)
谁接收的问题,多个设备连接问题:谁能发送数据?数据发送给谁?谁负责接收和处理?(透明传输)
传输结束问题,如何知道一组数据即将到来?这组数据何时结束?(封装成帧)
三个基本功能
封装成帧
透明传输
差错检测
数据链路层信道类型
点对点信道
广播信道
封装成帧
在一段数据的前后分别添加首部和尾部,构成帧,首部和尾部的一个作用就是进行帧定界
帧的数据部分的最大长度为MTU
透明传输(数据部分中含有帧的边界)
字符填充
差错检测
CRC循环冗余检验
要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X^4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?
若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?
答:作二进制除法,被除数为11010110110000,除数为10011得余数1110 .
若最后一个变为0,则1101011010 1110/10011(模2除法)得余数为0011,余数不为0,故接收端可以发现。
若最后两个成为0,则1101011000 1110/10011(模2除法) 得余 0101,余数不为0,故接收端可以发现。
采用了CRC检验,缺重传机制,接收端不能发现,数据链路层的传输还不是可靠的传输。
点对点协议(PPP)
PPP协议的基本要求
简单:这是首要的要求。(不支持单工和半双工通信)
封装成帧:必须规定特殊的字符作为帧定界符。透明性:必须保证数据传输的透明性。
多种网络层协议:支持多种网络层协议(IP/IPX)。多种类型链路:能够在多种类型的链路上运行。
差错检测:对收到的帧进行检测,并丢弃有差错的帧。
PPP非常简单:每收到一个帧,进行CRC检验,如果CRC检验正确,就收下这个帧,反之,就丢弃这个帧,其他什么也不做。
PPP协议的组成
三部分组成
一种将IР数据报封装到串行链路(同步串行/异步串行)的方法;
链路控制协议_LCP (Link Control Protocol),_
用来建立、配置和测试链路,其最重的功能之一是身份验证(PAP,CHAP);
配置确认帧:所有选项都能接受;
配置否认帧:所有选项都理解但不接受;
配置拒绝帧:选项有无法识别或不能接受内容,需要协商。
网络控制协议NCP YNetwork Control Protocol),
支持不同的网络层协议(_P 、OSI的网络层、AppleTalk等)。
PPP帧的格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EuEKsfUj-1682615746341)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427004924402.png)]
PPP同步传输和异步传输
同步传输:
面向比特的传输,同步传输的单位是帧。·同步传输收发双时钟统一、字符间传输同步无间隔。
异步传输:
面向字节的传输,异步传输的单位是字符。·异步传输效率低,高速链路开销大。
使用广播信道的数据链路层
CSMA/CD协议(半双工)
CSMA/CD含义:
载波监听多点接入/碰撞检测(Carrier SenseMultiple Access with Collision Detection) 。
载波监听(CS):
是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞;
多点接入(MA):
表示许多计算机以多点接入的方式连接在一根总线上;
碰撞检测(CD):
边发送边监听,判断发送的数据是否与其他站发送的数据产生了冲突。
(1)准备发送。但在发送之前,必须先检测信道。
(2)检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
(3)检查碰撞。网络适配器要边发送边监听。这里只有两种可能性:①发送成功:在争用期内一直未检测到碰撞,发送成功。发送完毕后,其他什么也不做。然后回到(1);
②发送失败:在争用期内检测到碰撞。立即停止发送数据,并发送人为干扰信号,执行指数退避算法,等待r倍512比特时间后,返回到步骤(2)。
重传达16次仍不能成功,则停止重传而向上报错。
网络层
数据链路层解决了同一局域网计算机间帧的传输问题,
网络层传输数据单位
ip数据报、分组
数据链路层没有解决以下问题:
异构网络互联,即跨局域网连接和资源共享
互联网络中主机标识问题;
互联网中主机间路由选择问题(最佳路径);
互联网中数据转发的问题(分组转发)。
虚电路服务与数据报服务的对比
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1hajZajY-1682615746342)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427150522983.png)]
TCP/IP体系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u9nuLzHq-1682615746343)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427152834577.png)]
网际协议IP
将网络互连并能够互相通信
IP协议可以使这些牲能各异的网络从用户看起来好像是一个统一的网络;
IP地址分类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TGUzDUYA-1682615746343)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427155450176.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-78gT5lIj-1682615746343)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427160116848.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1q87kC5R-1682615746344)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427160226724.png)]
ip地址的一些重要特点
一个主机同时连接到两个网络上时,该主机必须具有两IP地址,其网络号net-id 必须是不同的。这种主机称为多归属主机
划分子网
子网掩码
子网掩码长度=32位:
子网掩码左边部分的一连串1;对应位为网络号和子网号;
子网掩码右边部分的一连串0:对应位为主机号、
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CRaZeRlg-1682615746344)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427170128276.png)]
子网掩码的属性
路由器在和相邻路由器交换路由信息时,必须把自己所在网终(或子网)的子网掩码告诉相邻路由器;
路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码;
若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
路由器的结构
路由选择部分
也称控制部分,其核心构件是路由选择处理机;
任务是根据所路由选择协议构造出路由表,并和相邻路由器交换路由信息,不断地更新和维护路由表。
分组转发部分
其作用是根据转发表(forwarding table)对分组进行处理;
地址解析协议ARP
网际控制报文协议ICMP
网际组管理协议IGMP
运输层
两个对等运输实体传送的数据单元称为运输协议数据单元
TPDU(Transport Protocol Data Unit):
TCP传送的数据单位是TCP报文段(segment);.
UDP传送的数据单位是UDP报文或用户数据报。
网络层没有解决的问题:
主机中谁发送的数据,谁接收数据
IP分组无序到达目的主机,接收进程如何处理?
可靠传输问题
运输层的重要功能:复用、分用
运输层两种不同的运输协议:
即面向连接的TCP
无连接的UDP 。
用户数据报协议UDP (User Datagram Protocol)。
传输控制协议TCP (Transmission Control Protocol)。
TCP协议和UDP协议的特点
UDP协议:
不需要先建立连接,提供无连接服务;
协议数据单元为UDP报文或用户数据报;
收到UDP报文后,无需任何确认;
UDP不提供可靠交付;
简单、支持单播、多播、广播;
适用于多媒体应用。
TCP协议:
提供面向连接的服务;
传送的数据单位协议是TCP报文段(segment);
TCP不提供广播或多播服务;
收到TCP报文段后,需要确认;
协议复杂、开销大,占用较多的处理机资源;
应用较多:万维网、电子邮件、文件传送等。
UDP协议
UDP只在IP的数据报服务之上增加的功能:
复用和分用的功能;
差错检测的功能。
UDP首部格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ww1NiK9J-1682615746344)(C:\Users\kalani\AppData\Roaming\Typora\typora-user-images\image-20230427204335860.png)]
伪首部
伪首部不是UDP真实首部,仅仅是为了计算检验和。
可以理解为UDP的两次检查:
.一次是对IP地址进行检验,确认该IP分组是发送给本机的;
一次是对端口号和数据进行检验,确认交给哪个进程并且数据是
无误的。
TCP协议
TCP是面向连接的:
TCP连接只能有两个端点,TCP连接是点对点的(一对一);
TCP提供可靠交付的服务;
.TCP提供全双工通信。
面向字节流:
TCP中的“流"(stream)指的是流入或流出进程的字节序列;
面向字节流的含义是:
虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。
接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
应用层
应用层为应用程序的通信提供服务。
应用层协议解决问题
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法、语义;
进程何时、如何发送报文,以及对报文进行响应的规则(同步)。
…(img-ww1NiK9J-1682615746344)]
伪首部
伪首部不是UDP真实首部,仅仅是为了计算检验和。
可以理解为UDP的两次检查:
.一次是对IP地址进行检验,确认该IP分组是发送给本机的;
一次是对端口号和数据进行检验,确认交给哪个进程并且数据是
无误的。
TCP协议
TCP是面向连接的:
TCP连接只能有两个端点,TCP连接是点对点的(一对一);
TCP提供可靠交付的服务;
.TCP提供全双工通信。
面向字节流:
TCP中的“流"(stream)指的是流入或流出进程的字节序列;
面向字节流的含义是:
虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。
接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
应用层
应用层为应用程序的通信提供服务。
应用层协议解决问题
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法、语义;
进程何时、如何发送报文,以及对报文进行响应的规则(同步)。