计算机网络——自顶向下方法之网络层

概述

在网络中的每一台主机和路由器中都有一个网络层部分。

构造网络分组由两种方法——数据报模式和虚电路模式。

转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。路由选择涉及一个网络的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的地节点所采用的路径。

路由器的主要作用就是将数据报从入链路转发到出链路。

每台路由器具有一张转发表。路由器通过检查到达分组首部字段的值来转发分组,然后使用该值在路由器的转发表中索引查询。存储在转发表项中的该首部的值指出该分组将被转发的路由器输出链路接口。分组首部的值可能是该分组的目的地址或该分组所属的连接指示。

路由选择算法决定了插入路由器的转发表中的值。路由选择算法可能是集中式的也可能是分布式的。

某些分组交换机称为链路层交换机,基于链路层字段中的值左转发决定。其它分组交换机称为路由器,基于网络层字段中的值做转发决定。

因特网的网络层提供尽力而为服务

虚电路和数据报网络

网络层可以在两台主机之间提供无连接服务或连接服务。

目前所有网络层不同时提供两种不同服务,在网络层提供连接服务被称为虚电路(VC)网络,在网络层提供无连接服务的计算机网络称为数据报网络。

运输层面向连接服务是在位于网络边缘的端系统中实现的,网络层连接服务除了在端系统中,还在位于网络核心的路由器中实现。

属于一条虚电路的分组将在首部携带一个VC号,因为一条虚电路在每条链路上可能具有不同的VC号,每台中间路由器必须用一个新的VC号来替代每个传输分组的VC号。新VC号从转发表获得。

无论何时跨越一台路由器创建一条新的虚电路,转发表就增加了一个新表项。类似地,无论何时终止一条虚电路,沿着该途径每个表中的相应项将被删除。

在虚电路玩咯中,该网络的路由器必须未进行中的连接维持连接状态信息。每当跨越一台路由器创建一个新链接,必须在该路由器的转发表中增加一个新的连接项,每当释放一个连接,必须从该表中删除该项。即使没有VC号转换,也需要维持连接状态信息。

运输层的连接建立仅涉及两个端系统。在运输层的连接建立期间,两个端系统独立决定运输层连接的参数。对于一个虚电路网络层,眼两个端系统之间的路径上的路由器都要参与虚电路的建立,且每台路由器都完全直到经过它的所有虚电路。

端系统向网络发送指示虚电路启动和终止的报文,以及路由器之间传递的用于建立u电路的报文,称为信令报文。用来交换这些报文的协议常称为信令协议。

在数据报网络中,每台路由器由一个将目的地址映射到链路接口的转发表,当分组到达路由器时,路由器使用该分组的目的底子好在转发表中查找适当的输出链路接口。然后路由器有意将分组向该输出链路接口转发。

路由器使用最长前缀匹配规则。在数据报网络中的转发表是通过路由选择算法进行修改的。在虚电路网路哦中,无论何时通过路由器建立一条新的连接,或无论何时通过路由器拆除一条现有连接,路由器中的转发表就被更新。

从一个端系统到另一个端系统发送一系列分组可能在网络中走不同的路径,并可能无序到达。

路由器工作原理

一台路由器的输入端口,输出端口和交换端口共同实现了这种转发功能,而且总是用硬件实现。这些转发功能有时总称为路由器转发平面。

转发表是路由选择处理器计算和更新的,但转发表的一份影子副本通常会被i存放在每个输入端口。有了影子副本,转发决策就能在每个输入端口本地做出,无须调用中央路由选择处理器,因此避免了集中式处理的瓶颈。

一个被阻塞的分组必须要在输入端口处排队,并等待稍后被即使调度以通过交换结构。

许多现代路由器通过内存进行交换,目的地址的查找和将分组存储(交换)仅适当的内存存储位置是由输入线路卡来处理的。 

经总线交换:让输入端口未分组预先计划一个交换机内部标签。该分组能由所有输出端口收到,但是只有与该标签匹配的端口才能保存该分组。然后标签在输出端口被i去除。因为一次只有一个分组能够跨越总线,所以路由器的交换宽带收总线速率的限制。

缓存数量应当等于平均往返时延(RTT)乘以链路的容量(C)

在输出端口排队的后果是其分组调度陈鼓必须从排队中的分组选一个来发送。

在某些情况下,在缓存填满之前就丢弃以便向发送方提供一个拥塞信号的做法是有利的(AQM)

如果交换结构不能快得(相对于输入链路速度)使所有到达分组无延迟地通过它传送,则在输入端口也将出现分组排队。


网际协议:因特网的转发和编址

因特网的网络层由三个主要组件——第一个是IP协议,第二个主要组件是路由选择部分,第三个是报告数据报中的差错和对某些网络层信息请求进行响应的设施。

大多数IP数据报不好喊选项,所以一般的IP数据报具有20字节的首部。

