计算机网络笔记4-网络层

第4章 网络层

在这里插入图片描述

网络层提供的两种服务

互联网采用的设计思路是这样的:网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务

也就是说,所传送的分组可能出错,丢失,重复和失序(即不按序到达终点),当然也不保证分组交付的时限.

采用这种设计思路的好处是:网络造价大大降低,运行方式灵活,能够适应多种应用.

网际协议IP

网际协议IP是TCP/IP体系中两个最主要的协议之一

与IP协议配套使用的还有三个协议:

地址解析协议ARP(Address Resolution Protocol)
网际控制报文协议ICMP(Internet Control Message Protocol)
网际组管理协议IGMP(Internet Group Management Protocol)

虚拟互连网络

需要解决的问题,如:

不同的寻址方案;
不同的最大分组长度;
不同的网络接入机制;
不同的超时控制;
不同的差错恢复方法;
不同的状态报告方法;
不同的路由选择技术;
不同的用户接入控制;
不同的服务(面向连接服务和无连接服务);
不同的管理与控制方式;等等.

没有一种单一的网络能够适应所有用户的需求.

将网络互相连接起来要使用一些中间设备.根据中间设备所在的层次,可以有以下四种不同的中间设备:

(1)物理层使用的中间设备叫做转发器(repeater).

(2)数据链路层使用的中间设备叫做网桥 或桥接器(bridge).

(3)网络层使用的中间设备叫做路由器(router).

(4)在网络层以上使用的中间设备叫做网关(gateway).

利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络.

这种使用IP协议的虚拟互连网络可简称为IP网

有了虚拟互连网络的概念后,我们再讨论在这样的虚拟网络上如何寻址.

地址解析协议ARP

已经知道了一个机器(主机或路由器)的IP地址,需要找出其相应的硬件地址.地址解析协议ARP就是用来解决这样的问题的.

IP数据报的格式

一个IP数据报由首部和数据两部分组成.首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的.在首部的固定部分的后面是一些可选字段,其长度是可变的.

首部各字段的意义.

  1. IP数据报首部的固定部分中的各字段

(1)版本 占4位,指IP协议的版本.通信双方使用的IP协议的版本必须一致.目前广泛使用的IP协议版本号为4(即IPv4).

(2)首部长度 占4位,可表示的最大十进制数值是15.

(3)区分服务 占8位,用来获得更好的服务.这个字段在旧标准中叫做服务类型 ,但实际上一直没有被使用过.

(4)总长度 总长度指首部和数据之和的长度,单位为字节.

(4)总长度 总长度指首部和数据之和的长度,单位为字节.总长度字段为16位,因此数据报的最大长度为216 –1=65535字节.然而实际上传送这样长的数据报在现实中是极少遇到的.

在IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度 ,这称为最大传送单元 MTU

当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层所规定的MTU值.

例如,最常用的以太网就规定其MTU值是1500字节.若所传送的数据报长度超过数据链路层的MTU值,就必须把过长的数据报进行分片处理.

虽然使用尽可能长的IP数据报会使传输效率得到提高(因为每一个IP数据报中首部长度占数据报总长度的比例就会小些),但数据报短些也有好处.每一个IP数据报越短,路由器转发的速度就越快.

主机需要发送长度超过576字节的数据报时,应当先了解一下,目的主机能否接受所要发送的数据报长度.否则,就要进行分片.

(5)标识(identification) 占16位.IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段.但这个"标识"并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题.当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中.相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报.

(6)标志(flag) 占3位,但目前只有两位有意义.

标志字段中的最低位记为MF(More Fragment).MF=1即表示后面"还有分片 "的数据报.MF=0表示这已是若干数据报片中的最后一个.
标志字段中间的一位记为DF(Don’t Fragment),意思是"不能分片 ".只有当DF=0时才允许分片.

(7)片偏移 占13位.片偏移指出:较长的分组在分片后,某片在原分组中的相对

位置.也就是说,相对于用户数据字段的起点,该片从何处开始.片偏移以8个字节为偏移单位.这就是说,每个分片的长度一定是8字节(64位)的整数倍.

(8)生存时间 占8位,生存时间字段常用的英文缩写是TTL(Time To Live),表明这是数据报在网络中的寿命.

把TTL字段的功能改为"跳数限制 "(但名称不变).路由器在每次转发数据报之前就把TTL值减1.若TTL值减小到零,就丢弃这个数据报,不再转发.因此,现在TTL的单位不再是秒,而是跳数.

(9)协议 占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个协议进行处理.

(10)首部检验和 占16位.这个字段只检验数据报的首部,但不包括数据部分.

(11)源地址 占32位.

(12)目的地址 占32位.

  1. IP数据报首部的可变部分

IP层转发分组的流程

路由器是怎样转发分组的.

在互联网上转发分组时,是从一个路由器转发到下一个路由器.

总之,在路由表中,对每一条路由最主要的是以下两个信息(目的网络地址,下一跳地址)

于是,我们就根据目的网络地址来确定下一跳路由器,这样做可得出以下的结果.

(1)IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付).

(2)只有到达最后一个路由器时,才试图向目的主机进行直接交付.

虽然互联网所有的分组转发都是基于目的主机所在的网络 ,但在大多数情况下都允许有这样的特例,即对特定的目的主机指明一个路由.这种路由叫做特定主机路由.

路由器还可采用默认路由(default route)以减小路由表所占用的空间和搜索路由表所用的时间.

这种转发方式在一个网络只有很少的对外连接时是很有用的.

归纳出分组转发算法 如下:

(1)从数据报的首部提取目的主机的IP地址D ,得出目的网络地址为N.

(2)若N 就是与此路由器直接相连的某个网络地址,则进行直接交付 ,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D 转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行(3).

(3)若路由表中有目的地址为D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4).

(4)若路由表中有到达网络N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(5).

(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6).

(6)报告转发分组出错.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyingZCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值