使用教材计算机网络(第8版)(谢希仁)
第一章:概述 第二章:物理层 第三章:数据链路层
第四章:网络层 第五章:运输层 第六章:应用层
目录
目录
1.3.2网络的核心部分(电路交换、报文交换、分组交换的优缺点比较、连通性)
3.5高速以太网(100BASE-T以太网、吉比特以太网、10吉比特以太网))
4.1两种服务(虚电路、数据报)两个层面(控制层面、数据层面)
4.2网际协议IP(虚拟互联网络、IP地址、子网划分、CIDR、APR、IP数据报的格式)
[寻址方案 最大分组长度 网络接入机制 超时控制](#寻址方案 最大分组长度 网络接入机制 超时控制)
[差错恢复方法 状态报告方法 路由选择协议](#差错恢复方法 状态报告方法 路由选择协议)
[用户接入控制 服务 管理与控制方式](#用户接入控制 服务 管理与控制方式)
[ICMP(Internet Control Message Protocol)允许主机或路由报告差错情况和提供有关异常情况的报告](#ICMP(Internet Control Message Protocol)允许主机或路由报告差错情况和提供有关异常情况的报告)
前言
计网的知识点比较碎,希望可以帮到大家!
一、概述
1.1互联网的基本特点
互联网的两大基本特点:连通性和共享性
**连通性:**使上网用户之间,不管相距多远,都可以便捷经济地交换各种信息,好像这些用户的终端都彼此直接连通一样。
**共享性:**指资源共享,例如信息共享,软件共享,硬件共享等等。
1.2网络、互连网、互联网的介绍及区别
计算机网络(网络):由若干节点和连接这些节点的链路组成(节点可以为计算机、集线器、交换机或路由器等)。
互连网:网络之间通过路由器连接,构成更大的网络,就是互连网。
互联网:由数量庞大的各种计算机网络互联起来形成的网络。
三者间的区别:网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起与网络相连的计算机常称为主机。
1.3互联网的组成
互联网由边缘部分和核心部分两部分组成。
边缘部分:连接在互联网上的所有主机(即端系统,小的端系统有个人电脑、智能手机等等,大的端系统有大型计算机)
核心部分:由大量网络和连接这些网络的路由器组成。
1.3.1网络边缘的通信方式(资源共享)
在网络边缘端系统中运行程序之间的通信方式有两大类
1.客户服务器方式(C/S、Client/Server)
客户服务器方式描述的是进程之间服务与被服务的关系,客户是服务的请求方,服务器是服务的提供方。
2.对等方式(P2P、Peer-to-Peer)
双方都可以下载对方已经存储在硬盘中的共享文档
1.3.2网络的核心部分(电路交换、报文交换、分组交换的优缺点比较、连通性)
电路交换:建立连接(占用通信资源)---->通话(一直占用通信资源)--->释放连接(归还通信资源),其重要特点是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
报文交换:采用存储转发,报文交换中含有报头,包含收发双方的地址,一边交换节点进行路由选择,缺点是时延较长。
分组交换:每一个分组首部都含有地址等控制信息,路由器根据首部中的地址信息,分组转发到下一个路由,直至到达目的地。
三种方式的比较:
三种方式的优缺点比较
|----|------|-----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| 序号 | 交换类别 | 优点 | 缺点 |
| 1 | 电路交换 | 实时交换、适用于实时要求高的语音通信 | 计算机具有突发性,通信线路的利用率低 ,无差错控制,不利于传输可靠性要求高的突发性数据业务 |
| 2 | 报文交换 | 相邻节点仅在传输报文时建立连接,没有建立和拆除连接所需的等待时间,线路利用率高。 | 报文大小不一,造成储存管理复杂。大报文造成存储转发的时延过长。出错后整个报文都需要重发。 |
| 3 | 分组交换 | 高效 :动态分配带宽,对通信链路是逐段占用。灵活 :以分组为单位查找路由。迅速 :不必先建立连接就能向其他主机发送分组。可靠:保证可靠性的网络协议,分布式的路由选择协议使网络有很好的生存性。 | 分组在各节点存储转发需要排队,造成一定的时延。分组必须携带的首部(里面面有必不可少的控制信息)造成一定开销。 |
1.4网络的分类
1.4.1按网络的覆盖范围分
个人局域网PAN:个人使用的电子设备用无线技术连接起来的网络......
局域网LAN:校园网或者一个工厂......
城域网MAN:作用范围一般是一个城市......
广域网WAN:有较大的通信容量......
1.4.2按拓扑结构分
星形
环形
总线型
树形
网状形
1.5网络的性能
1. 速率:比特(bit)计算机中数据量的单位,即是二进制数字中的一个1或0。速率即数据率或比特率:发送数据的速率,单位是b/s、kb/s、Mb/s、Gb/s.当提到网络中的速率时,往往指额定速率或标称速率。
2 ****.带宽 :本意是指信号具有的频带宽度,这里指信道所能传送的最高速数据率,单位是bit/s
3.吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量,受网络的带宽或网络的额定速率的限制。
4. 时延:
发送时延(传输时延):发送数据时,数据块从节点进入到传输媒体所需要的时间。
计算:从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需要的时间。
传播时延:电磁波在信道中需要传播一定距离而花费的时间
计算:
**排队时延:**分组在路由器输入输出队列中排队所经历的时延,往往取决于网络当前的通信量。
**处理时延:**主机或者路由器在收到分组时,为处理分组(如分析首部、提取数据、差错检验、查找路由等)所花费的时间。
总时延=排队时延+处理时延+发送时延+传播时延
5.时延带宽积:时延带宽积=传播时延×带宽
**6.往返时间(RTT):**表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
1.6网络的体系结构
**实体:**表示任何可发送或接收信息的硬件或软件进程
**协议:**是控制两个对等实体进行通信的规则的合集,在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下层所提供的服务。
协议的三要素:语法(数据与控制信息的结构或格式)语义(需要发出何种控制信息,完成何种动作以及做出响应)同步(时间实现顺序的详细说明)
**服务:**上层使用下层所提供的服务必须与下层交换一些命令,这些命令被称为服务原语。如。请求,指示,响应,确认等。
协议是"水平"的,服务是"垂直"的。
**服务访问点(SAP):**相邻两层的实体交换信息的地方(逻辑接口)
三类体系结构:
OSI/RM七层参考模型:应用层、表示层、会话层、运输层、网络层、数据链路层和网络层。
TCP/IP四层体系结构:应用层、运输层、网际层和网络接口层。
综合OSI和TCP/IP的优点,折中的五层体系结构:应用层、运输层、网络层、数据链路层和物理层。
二、物理层
2.1基本概念(规程、任务、四大特性)
规程:物理层的协议常被称为物理层规程。
任务:物理层的主要任务描述为确定与传输媒体的接口有关的一些特性。
四大特性:机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。
电气特性:指明在接口电缆的各条线上出现的电压的范围。
功能特性:指明某条线上出现的某一电平的电压的意义。
过程特性:指明对于不同功能的各种可能事件的出现顺序。
计算机内部多采用并行传输方式,但数据在通信线路(传输媒体)上的传输方式一般是串行传输(即逐个比特按照时间顺序传输)
2.2数据通信基础知识
1.模型
一个数据通信系统可划分为三大部分,即源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。
模拟信号(连续信号)、数字信号(离散信号)
2.调制:调制分为两大类
基带调制:仅仅对基带信号的波形进行变换,使它能够与信道特性相适应,变换后的信号仍然是基带信号。
带通调制:使用载波进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,经过载波调制后的信号称为带通信号。
3.编码方式
常用的编码方式如下图:
不归零制:正电平代表1,负电平代表0.
归零制:正脉冲代表1,负脉冲代表0.
曼彻斯特编码:位周期中心的向上跳变代表0,位周期中心的向下跳变代表1.但也可反过来定义。
差分曼彻斯特编码:在每一位的中心处都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1.
4.基本的带通调制方法
调幅(AM):即载波的振幅随着基带数字信号而变化,例如:0和1分别应用于无载波和有载波输出。
调频(FM):即载波的频率随基带数字信号而变化,例如:0和1分别应用于载波频率f 1或f2.
调相(PM):即载波的初始相位随基带信号而变化,例如:0和1分别对应于相位0度或180度。
5.信道极限容量
限制码元在信道上的传输速率有以下两个:
(1)信道能够通过的频率范围
码间串扰:在接收端收到的信号波形失去了码元之间的清晰界限。
奈斯准则:奈斯准则可避免码间串扰,在带宽为W (Hz)的低通信道中,若不考虑噪声影响,则码元传输的最高速率是2*W(码元/秒),*传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能
信噪比=信号的平均功率和噪声的平均功率之比,常记为S/N
香农公式:指出了信道的极限信息传输速率C为:
W;信道的带宽(以Hz为单位) S:信道内所传信号的平均功率 N:信道内部的高斯噪声功率
香农公式表明:信道的带宽或信道中的信道中的信噪比越大,信息的极限传输速率就越高。
2.3物理层下面的传输媒体
2.3.1导引型传输媒体(双绞线、同轴电缆、光纤)
双绞线:由两根具有绝缘保护层的铜导线按一定密度相互绞合在一起形成的导体。
按绞合度分:
按屏蔽性分:
同轴电缆:由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及绝缘保护套层所组成。
光纤: 非常细,多数光线在使用前必须有几层保护结构包覆,包覆后的缆线被称为光缆,传输原理为'光的全反射'。
单模光纤:指光纤的光信号仅与光纤轴成单个可分辨角度的单光线传输,特点是频带较宽,传输损耗小,缺点是不适合长距离,连接困难。
多模光纤:指光纤的光信号与光纤轴成多个可分辨角度的多光线传输。特点是频带较窄,传输衰减大,易于连接,价格便宜......
2.3.2非导引型传输媒体(无线电、微波、卫星、红外线)
无线电通信:在VLF(甚低频)、LF(低频)和MF(中频)波段,无线电沿地面传播。
在HF(高频)波段,利用电离层的散射光来进行长距离通信,但通信质量较差。
微波通信:两个地面站之间直线传送,应用于长距离传输语音和电视信号。
卫星通信:使用微波,用转发器接收、放大和转发,支持到多点传送。
2.4信道复用技术(频分、时分、波分、码分)
1.频分复用 FDM(Frequency Division Multiplexing):为不同用户分配不同频带,频分复用用户在相同时间占用不同的带宽资源。
2.时分复用 TDM(Time Division Multiplexing) :将时间划分为一段段等长的时分复用帧,每一个时分复用的用户在每一个TDM帧中占用固定序号的时序。时分复用的用户在不同的时间占用相同的频带宽度。
3.波分复用 WDM(Wavelength Division Multiplexing):本质上是光频上的频分复用技术。
4.码分复用 CDM(Code Division Multiplexing):各用户使用经过特殊挑选的正交码型,通信各方互不干扰,最初用于军事通信,多个用户可在同一时间使用相同的频带进行通信。
2.5宽带接入技术(ADSL、HFC、FTTx)
1.ADSL技术:非对称数字用户线ADSL(Asymmetric Digital Subscriber Line)是用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带数字业务。
基于ADSL的接入网由以下三大部分组成:数字用户线接入复用器DSLAM(DSL Access Multiplexer)用户线和用户家中的一些设施。
2.光纤同轴混合网(HFC Hybrid Fiber Coax网):有线电视网的基础上开发的一种居民接入网。
3.FTTx(Fiber To The ...)
三、数据链路层
数据链路层使用的信道主要有以下两种类型:
点对点信道:使用一对一的点对点通信方式
广播信道:使用一对多的广播通信方式。
链路·:从一个节点到相邻节点的一段物理线路,而中间没有其他的交换节点。
数据链路:除了必须有一条物理线路外,必须有通信协议来控制这些数据的传输,若把实现这些协人的硬件和软件加到链路上,就构成了数据链路,现在最常用的方法是网络适配器(即网卡,来实现这些协议的硬件和软件,一般的适配器都包括了数据链路层和物理层这两层的功能。
帧:点对点协议定义在点对点信道上传输的数据单元。
3.1使用点对点信道的数据链路层的三个基本问题
3.11封装成帧
封装成帧:就是在一段数据的前后分别添加首部和尾部,构成一个帧,确定帧的界限。首部和尾部的一个重要作用就是帧定界·。
控制字符SOH(Start Of Header)表示帧的首部开始。
控制字符EOT(End Of Transmission)表示帧的结束。
PPP帧的封装格式 (PPP是面向字节的,所有PPP帧的长度都是整数字节)
- 标志字段F(flag)=0x7E(7E的二进制表示为01111110),标志一个帧的开始或结束
- 地址字段A只置为0xFF,地址字段实际上并不起作用。
- 控制字段C通常置为0x03.
- 协议字段2个字节。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制数据。若为0x8021,则表示这是网络层的控制数据。
- 尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS
3.12透明传输
透明传输概念
透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传输。
当传送的帧是用文本文件组成的帧时(文本文件中的字符都是从键盘上输入的),其数据部分不会出现SOH和EOT这样的帧定界控制字符。从键盘上输入的字符都可以放在帧中传输过去,这样的传输就是透明传输。
透明传输原理
采用转义字符进行转义:发送端:数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"(其16进制编码为1B)。数据当中出现转义字符,在转义字符前面插入一个转义字符。
接收端:在将数据送往网络层之前删除插入的转义字符。当接收端接收到两个连续的转义字符时,就删除其中前面的一个。
PPP字符填充法(当PPP用在异步传输(字节传输)时,使用字符填充法)
- 将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)
- 若信息字段出现一个0x7D的字节,则将其转变为2字节序列(0x7D,0x5D)
- 若信息字段中出现ASCII码的控制符(即数值小于0×20的字符),则在该字符前面要加入一个0x7D的字节,同时将该字符的编码加以改变。
PPP中零比特填充发法(使用同步传输时·,PPP协议采用零比特填充法实现透明传输)
- 发送端:只要发现五个连续的1,则立即填入一个0
- 接收端:对帧中的比特流进行扫描,每当发现五个连续1时,就把这5个连续1后的1个0删除。
3.13差错检测
差错传输:通信双方在发送和接收数据包的过程中出现的数据错误。
比特差错:比特在传输过程中可能出现差错,1可能变成0,0也可能变成1
误码率BER(Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率。误码率与信噪比有很大的关系,如果提高信噪比,就可以减少误码率。
循环冗余检验:
原理
在数据链路层传送的帧中,广泛使用循环冗余检验(Cyclic Redundancy Check,CRC)检错技术。在发送端,先把数据划分为祖,假定每组k个比特,在M的后面再添加供差错检测用的n位冗余码一起发送。
为了检错而在数据后面添加上冗余码常称为帧检验序列FCS(Frame Check Sequence),CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码,FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
接收端把接收到的数据以帧为单位进行CRC检验,把接收到的每一个帧都除以同样的除数P(模2运算)检查得到余数R,若R=0,则无错接受,若R≠0,则有错放弃,通过CRC检验的也并非可靠传输,因为对于帧丢失、帧重复、帧失序并没有检验作用。
3.2点对点协议PPP
1.PPP协议的特点
1.简单 2.封装成帧 3.透明性 4.多种网络层协议
5.多种类型链路 6.差错检测 7.检测连接状态
8.最大传送单元 9.网络层地址协商 10.数据压缩协商
3.3使用广播信道的数据链路层
3.31局域网
局域网的最重要的一个特点是:网路为一个单位所拥有,且地理范围和站点数目均有限。
局域网的优点 :能进行广播或组播 、高传输速率、低误码率、高可靠性和可用性、较低的时延
局域网按拓扑结构分:
局域网如何使用户共享通信媒体资源:
静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
动态媒体接入控制(多点接入)
随机接入
受控接入
局域网的两个标准DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约
IEEE的802.3标准
DIX Ethernet V2 标准与IEEE的9802.3标准只有很小的差别,因此可以将802.3局域网简称"以太网"
严格来说,"以太网"应当指符合DIX Ethernet V2标准的局域网
3.32以太网
是一种共享介质的网络,采用无连接的工作方式,使用曼彻斯特(Manchester)编码发送数据
3.33适配器
通信适配器(Adapter)又称为网络接口板或网络接口卡NIC(Network Interface Card),或"网卡"
计算机的硬件地址就在适配器的ROM中,二计算的软件地址就--IP地址则在计算机的存储器中。
适配器的重要功能:
- 保存硬件地址
- 在计算机的操作系统中安装设备驱动程序
- 实现以太网协议
- 进行串行/并行连接
- 对数据进行缓存
- 接收、发送帧
3.33CSMA/CD
广播信道上解决冲突问题的办法是载波监听多点接入/碰撞检测 CSMA/CD
载波监听:
- 先听再说
- 发送前先监听总线上是否有信号
- 如果有信号,则停止发送数据(避免冲突),同时继续监听,直至发现信道空闲时,发送数据。
碰撞检测:
- 边说边听
- 边发送,边检测,是否与别人发生冲突,若冲突,立即停止发送,随后延迟再去"载波监听"
3.34截断二进制指数退避算法
根据网络当前负载计算延迟时间:
- 轻载时(发送站少),在较小的区间取随机数
- 重载时(发送占多),在较大的区间取随机数
如何知道负载轻重:
- 根据帧的重复冲突次数猜测负载轻重
- 重复冲突次数多,说明网络负载重
- 延时时间区间大,分散负载
3.35MAC地址以及帧格式
- 硬件地址又称为物理地址,或MAC地址
- 802标准所说的"地址"严格的讲应当是每一个站的"名字"或标识符
- 48位的"名字"称为"地址"
- 前三个字节(即高24位):分配厂家
- 后三个字节
MAC帧的具体格式及含义:
- 在帧的前面插入的8字节中的第一个字段共7个字节,是前同步码,用来迅速实现MAC帧的比特同步,第二个字段是帧开始定界符,表示后面的信息就是MAC帧。(为达到比特同步,在传输媒体上实际传送的要比MAC帧还多8个字节。
- 目的地址6字节
- 源地址6字节
- 类型2字节,用类型字段标志上一层使用的什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议
- 数据字段的正式名称是MAC客户数据字段,最小长度64字节减去18字节的首部和尾部=数据字段的最小长度 ,当数据字段的长度小于64字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长度不小于64字节
- FCS字段为4字节,当传输媒体的误码率为1×10^-8时,MAC子层可使未检测到的差错小于1×10^-14
- 对于帧的长度不是整数个字节、帧有差错、帧长不在64~1518字节之间,对于检查出的无效MAC帧就简单地丢弃,以太网不负责重传丢弃的帧。
3.4扩展的以太网(集线器、交换机、VLAN)
1.集线器
在物理层进行扩展,可以采用光纤连接到集线器
主机使用光纤、光线调制解调器连接到集线器
2.集线器
在物理层进行扩展,可以直接采用集线器
优点:
- 是原属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信
- 扩大局域网覆盖的地理范围
缺点:
- 碰撞域增大,总的吞吐量并未提高
- 如不同碰撞域使用不同的数据率,就不能用集线器互连
3.VLAN
在数据链路层扩展局域网:
- 在数据链路层扩展局域网使用的是网桥
- 它根据MAC帧的目的地址对收到的帧进行转发
- 网桥具有过滤帧的功能
- 目前使用最多的网桥是透明网桥(Transparent bridge)
- "透明"是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的
- 透明网桥是一种即插即用设备
- 若从A发出的帧从接口x进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到A
- 网桥每接收到一个帧,就记下其源地址和进入网站的接口,作为转发表中的一个项目
- 在建立转发表时是把帧首部中的源地址写在"地址"这一栏的下面
- 在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在"地址"栏下面记下的源地址当作目的地址,而把记下的进入接口当作转发接口
- 先进行自学习,查找转发表中与收到帧的源地址有无相匹配的项目。
- 若是没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。若有,把原有项目进行更新
- 转发帧。查找转发表中与收到帧的目的地址有无相匹配项目
- 若没有,则通过所有其他接口(但进入网桥的接口除外)按进行转发。若有,则比对该项目的接口与帧进入网桥的接口是否相同,如不同,则按转发表中给的接口进行转发,若相同,丢弃这个帧(过滤帧)
- 集线器在转发帧时,不对传输媒体进行检测
- 网桥在转发帧之前必须执行CSMA/CD算法,若在转发帧之前出现碰撞,就必须停止发送和进行退避
网桥的优点:
- 过滤通信量
- 扩大了物理范围
- 提高了可靠性
- 可互连不同物理层、不同MAC子层和不同速率的局域网
网桥的缺点:
- 存储转发增加了时延
- 在MAC子层并没有流量控制功能
- 具有不同MAC子层的网段桥连接在一起时时延更大
- 广播风暴
3.5高速以太网(100BASE-T以太网、吉比特以太网、10吉比特以太网)
集线器、网桥从物理空间上扩展了以太网
VLAN从逻辑功能上扩展了以太网
则下面介绍的时从速率上扩展以太网(从10Mb/s到10Gb/s)
灵活(多种传输媒体、全/半双工、共享/交换)
易于安装
稳健性好
100BASE-T以太网:
定义
- 速率达到或超过100Mb/s的以太网称为高速以太网
- 在双绞线上传送100Mb/s基带信号的星型拓扑以太网
- 使用IEEE802.3的CSMA/CD协议100BASE-T以太网又称为快速以太网(Fast Ethernet)
特点
- 可在全双工方式下工作而无冲突发生,因此,不使用CSMA/CD协议
- MAC帧格式仍然是802.3标准规定的
- 保持最短帧长不变
- 帧间时间间隔从原来的9.6微秒改为现在的0.96微秒
吉比特以太网特点
- 允许在1Gb/s下全双工、半双工两种方式工作
- 使用IEEE802.3协议规定的帧格式
- 在半双工方式下使用CSMA/CD协议
10吉比特以太网配置举例
- 与10Mb/s、100Mb/s和1Gb/s以太网的帧格式完全相同
- 保留了802.3标准规定的以太网最小和最大帧长,便于升级
- 不再使用铜线而只使用光纤作为传输媒体
- 只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议
3.6虚拟局域网(组成、分类、优缺点)
概念:虚拟局域网(Virtual Local Area Network,VLAN)是由一些局域网网段构成的与物理位置无关的逻辑组
- 这些网段具有某些共同的需求
- 每一个VLAN的帧都有一个鲜明的标识符,指明发送这个帧的工作站属于哪一个VLAN
- 由以太网交换机实现
- 虚拟局域网是局域网提供给用户的一种服务,而不是一种系逆行局域网
- 虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网
虚拟局域网优点
- 为网络管理带来了便利,具有相似需求的用户共享一个VLAN
- 增强网络安全性,敏感用户与普通用户隔离
- 减少了不必要的网络流量
- 限制了广播报文的洪泛,抑制广播风暴
- 减少网络拓扑变更的成本
四、网络层
4.1两种服务(虚电路、数据报)两个层面(控制层面、数据层面)
争论
- 网络层应该像运输层提供怎样的服务?面向连接还是无连接的
- 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统
争论下的两种观点
- 面向连接的可靠交付
- 无连接的、尽最大努力交付的数据报服务,不提供服务质量承诺
4.1.1网络层提供的两种服务
1.让网络负责可靠交付
- 计算机网络模仿电信网络,使用面向连接的通信方式
- 通信之前先建立虚电路VC(Virtual Circuit)(即连接),以保证双方通信所需的一切网络资源
- 如果在使用可靠传输的网络协议,可使所发送的分组无差错按序到达终点,不重复、不丢失
- 虚电路只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接
2.网络提供数据报服务
- 网络层要设计的尽量简单,向其上层提供简单灵活的、无连接的、尽最大努力交付的数据报服务
- 网络在发送分组时不需要先建立连接
- 每一个分组(即IP数据报)独立发送,与其前后的·分组无关(不进行编号)
- 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按顺序到达终点),也不保证分组传送的时限
- 由主机中的运输层负责可靠的通信
|---------------|-------------------------|---------------------------|
| 对比的方面 | 虚电路服务 | 数据报服务 |
| 思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
| 连接的建立 | 必须有 | 不需要 |
| 终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
| 分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
| 当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
| 分组的顺序· | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
| 端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
[虚电路服务与数据报服务的对比]
4.1.2网络层的两个层面
- 不同网络中的两个主机进行通信,要经过若干个路由器转发分组来完成
- 在路由器之间传送的信息由两类:分别是转发源主机和目的主机之间所传送的数据和传送路由信息
数据层面
- 路由器根据本路由器生成的转发表,把收到的分组从查找到对应接口转发出去
- 独立工作
- 采用硬件进行转发、快
控制层面
- 根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表
- 许多路由器协同工作
- 采用软件计算、慢
- 软件定义网络 SDN(Software Defined Network)
- 远程控制器:计算出最佳的路由,在每一个路由器中生成正确的转发表
4.2网际协议IP(虚拟互联网络、IP地址、子网划分、CIDR、APR、IP数据报的格式)
网际协议IP是TCP/IP体系中最主要的协议之一,与网际协议IPv4配套的三个协议
- 地址解析协议APR(Address Resolution Protocol)
- 网际控制报文协议ICMP(Internet Control Message Protocol)
- 网际组管理协议IGMP(Internet Group Management Protocol)
4.2.1虚拟互联网络
实现网络互连、互通时需要解决许多问题。如
寻址方案 最大分组长度 网络接入机制 超时控制
差错恢复方法 状态报告方法 路由选择协议
用户接入控制 服务 管理与控制方式
没有一种单一的网络能满足所有用户的需求,但可以使用中间设备,使用转发器的网桥不称为网络互连(转发器、网桥或交换机仅把一个网络扩大了,仍然是一个网络)网络互连使用路由器
|--------|------------------------------|
| 层 | 中间设备 |
| 运输层及以上 | 网关(gateway) |
| 网络层 | 路由器(router) |
| 数据链路层 | 网桥或桥连接器(bridge)以及交换机(switch) |
| 物理层 | 转发器(repeater) |
[使用中间设备进行互连]
IP网:使用协议IP的虚拟互联网络
- 当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节
- 如果在 这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网(Internet)
4.2.2IP地址
- 在TCP/IP体系中,IP地址是一个最基本的概念
- 没有IP地址,就无法和网络上的其他设备进行通信
- 学会IP地址的表示方法、分类的IP地址、无分类编址CIDR、IP地址的特点
- 互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的IP地址,由互联网名字和数字分配机构ICANN(Internet Corporation for Aaaigned Names and Numbers)进行分配
分类IP的优点:
- 管理简单
- 使用方便
- 转发分组迅速
- 划分子网,灵活地使用
缺点:
- 设计上不合理,大地址块,浪费地址资源,即使采用划分子网的方法,也无法解决IP地址枯竭的问题
4.2.3无分类地址CIDR
CIDR(Classless Inter-Domain Routing):无分类间路由选择。消除了A类、B类和C类地址以及子网的概念,可以有效地分配IPv4的地址空间,但无法解决IP地址枯竭的问题
- CIDR把网络前缀都相同的所有连续的IP地址组成一个CIDR地址块
- 一个CIDR地址快包含的IP地址数目,取决于网络的前缀位数
地址掩码
网络地址=(二进制IP地址)AND (地址掩码)
构造超网
IP地址的特点
- 每个IP地址都由网络前缀和主机号两部分组成
- IP地址标志一台主机(或路由器)和一条链路的接口
- 转发器或交换机连接起来的若干局域网仍为一个网络
- 在IP地址中,所有分配到网络前缀的网络都是平等的
|----------------|---------------------|
| IP地址 | MAC地址 |
| 虚拟地址,软件地址,逻辑地址 | 硬件地址,物理地址,固化在网卡ROM中 |
| 网络层和以上各层使用 | 数据链路层使用 |
| 放在IP数据报首部 | 放在MZC帧首部 |
[IP地址与MAC地址对比]
4.2.4地址解析协议APR作用
APR(Address Resolution Protocol)从IP地址解析出MAC地址
ARP用于解决同一个局域网上的主机或路由器的IP地址和MAC地址映射的问题
4.2.5IP数据报的格式
- 首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的(可选字段,其长度是可变的)
- 版本--占四位,指IP协议版本,目前IP协议的版本为IPv4
- 首部长度--占4位,可表示的最大数值是15个单位(一个单位为4字节)因此IP首部的最大值为60字节
- 区分服务--占8位,用来获得更好的服务,只有在使用区分服务(DiffServ)时,这个字段才起作用,在一般情况下都不使用这个字段
- 总长度--占16位,指首部和数据部分之和的长度,单位为字节,因此数据报的最大长度为65535字节,总长度必须不超过最大传送单元MTU
- 标识(identification)--占16位, 它是一个计数器,用来产生IP数据报的标识
- 标志(flag)--占3位,目前只有前两位有意义,标志字段的最低位MF(More Fragment)MF=1表示后面还有分片,MF=0表示最后一个分片。标志字段中间的一位是DF(Don't Fragment)只有当DF=0时才允许分片
- 片偏移--占13位,较长的分组在分片后某片在原分组中的相对位置,片偏移以8字节为偏移单位
- 生存时间--占8位,记为TTL(Time To Time)指示数据报在网络中可通过路由器数的最大值
- 协议---占8位,指出数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给那个处理过程
- 首部检验和--占16位,只检验数据报的首部,不检验数据部分,这里不采用CRC检验码而采用简单的计算方法
- 源地址和目的地址都各占32位
- IP首部可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富,长度可变、从1字节到40字节不等,取决于所选择的项目。增加了IP数据报功能,但这也同时使得IP数据报的首部长度成为可变的,增加了每一个路由器处理数据报的开销
4.3IP层转发分组的过程(转发分组的算法、最长前缀匹配)
转发表中的两种特殊路由
主机路由(host route):又名特定主机路由,是对特定目的主机的IP地址专门指明的一个路由,网络前缀就是a.b.c.d/32,放在转发表最前面
默认路由(default route)不管分组的最终目的网络在哪里,都由指定的路由器R来处理,用特殊前缀0.0.0.0/0表示
4.4网际控制报文协议ICMP(Ping、Tracert)
ICMP(Internet Control Message Protocol)允许主机或路由报告差错情况和提供有关异常情况的报告
- ICMP是互联网的标准协议
- 但ICMP不是高层协议,而是IP协议
ICMP报文格式
不应发送ICMP差错报告报文的几种情况:
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个数据分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有多播地址的数据报不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
ICMP询问报文
回送请求和回答
- 由主机或路由器向一个特定的目的主机发出的询问
- 收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文
- 这种询问报文用来测试目地站是否可达,以及了解相关状态
- 时间戳请求和回答
- 请求某台主机或路由器回答当前的日期和时间
- 时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共多少秒
- 时间戳请求与回答可用于时钟同步与时间测量
ICMP的应用举例
PING(Packet InterNet Groper)
- 用来测试两个主机之间的连通性
- 使用了ICMP回送请求与回送回答报文
- 是应用层直接使用网络层ICMP地例子,没有通过运输层的UDP或TCP
Traceroute
- 这是UNIX操作系统的名字,在Windows操作系统中这个命令是tracert
- 用来跟踪一个分组从源点到终点的路径
- 它利用IP数据报中的TTL字段、ICMP时间超过差错报告报文和ICMP终点不可达差错报告报文实现从源点到终点的路径跟踪
4.5IPv6(地址表示方法、IPv6过渡的策略)
- IP是互联网的核心协议
- IPv6仍支持无连接的传送
- 将协议数据单元PDU称为分组(Packet)
- 更大的地址空间,将IPv4的32位扩大到了128位
- 扩展的地址层次结构,可以划分更多的层次
- 灵活的首部格式,定义了许多可选的扩展首部
- 改进的选项,允许数据报包含有选项的控制信息,其选项放在有效载荷中
- 允许协议继续扩充,更好地适应新的应用
- 支持即插即用(即自动配置),不需要使用DHCP
- 支持资源的预分配,支持实时视像等要求保证一定的带宽和时延的应用
- IPv6首部改为8字节对齐,首部长度必须是8字节的整数倍
- 版本--4位,它指明了协议的版本IPv6
- 通信量类(traffic class)--8位,这是为了区分不同的IPv6数据报的类别或优先级,目前正在进行不同的通信量类性能的实验
- 流标号(flow label)--20位,"流"是互联网上从特定源点到特定终点的一系列数据报,"流"所经过的路径上的路由器都能保证指明的服务质量,所有属于同一个流的数据报都有同样的流标号
- 有效载荷长度(payload length)--16位,它指明IPv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷内),其最大值是64KB
- 下一个首部(next header)--8位,源站在数据报发出时即设置跳数限制,路由器在转发数据报时将跳数限制字段中的值减1,当跳数限制的值为0时,就要将此数据报丢弃
- 源地址--128位,是数据报发送站的IP地址
- 目的地址--128位,是数据报的接收站的IP地址
IPv6的6种扩展选项:逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目地站选项
IPv6的地址,三种类型
- 单播(unicast):传统的点对点通信
- 多播(multicast):一点对多点的通信
- 任播(anycast):IPv6增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出距离最近的一个
IPv4向IPv6过渡
方法:逐步演进,向后兼容
向后兼容:IPv6系统必须能够接收和转发IPv4的分组,并且能够为IPv4分组选择路由
两种过渡策略分别为:使用双栈协议、使用隧道技术
4.6互联网的路由选择协议(RIP、OSPF)
4.6.1RIP
|----------|--------------------------------------|
| 静态路由选择策略 | ①非自适应路由选择 ②不能及时适应网络状态的变化 ③简单、开销较少 |
| 动态路由选择策略 | ①自适应路由选择 ②能较好地适应网络状态的变化 ③实现较为复杂,开销较大 |
[路由选择算法]
分层次的路由选择协议
互联网
- 采用自适应(即动态的)、分布式路由选择协议
- 把整个互联网划分为许多较小的自治系统AS,采用分层次的路由选择协议
- 分为两个层次,①自治系统之间的路由选择(interdomain routing)或域间路由选择②自治系统内部的路由选择或域内路由选择(intradomain routing)
自治系统AS:在单一技术管理下的许多网络、IP地址以及路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。每一个AS对其他AS表现出的是一个单一的和一致的路由选择策略
|--------------------------------------|----------------------------------|
| 内部网关协议IGP(Interior Gateway Protocol) | 在一个自治系统内部使用的路由选择协议,常用:RIP、OSPF |
| 外部网关协议EGP(External Gateway Protocol) | 在不同自治系统之间进行路由选择时使用的协议,使用最多:BGP-4 |
[两大类路由选择协议]
协议RIP的工作原理
- 路由协议RIP(Routing Information Protocol)是一种分布式的、基于距离向量的路由选择协议
- 是互联网的标准协议,比较简单
- 要求网络中的路由都要维护从它自己到其他每一个目的网络的距离记录
RIP中的距离定义:
①路由器到直接连接的网络的距离=1
②路由器到非直接连接的网络的距离=所经过的路由器数+1
③RIP协议中的"距离"也称为跳数(hop count),每经过一个路由器,跳数就+1
RIP协议的特点:
①仅和相邻路由器交换信息
②交换的信息是当前本路由器所知道的全部信息,即自己的路由表
③按固定的时间间隔交换路由信息。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
④好消息传播的快,坏消息传播的慢
4.6.2内部网关协议OSPF
三个主要特点:
①采用泛洪法(fiooding),向本自治系统中所有路由器发送信息
②发送的信息是本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
③链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量(metric)
④当链路状态发生变化或每隔一段时间,;路由器采用洪泛法向所有路由器发送此信息
4.6.3外部网关协议BGP
4.7VPN和NAT
本地地址:仅在机构内部使用的IP地址,可以由本机构自行分配,而不需要向互联网的管理机构申请
全球地址:全球唯一的IP地址,必须向互联网管理机构申请
VPN类型:
内联网:同一个机构内部网络所构成的VPN
外联网:一个机构和某些外部机构共同建立的
远程接入VPN:允许外部流动员工通过接入VPN建立VON隧道访问公司内部网络,好像就是使用公司內部的本地网络访问一样
NAT
- 需要在专用网连接到互联网的路由器上安装NAT软件
- 装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址
五、传输层
5.1运输层协议概述(TCP和UDP,运输层端口)
运输层提供应用进程间的逻辑通信
- 网络层为主机之间的通信提供服务,而运输层则在网络层的基础上,为应用进程之间的通信提供服务
- 运输层还要对收到的报文进行差错检测
- 进程一般需要可靠通信,这个问题不能使用网络层的服务来解决,需要端系统自己解决。在主机网络层之上,需要要建立一个运输层(TCP协议)来解决进程之间可靠通信的问题
- 两个主机之间的通信实际上就是两个主机中应用进程相互通信,应用进程之间的通信又称为端到端的通信
- 在TCP/IP体系中,运输层的任务就是为主机的应用进程提供端到端的逻辑通信服务
- 提供流控制机制和差错控制
- 复用和分用:应用层不同进层的报文通过不同的端口向下交到运输层,共用网络层提供的服务
- UDP(User Datagram Protocol 用户数据报协议),向应用层提供无连接的数据报交付服务,广泛应用于简单的请求-应答查询以及快速递交比精确递交更为重要的场合
- TCP(Transmission Control Protocol 传输控制协议),向应用层提供面向连接的可靠数据流服务,在不可靠的互联网上提供可靠的端到端、面向字节流的连接。为IP服务增加了面向连接和可靠性的特点,它保证了数据传送可靠、按需、无丢失和无重复
端口
每台机器上的进程看作是一系列抽象的目的点,称为协议端口(protocol port),协议端口是一个16bit的正整数标识,本地操作系统提供一个接口机制,进程通过它来指定并接入到协议端口
端口的分配
统一分配:中央管理机构统一分配的服务器端端口号的列表,固定端口
动态绑定:应用程序需要使用端口时临时指定一个端口。通信双方使用请求与应答的方式知道对方的端口号
端口的数据管理
OS提供机制,创建或唤醒相应进程来处理相应端口数据
每一端口有一缓冲区来存放进出该端口的数据队列
UDP的现实应用:视频传输(视频会议)、实时通信(IP电话)、ICQ、QQ
5.2传输控制协议TCP(TCP主要特点、TCP连接)
- TCP连接的端点是套接字(socket)或插口
- 每一条TCP只能有两个端点,进行点对点通信
- TCP提供可靠交付的服务
- TCP提供全双工通信
5.3可靠传输工作原理(停等协议、连续ARQ协议)
停等协议原理
使用重传和确认机制,可以在不可靠的网络上实现可靠通信,这栋可靠传输协议常称为ARQ(Automatic Repeat reQuest)
5.4TCP报文段的首部格式
- 源端口和目的端口字段--各占2字节,端口是运输层与应用层的服务接口,运输层的复用和分用功能都要通过端口才能实现
- 序号字段--各占4字节,TCP连接中传送数据流中每一个字节都编上一个序号,序号字段的值则指的是本报文所发送的数据的第一个字节的序号
- 确认号字段--各占4字节,是期望对方的下一个报文段的数据的第一个字节的序号
- 数据偏移(即首部长度)--占4位,它指出TCP报文段的数据起始处距离TCP报文段有多远,数据偏移的单位是32字节(以4字节为计算单位)
- 保留字段--占6位,保留为今后使用,但目前置为0
- 紧急URG--当URG=1时,表明紧急指针字段有效,它告诉系统此报文有紧急数据,应尽快传送(相当于高优先级数据)
- 确认ACK--只有当ACK=1时确认字段号才有效
- 推送PSH--接收TCP收到PSH=1的报文段,就尽快交付接受应用进程,而不是等到整个缓存都满了后再向上交付
- 复位RST(ReSeT)--当RST=1时,表明TCP连接出现严重错误(如由于主机崩溃或者其他原因),必须释放连接,然后重新建立运输连接
- 同步SYN--同步SYN=1表示这是一个连接请求或连接接受报文
- 终止FIN(FINis)--用来释放一个连接,FIN=1表明此报文端的发送端的数据已发送完毕,并要求释放
- 窗口字段--占2字节,用来让对方设置发送窗口的依据,单位为字节
- 校验和--占2字节,校验和字段检验的范围包括首部和数据这两部分,在计算检验和时,要在TCP报文段前面加上12字节的伪首部
- 紧急指针字段--占16位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)
- 选项字段--长度可变,TCP最初只规定了一种选项,即最大报文段长度MSS。MSS告诉对方TCP"我的缓存所能接收的报文段的数据字段的最大长度时MSS个字节
- MSS:是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部,才等于整个TCP报文段
- 窗口扩大选项--占3字节,其中有一个字节表示移位值S
- 时间戳选项--占10字节,其中时间戳字段(4字节)和时间戳回送回答字段(4字节)
- 选择确认选项
- 填充字段--这是为了使整个首部长度是4字节的整数倍
4.5TCP可靠传输实现(滑动窗口)
- TCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段
4.6TCP流量控制
运用TCP报文段中的窗口大小字段来控制,发送方的窗口不能大于接收方的窗口
TCP为每一个连接设有一个持续计时器
TCP连接的一方收到对方的零窗口通知,就启动持续计时器
若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带1字节的数据),而对方就再在确认这个探测报文段时给出了现在的窗口值
若窗口仍是零,则收到的这个报文段的一方就重新设置持续计时器
若窗口不为零,则死锁的僵局就可以打破了
4.7TCP的拥塞控制(四种控制方法)
网络拥塞的原因
发送方控制拥塞窗口的原则是:若网络没有出现拥塞,增大拥塞窗口,把更多的分组发送出去。若网络中出现拥塞,减少拥塞窗口,减少注入到网络中的分组数
无法收到已发送的数据确认时慢开始、拥塞避免
如果收到的是失序的报文确认,用快重传、快恢复来避免拥塞控制
快重传算法首先要求接收方每收到一个失序报文段后就立即发出重传确认
发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段
4.8TCP的运输层连接管理(三报文握手、四报文挥手)
Sniffer,翻译为嗅探器2,也叫抓数据包软件,利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为杂乱(promiscuous)模式状态工具,能接收传输在网络上的每一个信息包
是一种基于被动侦听原理的网络分析方式,使用这种技术方式,可以监听网络的状态、数据流动情况以及网络上上传的信息
给予网管管理人员实时的网络监视、数据包抓获以及故障诊断分析能力
Sniffer网络监视功能能够时刻监视网络统计、网络资源的利用率,并能够监视网络流量的异常情况
提供了仪表盘、主机列表、矩阵、ART、协议分析、历史样本、全局信息共七大网络监视模式
六、应用层
6.1域名系统DNS
根域名服务器(最高层次的域名服务器)
- 所有的域名服务器都知道顶级域名服务器的域名和IP地址
- 不管是哪一个本地域名服务器,若是它们对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器
- 在因特网上共有13个不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,前13个字母(a~m)
顶级域名服务器(即TLD服务器)
- 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名
- 当收到DNS查询请求时,就给出相应的回答(可能最后的结果,也可能是下一步应当找的域名服务器的地址)
权限域名服务器
- 负责一个区的域名服务器
- 当一个权限域名服务器还不能给最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器
本地域名服务器
- 本地域名服务器对域名系统非常重要
- 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地的域名服务器
- 每一个因特网服务者提供ISP,或一个大学,甚至一个大学的系,都可以拥有一个本地域名服务器
- 这种域名服务器有时也称为默认域名服务
域名解析过程
- 本地域名服务器向根域名服务器的查询通常是采用迭代查询(不替代)
- 主机向本地域名服务器的查询一般都是采用递归查询(替代)