计算机网络网络层

网络层

    • 可靠传输
    • IP协议
    • 发送方式
    • IP地址
    • IP地址和硬件地址之间的区别
    • 地址解析协议ARP
    • IP数据报
    • IP数据报的传输流程
    • 划分子网
    • 构造超网
    • 网际控制报文协议ICMP
    • 路由选择协议
    • 内部网关协议RIP(适用于小的网络)
    • 内部网关协议OSPF
    • 外部网关协议BGP

 首先讨论可靠传输究竟靠的是网络还是端系统(用户,主机),明白可靠传输靠的是网络的原因。又因为每个网络的多方面存在差异,要想实现互联的话,就必须遵守一个统一的IP协议,即网络互联的方式,讨论完IP协议后明白数据是以IP数据报的形式在网络中传输的,那么从源站点传输到目的站点之间的发送方式就尤为重要,要想实现传输,就必须知道目的站点的地址–IP地址,对IP地址的格式和组成介绍完后就要了解IP地址和硬件地址的区别,两者之间如何转换IP数据报作为传输的数据单元,我们也要了解它的格式和组成。讨论完传输的方式和传输的单元,自然需要了解的是传输流程。由IP地址划分存在的问题并提出解决问题的方式划为两种方式:划分子网和构造超网。了解了传输单位和传输的方式,不得不考虑到有效转发IP数据报,这就需要有网际控制报文协议ICMP。那么数据报在互联网中是如何选择路由器来传输到目的主机的呢?这就会用到路由选择协议中的内部网关协议RIP和OSPF以及外部网关协议BGP,讨论完路由选择后,还应该了解路由器的构成

可靠传输

 现代可靠传输靠的是网络,在以往的可靠传输中,运用的都是面向连接的,即端到端。以往两台计算机在通信的时候,先建立连接,然后进行通信,之后再释放连接,使用这样的连接方式好处就是可以实现传输信息的无差错。但是缺点也很明显,就是建立通信网络的成本太高,不适合应用。现代计算机采用的是一种无连接的通信方式,即两台计算在通信的时候,发送方分组的发送数据报,不保证数据报的准确和无误,只负责发送,在网络层的体现就是:网络层向上只提供简单灵活的,无连接的,尽最大啊努力交付的数据报服务。这样的连接方式成本低,应用性广,易于实现。

IP协议

 为了让更多的网络连接起来成为一个大的虚拟互连网络,首要解决的问题就是各个网络之间的差异问题,应为各个网络之间存在寻址方式,超时控制等的差异,所以就要设计一个共同遵守的规则–IP协议。
 网际协议IP是TCP/IP协议中最主要的协议之一,与之配套的三个协议为地址解析协议ARP,网际控制报文协议ICMP,网际组管理协议IGMP,ARP将会在IP地址和硬件地址之间的转化中涉及到并进行讲解。

发送方式

 虚拟互连网络是由多个网络连接而成的,连接每个网络的机器就是路由器,每个路由器都有它所连接网络的路由表。连接在虚拟互联网络中的两台主机互相通信,我们知道,数据传输的方式是存储转发,发送方要检查自己的路由表,查看目的主机是否在本网络上,如果在的话,就直接交付,如果不在自己的路由表上,就应该把IP数据报发送的对应的目的主机所在的网络连接的路由器上进行间接交付。

IP地址

 在一个庞大的互联网中有很多主机,要想实现任意两台主机的互相通信,在发送主机向目的主机发送数据时,就应该知道目的主机的IP地址,主机的IP地址就是这台主机在互联网上的标识符。IP地址的编码方式有三种,分类的IP地址,另外两个就是为了解决第一个编码地址所留问题的划分子网和构造超网。首先介绍第一种IP编码方式,分类的IP地址。
 分类的IP地址是由两个部分所组成的,分别为网络号和主机号。网络号是唯一的,唯一的指明一个网络,主机号部位一,但是在单个网络中的主机号唯一。这样以网络号和主机号两部分组成的IP地址因为两部分的长短不一而被分为ABCDE五类地址。IP地址的长度为32位。

