计算机网络复习笔记整理
概述
电路交换:
电路交换通常要进行三个必要步骤:建立连接、通话、连接释放。对端到端通信质量具有可靠保障。整个报文的比特流连续的从源点直达终点,好像是在一条管道中传输。对于传送大量,且传送时间远大于连接建立时间的数据具有较快的传输速率。
报文交换:
整个报文先存储到相邻结点,全部存储完毕后再查找转发表,转发给下一个结点。对于传输突发数据能够较好的提高网络信道利用率。
分组交换:
单个分组传输到相邻结点,存储下来后查找转发表,然后蒋分组转发。高效,灵活,迅速,可靠,比报文交换时延小。
计算机网络的分类:
按作用范围分:广域网(WAN) 城域网(MAN) 局域网(LAN) 个人区域网(PAN)
按使用者分:公用网 专用网
计算机网络性能:
速率:连接在网络上的主机在数字信道上的传输数据速率。比特每秒(bps)
带宽:
①某个信号的频带宽度(HZ)
②计算机网络中指通信线路中传输数据的能力,通常表示最高数据率。比特每秒(bps)
吞吐量:
单位时间内通过某个网络的数据量。
时延:
发送时延:发送数据帧所需的时间=数据帧长度(b)/信道带宽(b/s)
传播时延:电磁波在信道中传输一段距离所花费的十几件=信道长度(m)/电磁波在信 道上的传播速率(m/s)
处理时延 排队时延
时延带宽积:传播时延X带宽
例如,链路传播时延为10ms,带宽为10Mb/s,则时延带宽积 =10*10^-3*10*10^6=1*10^5bit,表示发送端连续发送数据,当第一个比特即将到达终点 时,发送端已经发送了10^5个比特,这10^5个比特正在链路上向前移动。
往返时间RTT 利用率
计算机网络的体系结构:
综合OSI 和TCP/IP 的优点,采用一种原理体系结构。各层的主要功能:
物理层 物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞
线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。) 物理层还要确定连接电缆插头的定义及连接法。
数据链路层 数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。
网络层 网络层的任务就是要选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。
运输层 运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。
应用层 应用层直接为用户的应用进程提供服务。
例:试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)
线路交换时延:kd(传播时延)+x/b(发送时延)+s, 分组交换时延:kd(传播时延)+(x/p)*(p/b)(发送时延)+ (k-1)*(p/b)(储存转发延迟)
其中(k-1)*(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。
例:收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×10^8m/s。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为10^7bit,数据发送速率为100kb/s。
(2) 数据长度为10^3bit,数据发送速率为1Gb/s。
从上面的计算中可以得到什么样的结论?
(1)发送时延:ts=10^7/10^5=100s
传播时延tp=10^6/(2×10^8)=0.005s
(2)发送时延ts =10^3/10^9=1µs
传播时延:tp=10^6/(2×10^8)=0.005s
结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
例: 假设信号在媒体上的传播速度为2×10^8m/s.媒体长度L为10cm(网络接口卡)试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数(时延带宽积)。
1Mb/s:传播时延=0.1/(2×10^8)=5×10^-10
比特数=5×10-^10×1×10^6=5×10^-4
1Gb/s: 比特数=5×10^-10×1×10^9=5×10^-1
例:网络协议的三个要素是什么?各有什么含义?
网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:
(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。
物理层
基本概念:
物理层的基本特性:电气特性、机械特性、功能特性、过程特性
通信方式的基本方式:单向通信(无线电广播,有线电广播,电视广播等)
半双工通信:通 信双方交替发送数据(对讲机)
全双工通信:通信双方可同时发送和接收数据
来自信源的信号叫做基带信号,基带信号具有较多的低频分量或直流分量,许多信道不能传输,因此需要进行调制。调制的方法有两种,一种是基带调制即对基带信号波形进行调制,变换后的信号仍然是基带信号,另一种是带通调制即通过载波进行调制,变换后的信号是带通信号。最基本的带通调制方法有,调频(AM)条幅(FM)调相(PM)。
奈氏准则:
在任何信道内,码元传输速率是有上限的,传输速率若超过此上限,就会出现严重的码 间串扰问题,使接收端对码元的判别称为不可能。指出码元的传输速率是有上限的。
信噪比:
信号的平均功率与噪声的平均功率之比,记为S/N,用分贝(dB)作为度量。
信噪比(dB0)=10log10(S/N)
例如当S/N=10时,信噪比是10dB,当S/N=1000时,信噪比是30dB。
香农公式:
指出了信道的极限传输速率
C=Wlog2(1+S/N)
W为信道的带宽(HZ为单位),S为信号的平均功率,N为高斯噪声功率。
其意义在于只要使信息的传输速率低于信道的极限信息传输速率,就一定能够找到某种 办法来实现无差错传输。
例:数据在信道重的传输速率受哪些因素的限制?信噪比能否任意提高?香农公式在数据通信中的意义是什么?“比特/每秒”和“码元/每秒”有何区别?
码元传输速率受奈氏准则的限制,信息传输速率受香农公式的限制
香农公式在数据通信中的意义是:只要信息传输速率低于信道的极限传信率,就可实现无差传输。
比特/s是信息传输速率的单位
码元传输速率也称为调制速率、波形速率或符号速率。一个码元不一定对应于一个比特。
传输媒体:
传输媒体包括导向传输媒体和非导向传输媒体,导向传输媒体包括双绞线,同轴电缆,光缆。
信道的复用:
频分复用,时分复用,统计时分复用,波分复用,码分复用。
码分复用(CDMA):
任何一个码片向量和该码片的向量的规格化内积值是-1,当S站发送比特1时,在X站 计算内积的结果是+1,当S站发送比特0时,内积的结果是-1。
例:共有4个站进行码分多址通信。4个站的码片序列为
A:(-1-1-1+1+1-1+1+1) B:(-1-1+1-1+1+1+1-1)
C:(-1+1-1+1+1+1-1-1) D:(-1+1-1-1-1-1+1-1)
现收到这样的码片序列S:(-1+1-3+1-1-3+1+1)。问哪个站发送数据了?发送数据的站发送的是0还是1?
S·A=(+1-1+3+1-1+3+1+1)/8=1, A发送1
S·B=(+1-1-3-1-1-3+1-1)/8=-1, B发送0
S·C=(+1+1+3+1-1-3-1-1)/8=0, C无发送
S·D=(+1+1+3-1+1+3+1-1)/8=1, D发送1
数据链路层
基本概念:
链路:从一个结点到相邻结点的一段物理线路。
数据链路:链路+实现通信协议的硬件和软件(常用网络适配器来实现这些这些协议的硬件和软件)。
适配器(网卡)的作用:①进行数据的串行与并行转换
②进行数据的缓存
③实现以太网协议
帧:数据链路层的协议数据单元,数据链路层把网络层交下来的数据构成帧发送到链路上, 以及把帧中的数据取出并上交给网络层。
数据链路层所需解决的三个基本问题:封装成帧,透明传输,差错检测
封装成帧:
在数据的前后分别添加首部和尾部,使其形成帧,首部和尾部起到帧定界的功能(可检查收到的帧是否完整),数据部分的长度有上限不能超过最大传送单元MTU。
若数据是可打印的文本时(采用ASCII码组成),帧定界可用特殊帧定界符,SOH、EOH所对应的16进制编码分别是01和04。
透明传输:
为了避免数据部分和尾部首部出现相同编码产生歧义,要使用透明传输。
当传送的帧是用文本文件组成的帧时,能够实现透明传输,当数据部分是非ASCII码的文本文件时,可将数据部分中出现的定界符前加上一个转义字符ESC,就可避免这个问题。
差错检测:
使用CRC循环检验技术,结果若余数为0,则判定这个帧没错,就接受,若余数不为0,则判定这个帧有错,就丢弃。
CRC差错检测技术只能做到对帧的无差错接受,对于帧丢失,帧重复,帧失序无法检测,所以无法做到可靠传输(发送方发送什么,接收方就接收什么)。
例: 要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?若数据在传输过程中最后两个1都变成了0,问接收端能否发现?采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?
CRC生成多项式,用二进制表示为P=10011,除数是5位,所以在数据后面要添加4个0,得出被除数。
所以在数据后面的检验序列位1110。
当数据在传输国过程中最后一个1变成了0,即1101011010。然后把检验序列1110接在1101011010后面,再进行CRC检验。
余数不为零,因此判定接收数据有错。
点对点协议PPP
PPP协议的三个组成部分:
①一个将IP数据报封装到串行链路的方法。
②用来建立、配置和测试数据链路连接的链路控制协议LCP。
③一套网络控制协议NCP。
PPP帧的格式
当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报,若为 0xC021, 则信息字段是 PPP 链路控制数据,若为 0x8021,则表示这是网络控制数据。
PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
地址字段 A 只置为 0xFF。地址字段实际上并不起作用,控制字段 C 通常置为 0x03 FCS为使用CRC的帧检验序列
PPP帧的透明传输问题
异步传输采用字节填充,为了避免信息字段出现和标志字段一样的比特(7E)组合,而采取的一种填充方式。
发送端:①将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
②若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。
③若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前 面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
同步传输时传输的是比特流应采用零比特填充。当信息字段中出现了和标志字段 F 完全一样的 8 比特组合(0 1 1 1 1 1 1 0)会被误认为是标志字段 F ,发送端在 5 个连 1 之后填入 0 比特再发送出去(0 1 1 1 1 1 0 1 0),在接收端把 5 个连 1之后的 0 比特删除。
例: 一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?
7D 5E FE 27 7D 5D 7D 5D 65 7D 5E
7E FE 27 7D 7D 65 7E
PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?
011011111 11111 00
011011111011111000
0001110111110111110110
000111011111 11111 110
局域网的拓扑结构:
解决共享信道时用户冲突的方法:
①静态划分信道,使用频分复用、时分复用、波分复用和码分复用等方法,代价高,不适合局域网使用。
②动态媒体接入控制,包括随机接入和受控接入。
实现以太网应采用的重要措施:
①无连接工作方式(事先可以无连接,可直接发送数据)。
②发送的数据帧不编号,也不要求对方确认。
所以以太网提供的服务是不可靠的交付,差错纠正由高层决定。
CSMA/CD协议(多点接入,载波监听,碰撞检测):
争用期:
通信双方使用的是半双工通信,电磁波在1km电缆的传播时延约为5μs,A向B发出的数据,在约5μs后才能传送到B,若B在A发送的数据到来之前发送自己的帧,就会与A发送的数据产生碰撞。局域网中,单程端到端传播的时延为τ,最先发送的数据帧的站在发送过自己的帧后最多经过2τ(争用期/碰撞窗口),就可知道发送的帧是否遭受碰撞。
最短有效帧长:
对于10Mb/s以太网,争用期取51.2μs,争用期内可发送512bit(64字节)。将64字节定为最短有效帧长。
例: 假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速为200000km/s。求能够使用此协议的最短帧长。
对于1km电缆,单程传播时间为1/200000=5为微秒,来回路程传播时间为10微秒,为了能够按照CSMA/CD工作,最小帧的发射时间不能小于10微秒,以Gb/s速率工作,10微秒可以发送的比特数等于10*10^-6/1*10^-9=10000,因此,最短帧是10000位或1250字节长。
退避算法:
发生碰撞的站停发数据等信道空闲后,再推迟一端随机时间再发生数据,将争用期取2τ,k表示重传次数,k=MIN[重传次数,10],从整数集合[0,1,2,3,……(2^k-1)]中随机取一个数记为r,重传所需的时延就是r倍的退避时间。
若重传16此仍不能成功,就丢弃该帧并向高层报告。
例:第1次重传时k=1,随机数r从整数{0,1}选一个数,对应的重传推迟时间为0或2τ。第2次重传时k=2,随机数r从{0,1,2,3}选一个数,应的重传推迟时间为0,2τ,4τ,6τ。
例: 假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?
对于10mb/s的以太网,以太网把争用期定为51.2微秒,要退后100个争用期,等待时间是51.2(微秒)*100=5.12ms
对于100mb/s的以太网,以太网把争用期定为5.12微秒,要退后100个争用期,等待时间是5.12(微秒)*100=512微秒
以太网信道利用率:
一段长为L(bit)的帧,数据发送速率为c(b/s),则该帧的发送时间为T=L/C。
发送一帧的平均时间=该帧从发送开始+重传数次时间+发送成功且信道转为空的时间。
参数a=τ/T,即单程端到端时延与发送时间的比值。
MAC帧的格式:
类型字段用来标志上一层使用的是什么协议以便把收到的MAC帧的数据上交给上一层的这个协议,数据字段少于46字节时,在其后加上整数字节填充字段,保障以太网MAC帧长度不小于64字节。有效的MAC帧的长度为64至1518字节。
扩展的以太网:
物理层扩展以太网:
a中三个系的以太网互联起来,每个以太网最大吞吐量是10Mb/s,因此三个以太网的最大吞吐量为30Mb/s,b中三个系的以太网通过集线器连接起来,这时的最大吞吐量仍为10Mb/s。如果使用不同的以太网技术,一个系使用10Mb/s的适配器,而另外两个使用100Mb/s的适配器,用集线器连接起来后,大家只能工作在10Mb/s的速率内。
数据链路层扩展以太网:
使用网桥在数据链路层来扩展以太网,网桥具有帧过滤的功能,当网桥受到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将这一帧送到哪个接口。使用网桥的优点是,过滤了通信量,扩大了物理范围,提高了可靠性,可互连不同的物理层,不同MAC子层和不同速率的以太网。缺点是存储转发增大了时延。
网桥与集线器的不同:
集线器在帧转发时,不对传输媒体进行检测。
网桥在转发时必须执行CSMA/CD算法,若在发送过程中产生碰撞,就必须停止转发进行退避。
网桥转发表的建立过程:
①网桥现收到一帧时先进行自学习。查找转发表中与收到帧的源地址有无匹配的项目,若果有就把原项目更新,若无就在转发表中增加一项。
②转发帧。查找转发表中有无与目的地址相匹配的项目,若无则通过其他接口转发,若有则按转发表中给出的接口转发,若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为此时不需经过网桥转发)。
例:有五个站点分别连接在三个局域网上,并且用网桥B1和B2连接起来。每一个网桥都有两个接口(1和2)。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他的站发送了数据帧:A发送给E,C发送给B,D发送给C,B发送给A。试把有关数据填写在表中。
以太网交换机(多接口网桥):
对于普通的10Mb/s的共享式以太网共有N个用户,则每个用户占用的平均带宽只有总带宽的1/N,使用以太网交换机时,虽然每个接口到主机的带宽还是10Mb/s,但由于一个用户在通信时是独占而不是共享带宽,所以对于拥有N对接口的交换机总容量为N*10Mb/s。
例: 有10个站连接到以太网上。试计算一下三种情况下每一个站所能得到的带宽。
(1)10个站都连接到一个10Mb/s以太网集线器;
(2)10个站都连接到一个100Mb/s以太网集线器;
(3)10个站都连接到一个10Mb/s以太网交换机。
(1)10个站都连接到一个10Mb/s以太网集线器:各站共用10mbs
(2)10个站都连接到一个100mb/s以太网集线器:各站共用100mbs
(3)10个站都连接到一个10mb/s以太网交换机:各站独占10mbs
例:网桥的工作原理和特点是什么?网桥与转发器以及以太网交换机有何异同?
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。
网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。转发器工作在物理层,它仅简单地转发信号,没有过滤能力。以太网交换机则为链路层设备,可视为多端口网桥
用交换机实现VLAN划分(虚拟局域网):
结果使相同VLAN和LAN中的计算机能够相互通信。
网络层
基本概念:
网络层提供的两种服务:虚电路服务,数据报服务。
因特网设计思路:网络层向上只提供简单灵活的无连接的最大努力交付的数据报服务。
尽最大努力交付的好处:传输网络不提供端到端可靠服务,可使路由器做的比较简单,使网络造价降低,运行灵活,能适应多种应用。
网络层中与IP协议配套的还有:地址解析协议ARP 网际控制报协议ICMP 网际组管理协议IGMP
不同协议层所需的中间设备:物理层(转发器) 数据链路层(网桥、交换机)
网络层(路由器) 网络层以上(网关)
分类的IP地址:
IP地址定义为{<网络号>,<主机号>}
A、B、C类地址是单播地址,D类地址用于多播,E类地址保留以后使用。
各类IP地址的指派范围:
其中A类地址中,网络字段号全0是个保留地址,意思是本网络,网络号全1即为127(01111111)留作本地回环测试,如果主机发送一个目的地址为回环测试的IP数据报例如127.0.0.1,那么这个数据报只能在本网络内传送,而不能发送到任何网络。主机号中全0表示本主机,全1表示本网络上的所有主机。
B类地址,网络号128.0.0.0不指派,主机号中全0表示本主机,全1表示本网络上的所有主机。
C类地址,网络号192.0.0.0不指派,主机号中全0表示本主机,全1表示本网络上的所有主机。
同一个网络中不同主机或路由器的网络号应相同。
例:试辨认以下IP地址的网络类别。
(1)128.36.199.3 (2)21.12.240.17 (3)183.194.76.253 (4)192.12.69.248
(5)89.3.0.1 (6)200.3.6.2
(2)和(5)是A类,(1)和(3)是B类,(4)和(6)是C类.
IP地址与硬件地址:
IP数据报首部含有源IP与目的IP,而MAC帧首部中含有源地址和目的地址。
IP数据报要经过R1与R2两次转发,但IP数据报首部源IP,目的IP分别为IP1,IP2不变,数据报中间经过的两个路由器的IP不出现在IP数据报的首部中。MAC帧在不网络上传送时,其MAC帧首部中的源地址,目的地址在发生改变。
例:试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。从而把整个因特网看成为一个单一的、抽象的网络,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。
地址解析协议ARP:
主要解决同一局域网上的主机或路由器的IP地址与硬件地址的映射问题(已知IP地址找到相应的硬件地址),这种映射关系存放在ARP高速缓存中,同时为了方便更新映射关系,为高速缓存中每一个映射地址项目都设立一个生存时间。
同一局域网上的ARP:
不同局域网上的ARP:
A发送ARP请求分组(在网1上广播),找到网1上的一个路由器R1的硬件地址,剩下的工作由路由器R1完成。
例:主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?
6次,主机用一次,每个路由器各使用一次。
IP数据报的格式:
首部长度 占4位,最大数值是15,单位是32位字(1个32位字是4字节),故首部长度的最小值是5(5*4=20字节),最大长度是15(15*4=60字节)。当IP数据 报不是4的整数倍时,必须利用填充字段进行填充。
总长度 首部长度+数据报长度,单位是字节,最大为2^16-1=65535字节。
标志 占3位,目前只有两位有意义。最低位记为MF,MF=1表示后面还有分片的数据 报,MF=0表示后面没有分片的数据报,即该数据报是最后一个分片。中间位记为 DF,意思是不能分片,当DF=0时才允许分片。
片偏移 占13位,表示较长的分组在分片后,某片在原分组中的相对位置。片偏移以8 个字节为偏移单位,每个分片长度一定是8字节的整数倍。
例:一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
IP数据报固定首部长度为20字节
原始数据报数据字段长度=4000-20=3980,片偏移字段0, MF标志0
数据报片1数据字段长度=1500-20=1480,片偏移字段0, MF标志1
数据报片2数据字段长度=1500-20=1480,片偏移字段185,MF标志1
数据报片3数据字段长度=1040-20=1020,片偏移字段370,MF标志0
例:一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,即每个IP数据片的数据部分<1200-160(bit),由于片偏移是以8字节即64bit为单位的,所以IP数据片的数据部分最大不超过1024bit,这样3200bit的报文要分4个数据片,所以第二个局域网向上传送的比特数等于(3200+4×160),共3840bit。
首部检验和 占16位,只检验数据报的首部部分,发送方用反码运算把所有的16位字按 位相加后,将得到的和的反码写入检验和字段,接收方同样进行反码运算, 将和取反码结果为0表示无错,否则就将该数据报丢失。
例:
划分子网:
从网络的主机号借用若干位作为子网号将IP地址表示为:
{<网络号>,<子网号>,<主机号>},使用子网掩码来确定网络是否进行了子网划分。
把子网号与IP地址按位相与运算就可以得到子网的网络号。
例如,已知IP地址是141.14.72.24,子网掩码是255.255.192.0,将它们进行按位相与运算:
141.14.0100 1000.24
AND
255.255.1100 0000.0000 0000得网络地址为141.14.0100 0000.0即(141.14.64.0)。
若子网掩码是255.255.224.0,将它们进行按位相与运算:
141.14.0100 1000.24
AND
255.255.1110 0000.0000 0000得网络地址为141.14.0100 0000.0即(141.14.64.0)。
由上可知对于同样的IP地址,使用不同的子网掩码,可以得出相同的网络地址,但表示的意义却不同,前者子网号是2位,主机号是14位,而后者子网号是3位,主机号是13位,所以它们划分的子网数,每个子网的主机数都不同。
例:设某路由器建立了如下路由表:
目的网络 子网掩码 下一跳
128.96.39.0 255.255.255.128 接口m0
128.96.39.128 255.255.255.128 接口m1
128.96.40.0 255.255.255.128 R2
192.4.153.0 255.255.255.192 R3
*(默认) —— R4
现共收到5个分组,其目的地址分别为:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.4.153.17
(5)192.4.153.90
(1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口m0转发。
(2)分组的目的IP地址为:128.96.40.12。
①与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。
②与子网掩码255.255.255.128相与得128.96.40.0,查表可知,该分组经R2转发。
(3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。
(4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。
(5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。
无分类编址CIDR构成超网:
无分类的两级编址,IP地址表示为{<网络前缀>,<主机号>}
为了方便进行路由选择,CIDR使用32位的地址掩码(由一连串的1和0组成,1的个数就是网络前缀的长度),斜线记法中,斜线后面的数字就是地址掩码中1的个数。
划分子网时,应从主机数量多的开始,每个网络对应的主机数,应和需要数大致相等,如果划分的主机数过多会导致不够其他子网的划分。
例:某单位分配到一个B类IP地址,其net-id为129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值
4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。
可给每个地点分配如下子网号码
地点: 子网号(subnet-id) 子网网络号 主机IP的最小值和最大值
1: 00000001 129.250.1.0 129.250.1.1---129.250.1.254
2: 00000010 129.250.2.0 129.250.2.1---129.250.2.254
3: 00000011 129.250.3.0 129.250.3.1---129.250.3.254
4: 00000100 129.250.4.0 129.250.4.1---129.250.4.254
5: 00000101 129.250.5.0 129.250.5.1---129.250.5.254
6: 00000110 129.250.6.0 129.250.6.1---129.250.6.254
7: 00000111 129.250.7.0 129.250.7.1---129.250.7.254
8: 00001000 129.250.8.0 129.250.8.1---129.250.8.254
9: 00001001 129.250.9.0 129.250.9.1---129.250.9.254
10: 00001010 129.250.10.0 129.250.10.1---129.250.10.254
11: 00001011 129.250.11.0 129.250.11.1---129.250.11.254
12: 00001100 129.250.12.0 129.250.12.1---129.250.12.254
13: 00001101 129.250.13.0 129.250.13.1---129.250.13.254
14: 00001110 129.250.14.0 129.250.14.1---129.250.14.254
15: 00001111 129.250.15.0 129.250.15.1---129.250.15.254
16: 00010000 129.250.16.0 129.250.16.1---129.250.16.254
例:一个自治系统有5个局域网,其连接图如图所示。LAN2至LAN5上的主机数分别为:91,150,3和15.该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)。
30.138.118/23--30.138.0111 011
分配网络前缀时应先分配地址数较多的前缀
题目没有说LAN1上有几个主机,但至少需要3个地址给三个路由器用。
本题的解答有很多种,下面给出两种不同的答案:
第一组答案 第二组答案
LAN1 30.138.119.192/29 30.138.118.192/27
LAN2 30.138.119.0/25 30.138.118.0/25
LAN3 30.138.118.0/24 30.138.119.0/24
LAN4 30.138.119.200/29 30.138.118.224/27
LAN5 30.138.119.128/26 30.138.118.128/27
因特网的路由选择协议:
内部网关协议IGP(在一个自治系统内部使用的路由选择协议,与其他自治系统无关)包括:RIP协议(适用于小规模网络),OSPF协议。
外部网关协议(源主机,目的主机不在自治系统中,数据报传到一个自治系统边界时,需要一种协议将路由选择信息传到另一个自治系统中)BGP协议。
RIP协议:
RIP协议允许一条路径最多只能包含15个路由器,因此距离等于16的相当于不可达,所以RIP协议只使用与较小的网络。
RIP协议不能在两个网络之间同时使用多个路由,RIP选择一条具有最少路由器的路由(最短路由),哪怕还存在一条高速,低时延但路由器较多的路由。
RIP协议的特点:①仅和相邻路由器交换信息。
②交换的是自己的整个路由表。
③按固定时间交换路由信息。
RIP协议使用运输层的用户数据报协议UDP进行传送。
RIP协议的缺点是(好消息传送的块,坏消息传送的慢)当网络出现故障时,要经过很长一段时间菜鸟将信息传送到所有网络。
距离向量算法:
例:
更新后的B路由表:
N1 7 A 无新信息,不改变
N2 5 C 相同的下一跳,更新
N3 9 C 新的项目,添加进来
N6 5 C 不同的下一跳,距离更短,更新
N8 4 E 不同的下一跳,距离一样,不改变
N9 4 F 不同的下一跳,距离更大,不改变
步骤:①先把发送方内的路由距离都加1,并把下一条路由器都该位发送方。
②逐行比较,若目的网络相同,无论距离变大还是变小都要改写位最新的,若目的网络 不同,更新成最短的。
OSPF协议(开放最短路由优先):
使用分布式链路状态协议。
主要特征:①向本自治系统内的所有路由器发送信息。
②发送的信息是本路由器相邻的所有路由器的链路状态。
③当链路状态发送改变时,路由器才向所有路由器用洪泛法来发送此信息。
外部网关协议BGP:
一条路径通过不同的自治系统(AS)时,在AS之间交换可达信息。
BGP只是力求能到达目的网络且较好的路由而非一条最佳路由。
每个自治系统至少要选择一个路由器作为该自治系统的发言人(可以是边界路由,也可以不是)。
几个BGP发言人交换信息时,要建立TCP连接(提供可靠服务)。
虚拟专用网VPN,网络地址转换NAT:
二条专用地址智能用作本地地址而不能用作全球地址,因特网中的所有路由器对目的地址是专用地址的数据报一律不转发。
10.0.0.0……10.255.255.255(10.0.0.0/8)
172.16.0.0……172.31.255.255(172.16.0.0/12)
192.168.0.0……192.168.255.255(192.168.0.0/16)
在专用网连接到因特网上的路由器上安装NAT软件,它应至少有一个有效的外部全球IP地址,所有使用本地地址的主机在和外部通信时,都要在NAT路由器上将本地地址转换成全球IP地址才能与因特网连接。
运输层
基本概念:
两个主机进行通信的实质是两个主机的应用进程的互相通信,网络层是为主机之间提供逻辑通信,而运输层为应用进程提供端到端的逻辑通信。
发送方不同应用进程需要向下传递给运输层,运输层需要具备复用功能,接收方运输层需将不同应用进程分离上交给应用层,运输层需具备分用功能。
运输层的端口:
为了实现复用和分用,应用层的每个应用进程需有一个明确的标志,计算机操作系统中所用的进程标志符不可用(网络上有很多的操作系统),解决方法是使用运输层协议端口号。
协议栈层间的抽象的协议端口是软件端口(不同于硬件端口),是各种应用进程与运输实体进行层间交换的一种地址。
TCP/IP运输层用一个16位的端口号来标识一个端口,端口号只具备本地意义,在因特网不同计算机中,相同端口号是无关联的。
端口号包括服务器端使用的端口号(0……49151)和客户端使用的端口号(49152……65535),其中服务器端使用的端口号又包含熟知端口号(0……1023)和登记端口号(1024……49151)。
用户数据报协议UDP:
UDP在IP数据报服务的基础上增加了复用,分用和差错检测功能。
UDP的主要特点:①UDP是无连接的,传送之前无需建立连接。
②使用最大努力交付,不保证可靠交付
③UDP是面向报文的,发送方UDP对应用层交下来的报文,添上首部后就下交给IP层,对下交的报文既不合并也不拆分,保留边界一次交付一个完整的报文。
④UDP没有拥塞控制,网络拥塞不影响源主机的发送速率。在IP电话,实时视频会议应用,允许拥塞时丢失一些数据,但不能有太大的时延。
⑤UDP支持一对一,一对多,多对一,多对多的交互通信。
⑥UDP首部开销少,只需8个字节。
UDP首部格式:
长度 UDP用户数据报的长度,最小值为8(仅首部)。
检验和 检验时需加上12个字节的伪首部,是把首部和数据部分一起检验。
传输控制协议TCP:
主要解决可靠传输,流量控制,拥塞控制问题。
TCP主要特点:①TCP是面向连接的运输层协议,传送前要建立连接,传送后要释放连接。
②每一条TCP连接只能有两个端点,每条TCP连接只能是点对点的。
③TCP提供可靠交付服务。
④TCP提供全双关服务,两端并设立接收缓存和发送缓存。
⑤面向字节流,可控制发送字节流的大小。
TCP连接的两个端点,不是IP地址,不是应用进程,也不是运输层的协议端口,而是套接字socket,每一条TCP连接唯一地被通信两端的两个端点(套接字)确定,TCP连接可表示为{socket1,socket2}={(IP1:port1),(IP2:port2)}其中port为端口号。
TCP协议复杂,复习时参考书本。