网络层-1

网络层提供什么服务:简单灵活,无连接的,最大努力交付的数据报服务,可能出错,丢失,重复,失序。
可靠交付由端系统(主机)来负责,即传输层负责,如差错处理,流量控制。
电信网(电话机)通过虚电路,建立连接通过网络保证了可靠交付。在这里考虑数据报服务而不是虚电路服务。

网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网标准协议之一。与IP协议配套是用的四个协议:
1.地址解析协议ARP:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
2.逆地址解析协议RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。
3.网际控制报文协议ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会
4.网际组管理协议IGMP::用于探寻、转发本局域网内的组成员关系。

因为没有一种单一的网络能够适应所有的用户需求,所以网络互连也变得困难,所以需要一些中间设备:
物理层:转发器(repeater),集线器
数据链路层:网桥,交换机
网络层:路由器
网络层以上:网关
转发器和网桥(网络扩大,还属于同一网络),谈不上网络互连,网络互连指路由器的互连。
网络层采用标准化协议,连接各种异构的网络,也就是说各网络都用IP协议,大家在网络层上看上去是统一的(实际在物理层和数据链路层不同),

IP地址:每个主机或路由器的每个接口分配一个。
在这里插入图片描述主机号中全0表示网络地址,全1表示广播地址

A类:126个网络号,网络号全0表示本网络,网络号127为本地软件的回环地址
不同网络号的局域网用路由器互连, 转发器和网桥连接的为同一网络,同样的网络号。
路由器多ip,多mac地址

地址解析协议ARP:同一个局域网 IP 地址和硬件地址的映射问题。
每一个主机都设有一个ARP高速缓存(ARP cache),含所在局域网 IP 地址到硬件地址的映射表。每个缓存项目有生存时间,比如网络适配器坏了更换导致mac地址变了导致原映射关系无效,这种情况过一段时间缓存失效重新广播就好了
广播请求:我的ip是A,我mac是B,我请求ip为C的mac。
单播响应:我ip为C,mac为D,且C将AB映射关系放入自己的缓存。
IP地址是统一的,硬件地址是和具体网络关联的,使用统一的IP才能跨越千山万水进行通信。

在这里插入图片描述
在这里插入图片描述

首部20字节固定,最大可60字节(即40字节的可变部分,选项字段)
首部长度:4bit(最大15),可表达4x15=60字节
总长度:16bit,理论(首部+数据)65535字节,但是数据链路层的帧格式一般会规定其数据字段最大长度(MTU),数据报超过需分片,总长度为分片后单片的长度
标识(Identification):各分片标识相同,用于重装,每生成一IP数据报,标识加1.
标志:DF(Dont fragment)能否分片,MF(More fragments)后面是否还有分片(自己是否是最后一个),一个未分片的一般是能分片,且自己是最后一片
如果不能分片,可能导致中间网络丢弃数据(超过我mtu了,是分片还是丢弃呢,若丢弃发ICMP差错报告)。
片偏移:如100,表明此片的起始位置为100*8=800(相对于原始分组的数据字段),可能经过某个网络分片继续分片
寿命(生存时间):ttl,源点设置(初始多为64),避免无法交付的数据报在网络中兜圈子,经过一次路由器减1,路由器先减1,再判断是否为0,为0丢弃。ttl为1的分组只能在局域网内传送,送到路由就给你丢了。
协议:上面是TCP还是UDP还是ICMP等等
首部校验和:仅校验首部,每过一个路由器寿命等发生变化,需重新计算首部校验和,所以每个路由器都是先校验,后重新计算并写入。

分组转发
(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)
(6) 报告转发分组出错。
子网掩码:路由表(网络地址,下一跳地址),实际上是(网络地址,子网掩码,下一跳地址),所以实际是D按子网掩码获得网络地址再看网络地址是否匹配(每个路由表项都是如此)
下一跳地址示例:路由器的ip地址或直接交付,接口1
特定主机路由:IP 地址 D指明特定的路由。
默认路由:一般小网络内主机的路由表很简单,若在本网络内直接交付,若不在交给默认路由

两级ip有如下3个缺陷
1 IP 地址空间的利用率有时很低,申请了个B类却用不到那么多ip
2 给每一个物理网络分配一个网络号会使路由表变得太大,多个子网对外是一个网络,只有一个表项
3 两级的 IP 地址不够灵活,我要新增个网络,必须要去机构申请
考虑划分子网
主机号借用若干个位作为子网号,位数通过子网掩码确定,三级IP,单位内部的事情,单位对外仍然表现为没有划分子网的网络
所有网络都必须使用子网掩码,没有划分子网使用默认子网掩码,因特网路由器这些子网都是一个路由表项(默认子网掩码),单位入口路由器是多个表项(非默认子网掩码,定位具体子网)
IP地址按位与子网掩码确定含子网号的网络地址

构造超网(无分类编址CIDR)
消除了传统的A、B、C类地址以及划分子网的概念,用网络前缀代替网络号和子网号
网络前缀相同的连续的IP地址组成一个CIDR地址块
举例:128.14.35.7/20, ip地址为128.14.35.7,前20位为网络前缀,确定网络前缀后可确定地址块的起始地址(最小,128.14.32.0)和最大地址,以及地址块中的地址数。地址块记为128.14.32.0/20,为/20地址块。
构成超网/路由聚合:路由表使用CIDR地址块查找目标网络,减少了路由表表项。
CIDR使得分配ip更加灵活,不再固定为ABC类。
最长前缀匹配:
使用子网掩码的路由表只可能匹配到一个表项,但使用网络前缀的路由表可匹配到多个表项,比如在/20匹配到了,在/22也可能匹配到,根据/22的表项转发(越长就越具体)。
二叉线索查找路由表:
在这里插入图片描述
我们需要快速查找路由表,如何根据32bit的ip查找呢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值