A类地址:
网络号8位,主机号24位,第一位为0
 A类地址的网络号有八位,但可供支配的只有7位,因为第一个数字为0,可以指派的网络号数目为126个,即2的8次方-2,减二的原因是存在00000000和01111111的现象,第一个代表的意思是“本网络”,第二个代表的意思是“环回测试”。同样,A类地址单个网络可指派的主机数目为16777214,即为2的24次方-2,存在全0和全1的情况,前者代表当前主机所在网络的网络号,后者与之前代表的意思相同。

B类地址:
网络号16位,主机号16位,前两位为10
 因为B类主机的前两位位1和0,所以就不可能出现网络号是全1和全0的情况,但是通常情况下128.0.0.0是不会指派主机的,最小指派的网络地址为128.1.0.0,所以网络号的范围为2的14次方-1,即16383,但是主机号就要考虑到全1和全0的情况,范围为2的16次方-2,即为65534。

C类地址:
网络号24位,主机号8位,前三位为110
 同样,C类地址的192.0.0.0也是不指派主机的,最小指派的网络地址为192.0.1.0,可指派的网络总数为2的21次方-1即2097151,一个网络号能指派的主机数目为2的8次方-2.

D类地址:
适用于多播即一对多通信,前四位为1110
E类地址:
留着以后使用,前四位为1111

 我们知道,一台主机的IP地址就是这台主机在网络上的标识,互联网是由多个网络组成的,网络之间由路由器相连,一台主机只有一个IP地址,但是一个路由器可能有多个网络号的IP地址,如图所示:
计算机网络网络层_第1张图片

IP地址和硬件地址之间的区别

 数据在网络层是以IP数据报的形式传输,在数据链路层是以MAC帧的形式传输,想要传输到目的地,就要有目的地址,在网络层使用的目的地址就是IP地址,而在数据链路层使用的就是硬件地址。那么数据在不同层次之间的转换是如何的呢?这就需要牵扯到两者之间的转换协议–地址解析协议ARP。

地址解析协议ARP

 网络层把IP数据报传输到数据链路层后,需要把其中首部的IP地址转换为硬件地址加到MAC帧的首部中,供下层传输使用,为了规范这个转换的过程,就用到地址解析协议ARP。
 ARP协议能把IP地址转换为硬件地址的方法是在主机的ARP高速缓冲中存放着一个随时更行的IP地址和硬件地址的映射表。
 我们可以简单的把主机(路由器是一种特殊的主机)之间的通信分为四种情况:连接在同一个网络上的两台主机相互通信;连接在不同网络上的主机之间相互通信;路由器向与它相连的网络上的主机发送数据;路由器向与它不相连的网络上的主机发送数据。
第一种情况:
 当主机向连接在本网络上的主机发送数据的时候,会首先检查目的主机的IP地址中网络号是本网络号,如果是的,就会查找主机中ARP高速缓冲中查找对应的硬件地址放到MAC帧中的首部当中去。再把MAC帧发送到目的主机中。(这种情况就会出现一种情况:如果目的主机刚刚加入本网络的话,源主机的ARP高速缓冲中没有及时的加入这对映射,就会判断错误)。
第二种情况:
 查找到与目的主机相连的网落相连的路由器的硬件地址,把MAC帧发送到该路由器上,接下来的过程与第一种情况相似。
第三种情况:
 与第一种情况相似。
第四种情况:
 与第二种情况相似。
接下来讨论第一种情况下存在的问题以及解决办法:
 因为目的主机刚刚接入局域网,源主机中的ARP高速缓冲没有这个地址映射,就没法完成传送,为了解决这个问题,源主机就会向该局域网上发送一个ARP请求分组,内容包括源主机的硬件地址和请求主机的硬件地址,内容只有具有目的主机的硬件地址的才能接收,其他的主机发现与它们的,目的主机不想同,就会拒绝接收,当目的主机接收到这个请求后,就会向源主机发送一条ARP响应分组,这条信息的内容只能被源主机接收,里面写着目的主机的硬件地址和IP地址,源主机接收到ARP响应分组后就会在它的主机上的ARP高速缓冲中的地址映射上加上这对地址映射。

IP数据报

