计算机网络谢希仁第七版笔记(未完待续)
一、概述
1.1 计算机网络在信息时代的作用
1.2 互联网概述
- Internet(互联网,或因特网)是一个专用名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网
- internet是一个通用名词,泛指由多个计算机网络互连而成的计算机网络
1.3 互联网的组成
-
从工作方式上看,互联网可以划分为以下两大块:
- 互联网的边缘部分:由所有连接在互联网上的主机组成。
- 互联网的核心部分:在网络核心部分起特殊作用的是路由器,路由器是实现分组交换的关键构建,其任务是转发分组,这是网络核心部分最重要功能。
-
在网络边缘的端系统之间的通信方式通常可以划分两大类:
-
客户-服务机方式(客户端、服务器端)
-
客户程序:必须知道服务器程序的地址、不需要特殊的硬件和复杂的操作系统
-
服务器程序:支持同时处理多个远地或本地的客户请求、启动后自动调用并一直不断运行、需要强大的硬件和高级的操作系统支持
-
-
对等连接方式(P2P)
- 主机间平等、对等连接通信,双方都可以下载对方已经存储在硬盘中的共享文档
-
-
互联网的核心部分
在网络核心部分起特殊作用的是路由器,它是实现分组交换的关键构件
-
电路交换:通信前建立连接—>通话—>释放连接,这种交换方式信路独占性、实时性强,浪费资源,传输效率低。
-
报文交换:将整个报文发送给相邻结点,全部存储后查表并转发给下一个结点,一步一步存储转发到目的主机。
-
分组交换:要发送的整块数据称为一个报文,将报文分成一个个更小的等长数据段,每个数据段加上首部(由必要的控制信息组成)后构成一个分组,主机将分组发送给路由器,路由器收到分组先存储一下,检查首部,查找转发表,转发给下个路由器,一步一步以存储转发的方式交付目的主机。
分组交换优点:
-
高效 动态分配传输带宽,对通信链路是逐段占用。
-
灵活 以分组为传送单位和查找路由。
-
迅速 不必先建立连接就能向其他主机发送分组。
-
可靠 保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存性
-
-
1.4 计算机网络在我国的发展
1.5 计算机网络的分类与拓扑类型
-
计算机网络的分类:
- 按照网络的作用范围进行分类:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人局域网(PAN)
- 按照网络的使用者进行分类:专用网、公用网
-
计算机网络的拓扑结构:
-
总线拓扑结构:只用于局域网
优点:1. 网络结构简单,可靠性高;2. 电缆长度短,易于布线和维护;3. 节点间响应速度快,共享资源能力强;4. 设备投入量少,成本低;5. 易于扩充,数据端用户入网灵活。
**缺点:**1. 故障诊断困难;2. 故障隔离困难,任何节点的故障都有可能导致全网问题;3. 实时性较差;
4.网络规模较大时,传输效率下降幅度大。
-
星型拓扑结构:
**优点:**1. 网络结构简单,易于维护和管理;2. 控制简单,便于建网;3. 网络可靠性高,稳定性好。单个节点的故障只影响一个设备;4.传输速度快,延迟小,误差低;5. 系统容易扩容。
**缺点:**1. 对中心节点的要求极高(包括中心节点的可靠性和冗余度);2.如果中心节点出故障,可能造
成大面积网络瘫痪;中心节点负担过重,结构较复杂,容易出现瓶颈。4. 系统安全性较差,资源共享性
能较差。
-
环形拓扑结构:一般也用于构建局域网
**优点:**1. 各工作站地位相等;2. 系统中无信道选择问题;3. 网络数据传输不会出现冲突和堵塞现象。
**缺点:**1. 可靠性低,节点的故障将会引起全网的故障;2. 故障诊断困难;3. 不易重新配置网络;4. 当环中节点过多的时候,将会影响信息传输速率。
-
树型拓扑结构:可以将局域网的规模扩大,适宜汇集数据信息的需求。
-
网状型拓扑结构:系统可靠性高,适宜广域网的组网。问题是网络结构复杂,需要较复杂的路由选择技术,以及流量控制和拥塞控制技术。
-
1.6 计算机网络的性能
性能指标:
- 速率 指数据的传送速率,也称数据率或比特率 (指额定速率或标称速率,并非实际上的速率)
- 带宽 表示网络中某通道传送数据的能力,在单位时间内网络中某信道所能通过的“最高数据率“
- 吞吐量 单位时间内通过某个网络(信道或接口)的实际的数据量
- 时延 包括发送时延,传播时延,处理时延,排队时延(取决于网络当时通信量)
- 时延带宽积 即传播时延和带宽相乘,度量链路数据有多少个比特
- 往返时间RTT
- 利用率 有信道利用率和网络利用率两种,利用率过高会产生很大的时延
非性能指标:费用、质量、标准化、可靠性、可扩展性与升级性、易于管理和维护
1.7 计算机网络体系结构
-
网络协议三要素:语法(数据与控制信息的结构或格式)、语义(用来说明通信双方应当怎么做)、同步(详细说明时间如何实现)
-
计算机网络的各层及其协议的集合就是网络的体系结构
-
五层协议的体系结构:
(1)应用层,任务是通过应用进程间的交互来完成特定网络应用,如DNS,HTTP协议 。应用层交互的信息单元成为报文。
(2)运输层,任务是向两台主机中进程之间的通信提供通用的数据传输服务。主要使用TCP、UDP协议
(3)网络层,负责为分组交换网上的不同主机提供通信服务。使用IP协议,分组又叫做IP数据报
(4)数据链路层,使用专门的链路层协议,在相邻两个结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧,每一帧包括数据和必要的控制信息。
(5)物理层,确定物理设备如何连接。 -
TCP/IP的体系结构只有四层:应用层、运输层、网际层和网络接口层
二、物理层
2.1 物理层的基本概念
- 物理层的作用是尽可能的屏蔽掉传输媒体和通信手段的差异,同时完成传输方式的转换
- 物理层与传输媒体接口的一些特性:机械特性、电气特性、功能特性、过程特性
2.1 数据通信的基础知识
- 一个数据通信系统可以划分为三大部分:源系统(发送端)、传输系统(传输网络)、目的系统(接收端)
- 通信方式分为以下三种:单工通信、半双工通信、双工通信
- 信道的极限容量
- 信噪比:信号的平均速率和噪声的平均功率之比,常记作S/N,并用分贝作为度量单位
- 香农公式:C = H log2 (1+S/N)
2.3 物理层下面的传输媒体
-
传输媒体也称为传输介质或传输媒介,分为两类:导引型传输媒体和非导引型传输媒体。
- 导引型传输媒体: 1.双绞线 2.同轴电缆 3.光缆
- 非导引型传输媒体: 因为不使用导引型传输媒体,因此将*空间称为非导引型传输媒体。无线传输、短波通信、微波通信、红外通信、激光通信都使用非导引型传输媒体。
-
导引型传输媒体
-
双绞线:双绞线是由一对相互绝缘的铜导线螺旋绞合在一起。
绞合减少了对相邻导线的电磁干扰,其通信距离一般为几到十几公里
双绞线分为:UTP无屏蔽双绞线、带屏蔽(STP)双绞线两大类。
-
同轴电缆:同轴电缆具有很好的抗干扰性,被广泛用于较高速率的数据传输
-
光缆
-
-
非导引型传输媒体:无线电、微波、红外线、激光、卫星
2.3 信道复用技术
信道复用技术:
- 频分复用:所有用户在同样时间占用不同带宽 (适合模拟信号的传输)
- 时分复用:所有用户在不同时间占用同样带宽 (适合数字信号的传输)
- 还有统计时分复用、波分复用、码分复用
2.4 数字传输系统
宽带接入技术:
ADSL技术、HFC网、FTTX技术
ADSL:不对称,下行(从ISP到用户)带宽远远大于上行
三、数据链路层
数据链路层的信道主要有以下两种类型:
- 点对点信道
- 广播信道
3.1 使用点对点通道的数据链路层
点对点信道的数据链路层协议数据单元——帧
点对点信道的数据链路层在进行通信时的主要步骤:
-
结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
-
结点A把封装好的帧发送给结点B的数据链路层
-
若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧。
三个基本问题:
- 封装成帧:在IP数据报的前后分别添加首部和尾部构成一个帧,首部和尾部有控制字符(SOH和EOT)来进行帧定界,如果接收端没有收到两个帧定界符则丢弃。
- 透明传输:当传送的帧是文本文件组成的帧时,数据不会出现帧定界控制字符,因此任意字符都可以传输,这样的传输就是透明传输,但在非ASCII码的文本文件(如二进制代码的程序或图像)中可能出现帧定界控制字符,因此需要添加转义字符“ESC”来实现透明传输,这种方法称为字符填充。
- 差错检测:传输过程中可能会产生差错(如比特差错即0变1,1变0),目前在数据链路层广泛使用了循环冗余检验CRC的检错技术,即在数据后面添加帧检验序列FCS(n位供差错检错用的冗余码),经过CRC检验后得出的余数为0则没有差错,否则帧有差错。
3.2 点对点协议PPP
-
PPP 协议由三个组成部分:
-
一个将 IP 数据报封装到串行链路的方法。
-
链路控制协议 LCP (Link Control Protocol)。
-
网络控制协议 NCP (Network Control Protocol)。
-
-
PPP帧的首部和尾部分别为4个字段和2个字段,首部的第一个字段和尾部的第二个字段都是标志字段F,表示一个帧的开始或结束。首部的第四个字段是2字节的协议字段,表示信息部分是什么类型数据
-
透明传输问题:
-
当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
-
当 PPP 用在异步传输时,就使用一种特殊的字符填充法。
-
3.3 使用广播信道的数据链路层
-
共享通信媒体资源的两种方法:
-
静态划分信道:包括频分复用、时分复用、波分复用等复用技术,但这种放大代价较高不适用于局域网
-
动态媒体接入控制(又称为多点接入):
- 随机接入:站点争用信道(可能出现站点之间的冲突)
- 受控访问协议:有数据的节点轮流发送(不存在冲突)
-
-
适配器的作用
- 适配器连接计算机与外界局域网,又称为网络接口卡(网卡),它的一个重要功能就是进行数据串行传输和并行传输的转换
- 所实现的功能包含了数据链路层和物理层两个层次的功能。
- 当适配器收到有差错的帧时,就把这个帧直接丢弃而不必通知计算机。
- 计算机的硬件地址在适配器的ROM中,而计算机的软件地址——IP地址在计算机的存储器中
-
CSMA/CD协议:
-
作用:协调总线上各计算机的工作,使得在同一时间只能一台计算机发送数据。
-
特点:多点接入、载波监听、碰撞检测
- 多点接入:说明是总线型网络,许多计算机以多点接入的方式连接在一根总线上
- 载波监听:载波监听就是检测信道,不管在发送前还是发送时。每个站都必须不停的检测信道。
- 碰撞检测:以太网的端到端的往返时间称为争用期,又叫碰撞检测,只有经过争用期这段时间还没检测到碰撞,才能肯定这次发送不会发生碰撞。凡长度小鱼64字节的帧都是由于冲突而异常终止的无效帧。
-
CSMA/CD协议要点:
-
准备发送:适配器从网络层中获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。但发送前必须先检测信道
-
检测信道:若检测到信道忙则继续检测直到空闲,若检测到信道空闲并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
-
在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。有两种可能性
- 发送成功,在争用期2τ时间内未检测到碰撞则帧发送一定成功,发送完成后返回(1);
- 发送失败,在争用期检测到碰撞,立即停止发送数据并按规定发送人为干扰信号。适配器执行截断二进制指数退避算法确定重传时机,等待r倍512比特时间后返回步骤(2)继续检测信道,重传16次仍不成功则停止重传并向上报错。
-
-
-
轮流MAC协议
- 轮询协议——主节点轮流“邀请”从节点发送,邀请到的从节点允许发送(蓝牙)
- 令牌协议
-
MAC层
- 每一块网络适配器(网卡)固定分配一个地址,称为物理地址、硬件地址、链路层地址、MAC地址等
- 3类MAC地址:
- 单播地址:一对一
- 将数据帧传给同一网络上的对应地址主机
34-02-86-EE-87-C9
- 将数据帧传给同一网络上的对应地址主机
- 多播地址:
- 将数据帧传给同一网络上的多播组内的多个主机最高字节的最低位置1的地址(以太网)
01:00:00:00:00:00
- 将数据帧传给同一网络上的多播组内的多个主机最高字节的最低位置1的地址(以太网)
- 广播地址:同一网络上的所有主机
- 将数据帧传给同一网络上的所有主机
ff:ff:ff:ff:ff:ff
- 将数据帧传给同一网络上的所有主机
- 单播地址:一对一
- MAC帧格式:
-
两种标准:DIX Ethernet V2标准和IEEE 802.3标准
-
3.4 扩展的以太网
-
在物理层扩展——集线器
-
集线器:
-
使用集线器的以太网在逻辑上仍是一个总线网,使用的还是CSMA/CD协议
-
集线器工作在物理层,每个接口仅仅简单的转发比特,不进行碰撞检测
-
用集线器扩展局域网
-
优点:
-
使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信
-
扩大了局域网覆盖的地理范围
-
-
缺点:
- 碰撞域增大了,但总的吞吐量并未提高
- 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
-
-
-
在数据链路层扩展——网桥、交换机
-
网桥:对收到的帧根据其MAC帧的目的地址(查找地址表确定转发给哪个接口或者丢弃)进行转发和过滤。
-
优点:
- 过滤部分通信量(数据帧过滤)
- 扩展了局域网的物理范围
- 使不同局域网互联(可互连不同物理层、不同MAC子层、不同速率)
- 提高了可靠性
-
缺点:
- 增加时延
- 只适用于小规模网络(会因传播过多的广播信息而产生网络拥塞–广播风暴)
-
网桥和集线器的比较
-
网桥转发表的自学习:
网桥收到一帧后先进行自学习。
-
查找转发表中与收到帧的源地址有无相匹配的项目。
-
如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。
如有,则把原有的项目进行更新。
-
每当一帧到达,上述算法都将执行一遍
-
-
网桥的帧转发处理:
转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。
- 如没有,则通过所有其他接口(但进入网桥的接口除外)按进行转发。
如有,则按转发表中给出的接口进行转发。 - 若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。
- 每当一帧到达,上述算法都将执行一遍
- 如没有,则通过所有其他接口(但进入网桥的接口除外)按进行转发。
-
-
以太网交换机:实质上是一个多接口的网桥,其内部的帧交换表(地址表)是通过自学习算法自动逐渐建立起来的。
- 特点:全双工、无碰撞
-
-
虚拟局域网
-
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
-
3.5 高速以太网
四、网络层
4.1 网络层的两种服务
-
虚电路服务:虚电路的思想来源于电信网,是一条逻辑上的连接(能实现可靠传输,ATM网络)
-
数据报服务:
- 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据包服务
- 网络层不提供服务质量的承诺
- 好处:网络造价大大降低,运行方式灵活,能够适应多种应用
-
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务(不提供服务质量的承诺)
优点:网络造价大大降低,运行方式灵活,能够适应多种应用
4.2 网际协议IP
-
TCP/IP体系的网络层提供的是数据报服务
-
网络层协议:IP协议、地址解析协议ARP、网际控制报文协议ICMP、网际组管理协议IGMP
ICMP和IGMP要使用IP协议、IP协议要经常使用ARP
-
虚拟互连网络
-
将网络互相连接起来需要使用一些中间设备
-
物理层使用的中间设备叫转发器(集线器)
-
数据链路层使用的中间设备叫网桥或桥接器(网桥、桥接器)
-
网络层使用的中间设备叫路由器
-
网络层以上使用的中间设备叫网关
-
-
IP协议保留了各种物理网络的异构型,使这些性能各异的网络在网络层上看起来好像是一个网络
-
-
分类的IP地址
- IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位标识符
- 点分十进制:IP地址是32位二进制代码,每8位换成一个十进制数并中间加一个点
-
常用的三种类别的IP地址
-
A类地址
-
网络号字段为全0的IP地址是个保留地址,意思时“本网络”
-
网络号为127(01111111)保留作为本地软件的环回测试笨猪记得进程之间的通信之用,
目的地址为环回地址的IP数据报永远不会出现在任何网络上
-
-
一般不适用的特殊IP地址
-
-
IP地址与硬件地址
-
硬件地址(或物理地址)是数据链路层和物理层使用的地址。
-
IP 地址是网络层和以上各层使用的地址,是一种逻辑地址(称 IP 地址是逻辑地址是因为 IP 地址是用软件实现的)
-
-
地址解析协议ARP
- 要点
- ARP请求分组:包含发送方硬件地址 /发送方IP地址/目标方硬件地址(未知时填0) / 目标方 IP地址。
- 本地广播ARP 请求(路由器不转发ARP请求)
- ARP 响应分组:包含发送方硬件地址 /发送方IP地址 /目标方硬件地址/目标方IP地址
- ARP 分组封装在物理网络的帧中传输
- ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题
- 逆地址协议RARP
- 要点
-
IP数据报的格式
-
IP层转发分组的流程
4.3 划分子网和构造超网
-
优点:
- 减少了IP地址的浪费
- 使网络的组织更灵活
- 更利于维护和管理
- 划分子网纯属一个单位内部的事情,对外部网络透明,对外仍然表现为没有划分子网的一个网络
-
缺点:减少了能能够连接在网络上的主机总数
-
子网掩码
-
从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分
-
-
子网划分的方法
-
有固定长度子网和变长子网两种子网划分方法
-
无分类编址CIDR
- 无分类域间路由选择CIDR是解决IP地址紧缺第一个好方法。CIDR记法把IP地址后面加上斜线‘/‘,然后写上网络号所占的位数,把前缀都相同的连续IP地址组成一个“CIDR地址块“
- CIDR主要特点:
- 消除了传统的A类、B类C类地址以及划分子网的概念
- CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块“。
-
路由表必须包含三个内容:目的网络地址、子网掩码和下一跳地址。
-
4.4 网际控制报文协议ICMP
-
为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP
-
ICMP不是高层协议(看起来好像是高层协议,因为ICMP 报文是装在IP 数据报中,作为其中的数据部分),而是IP 层的协议。
-
ICMP报文的格式
-
ICMP报文的种类
- ICMP报文的种类分为ICMP差错报告报文和ICMP询问报文
- ICMP 报文的前 4个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4个字节的内容与ICMP的类型有关
- ICMP差错报告报文共有四种
- 终点不可达
- 时间超过
- 参数问题
- 改变路由(重定向)
- ICMP询问报文有两种
- 回送请求和回答
- 时间戳请求和回答
4.5 互连网的路由选择协议
-
理想的路由算法
- 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已
- 路由算法分为两种
- 静态路由选择策略(非自适应路由选择):简单,开销小,但不能即使适应网络的变化,适合简单的小网络
- 动态路由选择策略(自适应路由选择):能较好的适应网络状态的变化,但实现起来较为复杂,开销也比较大
-
分层次的路由选择协议
- 内部网关协议IGP:具体的协议有很多种,如RIP和OSPF等
- 外部网关协议EGP:目前使用的协议就是BGP
-
内部网关协议RIP
-
要点
- RIP是一种分布式的基于距离向量的路由选择协议
- rIP允许一条路径最多只能包含15个路由器,只适用于小型网络
- 特点
- 仅和相邻路由器交换信息
- 交换的是当前本路由器的全部信息,即自己现在的路由表
- 按固定的时间间隔交换路由信息
- 路由器在刚刚开始工作时,路由表是空的
-
RIP2的报文格式
-
缺点:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器
-
-
内部网关协议OSPF
-
要点
- OSPF是使用分布式的链路状态协议
- “最短路径优先OSPF”使用了Dijkstra提出的最短路径算法SPF
- 特点
- 向本自治系统的所有路由器发送信息(洪范法)
- 发送的信息是本路由器相邻的所有路由器的链路状态
- 只有当链路状态发生变化时,路由器才向所有路由器发送信息
- 所有路由器最终都能建立一个链路状态数据库,即全网的拓扑结构图
- OSPF将一个自治系统在划分为若干个更小区域
- OSPF不用UDP而是直接用IP数据报传送
- OSPF允许管理员给每条路由指派不同的代价
- 如果同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径
-
-
外部网关协议BGP
-
BGP是不同自治系统的路由器之间交换路由信息的协议:路径向量路由选择协议
-
要点
-
BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由
-
每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP 发言人”(一般是边界路由器)
-
BGP发言人构造出的自治系统连通图是树形结构,不存在回路
-
BGP协议交换路由信息的节点数量是自治系统个数的量级,在每一个自治系统中的BGP发言人是很少的
-
BGP支持CIDR
-
在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处
-
-
-
路由器的构成
- 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组
- 实现交换的三种方法:存储器、总线、纵横交换结构
4.6 IPv6
-
与IPv4的比较
- 取消了首部长度字段(固定40字节)
- 取消了服务类型字段,因为优先级和流标号字段实现了服务类型的功能
- 取消了总长度字段,改用有效载荷长度字段
- 取消了标识、标志和片偏移字段
- 把TTL字段改称为跳数限制字段
- 取消了检验和字段
- 取消了选项字段
-
冒号十六进制记法、零压缩、支持CIDR斜线记法
-
从IPv4向IPv6过渡:双栈协议、隧道技术
-
ICMPv6
4.7 IP多播
-
多播是从一个源点发送到多个终点,即一对多的通信。在互联网上进行多播就叫作 IP 多播。
-
多播数据报
- 多播可以大大节约网络资源
- 多播数据报也是“尽最大努力交付”,不保证一定能够交付多播组内的所有成员
- 对多播数据报不产生 ICMP 差错报文。因此,若在PING 命令后面键入多播地址,将永远不会收到响应
-
最局域网上进行硬件多播
-
由于局域网具有硬件多播功能,因此不需要复制分组,在局域网上的多播组成员都能收到这个视频分组
-
由于多播IP地址与以太网硬件地址的映射关系不是唯一的,因此受到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的多播数据报丢弃
-
-
网际组管理协议IGMP
4.8 虚拟专用网v*n 和网络地址转换NAT
- v*n
-
要点
- 由于 IP 地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数
- 考虑到互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网
- 假定在一个机构内部的计算机通信也是采用TCP/IP 协议,那么从原则上讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配其 IP 地址
-
本机地址与全球地址
- 本机地址:仅在机构内部使用的 IP地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。
- 全球地址:全球唯一的 IP地址,必须向互联网的管理机构申请
-
- 网络地址转换NAT
-
装有NAT软件的路由器叫作 NAT路由器,它至少有一个有效的外部全球IP地址。所有使用本地地址的主机在和外界通信时,都要在 NAT路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。
-
4.9 多协议标记交换MPLS
- MPLS 具有以下三个方面的特点:
- 支持面向连接的服务质量:为了实现交换,可以利用面向连接的概念,使每个分组携带一个叫作标记 (label) 的小整数。当分组到达交换机(即标记交换路由器)时,交换机读取分组的标记,并用标记值来检索分组转发表。 这样就比查找路由表来转发分组要快得多。
- 支持流量工程,平衡网络负载
- 有效地支持虚拟专用网 v*n
- 基本原理
- 在 MPLS 域的入口处,给每一个 IP 数据报打上固定长度“标记”,然后对打上标记的 IP 数据报用硬件进行转发。
- 采用硬件技术对打上标记的 IP 数据报进行转发就称为标记交换。
- “交换”也表示在转发时不再上升到第三层查找转发表,而是根据标记在第二层(链路层)用硬件进行转发。
- MPLS 域 (MPLS domain) 是指该域中有许多彼此相邻的路由器,并且所有的路由器都是支持 MPLS 技术的标记交换路由器 LSR (Label Switching Router)。
- LSR 同时具有标记交换和路由选择这两种功能,标记交换功能是为了快速转发,但在这之前LSR 需要使用路由选择功能构造转发表
- 转发等价类FEC
- “转发等价类”就是路由器按照同样方式对待的分组的集合
- FEC用于负载平衡
- MPLS首部的位置与格式
-
在把 IP 数据报封装成以太网帧之前,先要插入一个 MPLS 首部。从层次的角度看,MPLS 首部就处在第二层和第三层之间。
-
五、运输层
5.1 运输层协议概述
- 运输层要解决的四个问题:
- 可靠传输
- 进程寻址
- 拥塞问题
- 流量控制
- 运输层向它上面的应用层提供通信服务,只有主机的协议栈才有运输层,而网络核心部分的路由器在转发分组时都只用到下面三层
- 网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信
- 运输层要对收到的保温进行差错检测,因为IP数据报首部中的校验和字段只检验首部而不检查数据部分
- 运输层的两个主要协议:
- 用户数据报协议UDP
- UDP在传送数据之前不需要先建立连接,接收方不需要对收到的报文给出任何确认
- 传输控制协议TCP
- TCP提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接,TCP不提供广播或多播服务
- 用户数据报协议UDP
5.2 用户数据报协议UDP
-
要点
- UDP是无连接的
- UDP使用尽最大努力交付
- UDP是面向报文的(一次交付一个完整的报文,应用程序必须选择合适大小的报文)
- UDP没有拥塞控制
- UDP支持一对一、一对多、多对一和多对多的通信
- UDP首部开销小(只在IP数据报的基础上加上简单的复用和奋勇、差错检测功能)
-
UDP的首部格式
5.3 传输控制协议TCP概述
- 要点
- TCP是面向连接的运输层协议
- 每一条TCP连接只能有两个端点
- TCP提供可靠交付的服务
- TCP提供全双工通信
- 面向字节流(流是指流入到进程或从进程流出的字节序列,应用程序和TCP的交互是一次一个数据块(大小不等))
- TCP并不关心应用进程一次把多长的报文发送到TCP的缓存中,而是根据对方给出的窗口值和当前网络的拥塞成都来决定一个报文段应包含多少个字节
- TCP连接额端点叫做套接字或插口,端口到拼接到IP地址后即构成了套接字(socket)
5.4 可靠传输的工作原理
-
当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告诉发送方适当降低发送数据的速度
-
停止等待协议
- 发送方只要超过一段时间没有收到接收方的确认,就认为刚才发送的分组丢失了
- 发送方必须暂时保留已发送的分组的副本
- 分组和确认分组都必须进行编号
- 超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些
- 停止等待协议的优点是简单,缺点是信道利用率太低
-
连续ARQ协议
- 接收方一般都是采用累积确认的方式,并对按序到达的最后一个分组发送确认
- 优点是容易实现,即使确认丢失也不必重传。缺点是不能向发送方反应出接收方已经正确收到的所有分组的信息(回退N)
5.5 TCP报文段的首部格式
5.6 TCP可靠传输的实现
-
滑动窗口
-
TCP的滑动窗口都是以字节为单位的
-
发送窗口
- 发送窗口表示:在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去
- A的发送窗口一定不能超过B的接受窗口数值,发送方的发送窗口还要受到当时网络拥塞程度的限制
- 发送窗口不能撤销已收到的确认,因此后延不可能向后移动,同时TCP强烈不赞成发送窗口向后收缩,这样会导致已发送的数据和窗口缩小后不循序发送的数据产生冲突。
- 发送窗口在经过一段时间后(由超时器控制)就重传这部分数据,重新设置超时计时器,直到收到B的确认为止
-
接收窗口
- 接收窗口只对按序收到的数据中的最高序号给出确认
-
缓存空间
-
缓存空间和序号空间都是有限的,并且都是循环使用的
-
发送缓存
- 已被确认的数据应当从发送缓存中删除
- 发送应用程序必须控制写入缓存的速率,不能太快,否则发送缓存就会没有存放数据的空间
-
接收缓存
-
-
-
超时重传时间的选择
-
选择确认SACK
5.7 TCP的流量控制
5.8 TCP的拥塞控制
- 在某段时间内,若网络中的某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。
- 拥塞控制与流量控制
- 拥塞控制防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载,是一个全局性的过程
- 流量控制往往是指点对点通信量的控制,是端到端的问题
- TCP的拥塞控制方法
- TCP进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复