IP数据报长度字段有16比特,因此理论最大长度未65535字节。

寿命——当数据报由一台路由器处理时,该字段的值减一。若TTL字段减为0,则该数据报必须丢弃。

IP数据报中协议号所起的作用,类似于运输层报文段中端口号字段所起的作用。

如果数据报承载一个TCP报文段,则每个数据报共承载总长40字节的首部(20IP20TCP)以及应用层报文。

并不是所有链路层协议都能承载相同长度的网络层分组。一个链路层承载的最大数据量叫做最大传送单元。

若IP数据报比最大传送单元大,那么就将将IP数据报中的数据分片成两个或多个较小的IP数据报,用单独的链路层帧封装,然后发送,这些较小的数据报称为片。

IPV4的设计者决定将数据报重新组装工作放到端系统,而不是放到网络路由器中。

IPV4设计者将标识,标志和片偏移字段放在IP数据报首部中。当生成一个数据报时,发送主机在位该数据报设置源和目的地址的同时再贴上标识号。发送主机通常将位它发送的每个数据报的标识号加1.当某路由器需要对一个数据报分片时,形成的每个数据报具有初始数据报的源地址,目的地址和标识号。

分片能够用于生成致命的DoS攻击,由此攻击者发送了一些列古怪的无法预期的片。

IP要求每台主机和路由器拥有自己的IP地址,因此,一个IP地址技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。接口的IP地址不是随意选择的,其一部分是由其连接的子网来决定。

一个子网的IP定义并不局限于连接多台主机到一个路由器接口的以太网段。

一个具有多个以太网段和点对点链路的组织将具有多个子网,在给定子网上所有设备都具有相同的子网地址。

一个组织通常被分配一块连续的地址,即具有相同前缀的一段地址。

具有8,16,24比特子网地址的子网分别被称为A,B,C类网络。

当一台主机发出一个目的地址位255.255.255.255的数据报时,该报文将交付给同一网络中所有主机,路由器会有选择的向临近子网转发给报文

动态主机配置协议(DHCP)允许主机自动获取一个IP地址,除了主机IP地址分配外,DHCP还允许一台主机得知其他信息,例如子网掩码,第一条路由器地址和本地DNS服务器地址。DHCP提供即插即用功能

DHCP四部曲:

1.发送DHCP发现报文,客户在UDP分组中向端口67发送该发现保温。DHCP客户生成包含DHCP发现报的IP数据报,其中使用广播目的地址255.255.255.255并且使用本主机源地址位0.0.0.0

2.服务器提供的报文包含由收到的发现报文的事务ID,向客户推荐的IP地址,网络掩码以及IP租用期,即IP地址有效的时间量。

3.DHCP文国庆。客户从多个服务器提供中选择一个,并向选中服务器提供一个DHCP请求报文

4.DHCP ACK。服务器用ACK报文对请求报文进行相应,正式所需参数。

一旦客户收到DHCP ACK后,交互就已经完成,该客户跨越在租用期内使用DHCP分配的IP地址。DHCP允许客户更新对IP的租用。当一个移动节点在子网之间移动时,就不能维持与远程应用之间的TCP连接。

具有专用地址的低于是指其地址仅对该网络中的设备有意义的网络。

NAT路由器对外界的行为反过来就如同一个具有单一IP地址的单一设备。从本质上讲,NAT能使路由器对外界隐藏了家庭网络的细节。路由器从ISP的DHCP服务器得到它的地址,并且路由器运行一个DHCP服务器,为位于NAT-DHCP路由器控制的家庭网络地址空间中的计算机提供地址。

NAT路由器上有一张NAT转换表,并在表项中包含了端口号和IP地址。

NAT穿越正越来越多的即插即用(UPnP)提供,UPnP是一种允许主机发现并配置临近NAT的协议。使用UPnP,在主机上允许的应用程序能够为某些请求的公共端口号请求一个NAT映射,该映射位于其专用IP地址,端口号和公共IP地址和端口号之间。

ICMP被主机和路由器用来彼此沟通网络层的信息。ICMP最典型的用途是差错报告。

ICMP通常被认为是IP的一部分,但从体系结构上将它是位于IP之上的,因为ICMP报文是承载IP分组中的。这就是说,ICMP报文是作为IP有效载荷承载的。

ICMP报文有一个类型字段和一个编码字段,并且包含引起该ICMP报文首次生成的IP数据报的首部和前8字节内容。

IPv6将IP地址长度从32比特扩展到128比特。

IPv6引入任播机制,可以是数据报交付给一组主机中的任意一个。‘

IPv6的分片和组装只能在两端进行,若数据报太大,则路由器丢弃该数据报,并向发送方发回一个数组太大的ICMP差错报文。

IPsec是一种非常流向的安全网络层协议,也在虚拟专用网(VPN)中得到了广泛的部署。IPsec是面向连接的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值