【计算机网络】四、网络层

网络层提供的服务

面向连接的虚电路服务:

  • 在网络层建立虚电路(VC,Virtual Circuit)连接并编号,以保证可靠性。虚电路指明了传输的固定路径
  • 每次传递消息,只需指明虚电路的编号(分组首部),无需目标主机地址
  • 通信结束后,释放建立的虚电路

已过时,曾用于ATM等

无连接的数据报服务:

  • 不建立网络层连接,不保证可靠性(误码丢失重复失序,由上层保证可靠性)
  • 数据传输路径不固定

用于因特网

网络地址

IPv4/IPv6地址是Internet上每一台主机(或路由器)的每一个接口被分配的全球唯一标识符

IPv4:32位,每8位为一组。编址方法历经分类编址->划分子网->无分类编址三个阶段。地址在2011年已分配完毕

分类编址

IPv4由网络号和主机号组成,分为五类,其中前三类可指派给主机

网络号:只有在一个网络号下的计算机之间才能“直接”互通,不同网络号的计算机要通过网关(Gateway)才能互通

主机号:主机号可组合的数量为可分配的主机数量

红色数字为地址头部的位的数值

主机号全0是网络地址,表示所在网段

主机号全1是广播地址,表示发送广播分组的目的地址(不能分配给网络接口)

专用(内网)地址见本页末尾

因此可分配给接口的主机号数量为2^(主机号位数)-2

主机的网络号不能全为0或1

划分子网

目的:从主机号借用一部分比特作为子网号

子网掩码与IP地址进行逻辑与运算,结果表示网络地址,即子网掩码中连续的比特1表示网络号和子网号,剩余连续的0表示主机号

子网掩码连续的比特1长度不小于网络号比特位长度,相等时为默认子网掩码

e.g.

某接口IP为218.75.230.70,子网掩码为255.255.255.192

则接口为C类网络地址,向主机号借用了左边两位作为子网号,所属网络地址为218.75.230.64,每个子网可分配给接口的主机号数量为2^(主机号位数-子网位数)-2即2^(8-2)-2=62

无分类编址

无分类域间路由选择(CIDR,Classless Inter-Domain Routing)

采用斜线记法(CIDR记法),即在IP后加上斜线与数字,表明网络号所占IP的比特数量

e.g. 192.168.32.0/19,则前19位为网络号

路由聚合(构造超网)

即找到各IP的共同最长前缀

网络前缀越长,地址块(主机号)越小,路由越具体

因此,路由器查表转发分组时,通过最长前缀匹配选择路由

IP的应用规划

定长的子网掩码(FLSM,Fixed Length Subnet Mask):使用统一子网掩码(地址块/xx相同)划分子网。每个子网所分配的IP地址数量相同,造成地址浪费

变长的子网掩码(VLSM,Variable Length Subnet Mask):使用不同的子网掩码(地址块/xx不同)划分子网。原则上分配时每个子块(子网)的大小为2的幂(需要12个地址时分配16个地址,需要25个地址时分配32个),一般先给大(/xx较小)的子块分配

IP数据报的发送与转发

网关(Gateway):用于划分网段,隔离网域

主机发送IP数据报

判断目的IP是否与自己在同一网络(将IP同子网掩码进行逻辑与,判断网络号是否一致):

①若在同一网络,则属于直接交付,直接发送即可

②若不在同一网络,则属于间接交付。将数据报发送至默认网关(路由器),由其帮忙转发

路由转发IP数据报

首先,检查IP数据报首部是否出错

①若出错,则丢弃数据报并通知源主机

②若不出错,则转发

随后,根据解封装后数据报中的目标IP查路由表

①若查到,则转发给表中指示的下一跳

②若未查到,则丢弃数据报并通知源主机

路由选择

静态路由选择:即人工配置路由表,适用于小规模网络,可能导致路由环路

动态路由选择:路由器自动获取路由信息,协议有用于内部网关(ISP内部)的RIP、OSPF等,和用于外部网关的BGP(边界网关协议)

RIP

路由信息协议(RIP,Routing Information Protocol)是一种IGP内部网关协议IGP

RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离(不考虑带宽和时延

路由器到直连网络的距离定义为1

路由器到非直连网络的距离定义为所经过的路由器数加1(路由间的距离为2)

允许一条路径最多只能包含15个路由器,“距离”不小于16时相当于不可达,因此只适用于小型互联网

工作过程:

①路由器刚开始工作时,只知道自己到直连网络的距离为1.

②每个路由器仅和相邻路由器周期性地交换并更新路由信息(路由表。RIP封装在UDP中,UDP封装在IP

③若干次交换和更新后,每个路由器都知道到达本AS自治系统(ISP内部)内各网络的最短距离和下一跳地址,称为收敛

工作原理:

选择跳数最少的路径进行路由,不考虑网络的带宽和时延

当有多条路径跳数相等时,可进行等价负载均衡,即将通信量均衡的分布在等价路由上

OSPF

开放最短路径优先(OSPF,Open Shortest Path First),是为克服RIP的缺点在1989年开发出来的

OSPF基于链路状态,而不像RIP基于距离向量

OSPF采用SPF算法(Dijkstra)计算路由,从算法上保证了不会产生路由环路

OSPF不限制网络规模,更新效率高,收敛速度快

链路状态指本路由器都和哪些路由器相邻,以及相应链路的“代价(cost)”

代价用于表示费用、距离、时延、带宽等,由网络管理人员决定

基本工作原理:

①每个路由器生成链路状态通告LSA(Link State Advertisement),LSA中包含以下内容:

a.直连网络的链路状态信息

b.邻居路由器的链路状态信息

②LSA被封装在链路状态更新分组LSU中(IP直接封装),采用洪泛法发送

③每个路由器通过链路状态数据库LSDB存储LSA,最终各路由器的LSDB将一致

④路由器根据LSDB进行SPF最短路径优先计算,构建路由表

数据报

IP数据报头部结构:

8位为1个字节,一行32位4个字节

版本:IP协议版本。通信双方版本需一致,通常为4(IPv4)

首部长度:IP数据报首部长度

区分服务:很少使用。表示不同等级的服务质量

总长度:IP数据报总长度

标识:同一数据报的分片具有同一标识。每产生一个数据报,计数器+1并赋值

标志:占3位——DF位(Don't Fragment)为1表示不允许分片;MF位(More Fragment)为1表示后面还有分片;保留位为0

片偏移:分片数据报的数据部分偏移其原数据报多少位,以8字节为单位(因此必须为整数)

生存时间TTL:实际为剩余跳数,避免陷入环或迷路。跳数减为0后丢弃数据报

协议:指明使用的协议数据单元(ICMP、TCP、UDP、IPv6、OSPF)

首部检验和:检验首部差错。数据报每经过一个路由器,都要重新计算首部检验和,因为首部可能发生变化。IPv6不再计算首部检验和,效率更高

可选字段:很少使用。支持排错、测量、安全等

填充:当可选字段被使用时,填充比特0以确保首部长度为4字节的整数倍

IP分组经过路由器转发时修改的字段

①生存时间-1,首部检验和将重新计算

②若分组长度大于MTU,则分片:总长度、标志、片偏移将发生变化

分片

图中黄色部分用于分片

当IP数据报总长度超过MTU(1500字节)时需要分片,分片后每个分片都有各自的首部

ICMP

网际控制报文协议(ICMP,Internet Control Message Protocol),封装在IP

主机或路由器使用ICMP发送差错报告报文询问报文

用于发送控制消息,提升网络工作效率,也便于网络管理者诊断问题

差错报告报文有:

终点不可达——路由器或主机无法交付数据报

源点抑制——路由器或主机产生拥塞,通知源点降低发送速率

时间超过——TTL耗尽或接收超时

参数问题——误码

改变路由(重定向)——有更好路由路径

以下情况不发送差错报告报文:

差错报告报文本身

除第一个分片外的其它分片

多播地址与特殊地址(127.0.0.0、0.0.0.0等)

询问报文有:

回送请求和回答——测试可达与查询状态

时间戳请求和回答——时钟同步与测量时间

ping

ping命令用于测试主机或路由器间的连通性

应用层直接使用网络层ICMPIP封装)

使用询问报文的回送请求和回答报文

tracert

tracert命令(Linux中为traceroute)用于测试数据报经过的路由器

Windows中应用层直接使用网络层ICMPIP封装),Linux中在传输层使用UDP

使用差错报告报文和询问报文的回送请求和回答报文

原理:发送不同TTL的数据报

VPN与NAT

虚拟专用网(vpn,Virtual Private Network):利用公用因特网作为本机构专用网的通信载体

网络地址转换(nat,Network Address Translation):路由器将大量内部地址转换为少量外部地址与外网通信,并形成nat转换表且修改源IP为外部地址

- 当收到数据报时,再通过nat转换表找到对应的内网IP

- 因此外网不能直接访问内网主机,起到一定保护作用

napt(Network Address and Port Translation):在nat基础上外加端口号实现网络地址转换,可实现内网地址只转换为一个外网地址(端口号不同)

专用(私有、内网)地址:

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值