IP数据报不等于IP地址!前者为传输的单位,后者为地址。
IP数据报的基本格式如下:
计算机网络网络层_第2张图片

IP数据报的传输流程

 IP数据报的传输流程与上面地址解析协议ARP中四种情况相似,步骤如下:
第一步:从数据报中的首部提取出来IP地址,IP地址是由两部分组成,为网络号和主机号,分别提取出来。
第二步:判断网络号是否与源主机连接的网络号相同,若相同,根据其主机号直接通过局域网发送到目的主机,若不相同,执行第三步。
第三步:判断连接本网络上的路由器的路由表中是否有连接在目的主机所在网络上的路由器的IP地址,如果有,转发到连接在目的主机网络上的路由器上,再由路由器发送到目的主机。否则执行第四步。
第四步:若连接在本网络上的路由器中的路由表有目的主机所在网络的IP地址,则通过路由器发送到目的网络上的目的主机。否则执行第五步。
第五步:查询本网络上路由器的默认路由,发送到路由表中的默认路由的路由器上。

划分子网

 前面学习的分类的IP地址有两个问题,就是IP地址的利用率和灵活性不高和IP地址数目将面临枯竭。划分子网的技术就是为了解决IP地址的利用率不高问题的。
 当使用分类的IP地址的时候,只是单纯的两级IP地址,当一个单位分到一个网络号但是此单位使用的主机数目远小于此网络号可指派的主机数目,此时就会造成IP地址的浪费,利用率变低;若一个单位要在其他地方申请一个新的网络,但是新增加的网络无法连接到互联网上面,这样就造成了时间的浪费,灵活性不高。为了解决这些问题,就提出了划分子网的技术,把已经连接在互联网上的网络划分为若干子网。在外面看来,网络还是一个整体的网络,在内部看来已经被划分了几个部分。因此可以把IP地址从一开始的两部分划分为三部分:网络号,子网号,主机号。其实划分子网的技术只是把此网络号的主机地址再次划分。那么如何看出划分子网的呢?这就牵扯到一个新的概念–子网掩码。

子网掩码:要想得到一个主机所处的子网号,假设网络IP地址为145.13.3.10,要想的到它的子网的网络地址,就可以用IP地址和三级子网掩码每位相与,最后的出来的145.13.3.0就是子网的网络地址。子网的划分可以有效的划分主机号。
A类地址的子网掩码255.0.0.0
B类地址的子网掩码255.255.2.2
C类地址的子网掩码255.255.255.0

在划分子网的情况下,路由器转发分子的过程为:
(1)从收到的数据报的首部提取IP地址。
(2)然后用对应的连接在路由器上的网络的IP地址与子网掩码相与,拿最后得到的结果与目的网络号相比对,如果能相匹配的话,就发送出去,如果不相匹配那么执行第三步,间接交付。
(3)若路由表中有目的地址的特定主机路由,再把数据报发送给下一跳路由器。
(4)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器。

构造超网

 分类的IP地址已经在一定程度上缓解了IP地址的缺陷,但是到现在为止,ABC类的地址仍然被分配殆尽。为了搜寻更多的IP地址,引入了构造超网的技术,如果说划分子网的技术就是对主机号的再次划分,那么构造超网技术就是让IP地址更加灵活,以往的IP地址分为网络号和主机号,划分子网的IP地址分为网络号,子网号和主机号,构造超网的IP地址分为网络前缀和主机号,网络前缀的长度是动态的,从而导致,主机号的长度也是动态的,这样不仅让网络和主机的划分更加灵活,而且大大扩展了IP地址容量。

例如:构造超网后的网络地址为192.199.170.82/27,不仅代表IP地址为192.199.170.82,27代表的是网络前缀,剩余的5位是主机号,网络前缀越短,其主机号的范围就越多,反之,越少。

网际控制报文协议ICMP

计算机网络网络层_第3张图片
计算机网络网络层_第4张图片

 为了提高IP数据报转发和交付成功率,就会使用网际控制报文协议ICMP,在网际层ICMP装在IP数据报中的数据部分成为ICMP数据报,加上数据报的首部组成IP数据报发送。但无法保证可靠传输,只是经可能提高成功率。
 为了使传输的可靠性提高,ICMP报文的分类一共有两种,第一种为差错报告报文,第二种为询问报文,这两种报文针对IP数据报在传输的过程中发生的差错进行了处理。

差错报告报文:
 差错报告报文分为终点不可达,时间超过,参数问题,改变路由这四项,对应类型的值为3,11,12,5。终点不可达意为源主机(路由器)无法向目的主机发送数据报;时间超过意为若目的主机接收到数据报的时间超过了数据报的生存时间或者事先预定好的时间,那么就会丢弃数据报,同时相目的主机发送时间超过报文;参数问题意为主机收到的首部中有的字段的值不正确,向目的主机发送参数问题报文,改变路由意为当前路由发送改变路由报文给主机,让其改变下次发送的路由器。
询问报文:
  询问报文分为回送请求或回答和时间戳请求或回答,前者意为如果目的主机收到了数据报,必须给源主机或路由发送回送报文代表已经收到报文,后者内容为从1900年1月1日起到当前时刻一共有多少秒。

路由选择协议

 网络之间是通过多个路由器来连接的,从一个路由器向其他的路由器发送数据有许多路径,如果一个路径上的一个路由器出现故障,那么路由器就会根据路由选择协议来寻找新的路径。路由选择协议会根据网络中的拓扑结构变化来构造新的最佳路径。
路由选择协议:
(1)内部网关协议RIP
(2)内部网关协议OSPF
(3)外部网关协议BGP
  这些网关协议只是根据不同的标准来选择最佳的路径

内部网关协议RIP(适用于小的网络)

 我们都知道,互联网是由一个个的网络互连而成的,每一个网络就是一个自治系统。由于互联网的规模巨大,导致在互联网中的任意两台机器之间通信的话有可能要跨越多个网络,这就使得负责连接网络的路由器中的路由表非常巨大,不利于发送,同时一些公司的不愿意外部了解到它的内部网络结构,这些种种原因,让我们不得不把一个网络化为一个单个的自治系统。自治系统之间主机之间通信使用的协议就称为内部网关协议,在自治系统之间通信就称为外部网关协议。一般来说,我们把一个ISP就称为一个自治系统。
 我们规定路由器向与其直接相连的网路的距离为1,到其他网络上的距离为其中经过的路由器数目+1。RIP协议就会选取一个最短的路由在两个网络之间。
 RIP协议的特点:只会和与它相连的路由之间交互信息,交互的信息为本路由到其他网络的距离最短为多少,其中经过的路由器为什么。在路由器开始工作期间,它的路由表时空的,首先,它会把与自己相连的网络记入路由表,接着会和本路由器相连的路由器交换信息,经过多次交换和更新,最后就得到本路由器到达本自治系统上任何网络的最短距离。那么路由表的交换原则是什么,这就牵扯到RIP使用的距离向量算法。

距离向量算法:
相邻路由器之间交换的RIP报文信息为三个部分:
 到达目的网络net,距离为d,下一个路由器的地址为X(d最大值为16,再大就不可到达,d为16的两种情况:1.距离真的超过了16 2.两个路由器之间的一个路由器出现故障)
路由器对每一个与其相邻的路由器发来的PIR数据报的操作:
1.对发送过来的所有项目距离加1。
2.对发送过来的所有项目的下一路由器的地址改为本路由器地址。
3.若接收路由器的路由表中的目的网络没有发送过来的项目中的目的网络,则加入,否则,若距离小于原来路由表中的距离,删除原来路由表中项目,用发送过来经过修改的项目替换。(书中P156业题目)

内部网关协议OSPF

 OSPF使用Dijkstra的最短路径算法SPF,实际上就是谁的带宽高,就用谁的路径,覆盖的网络范围大,OSPF将一个自治系统再划分为若干更小额范围,叫做区域,每个区域内部自己交换信息,各个区域之间互相交换信息,这里的信息不是指的时整个路由表,而是指的发生变化的信息。

外部网关协议BGP

 自治域之间交换信息。

你可能感兴趣的:(网络,网络协议,http,计算机网络)