【计算机网络】网络层详解

1、网络层

1.1 网络层提供的两种服务

虚电路服务:当两个计算机进行通信时,先建立连接,以保证双方通信所需的一切网络资源。

数据报服务:网络层只向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不建立连接,每一个分组独立发送,与其前后分组无关,也不提供服务质量承诺。
 

1.2 网际协议IP

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

地址解析协议ARP

网际控制报文协议ICMP

网际组管理协议IGMP

在这里插入图片描述

 

1.3 IP协议

基本概念:主机:配有ip地址,但不进行路由控制的设备;路由器:配有ip地址,又进行路由控制;节点:主机和路由器的统称。

在这里插入图片描述

1.4 协议头格式

在这里插入图片描述
1)4位版本号:ip协议版本(一般就是ipv4)

2)4位首部长度:ip头部的长度是length * 4,4个比特位可以表示的最大数字是15,所以ip头部的最大长度是60字节

3)8位服务类型:前三位弃用,4位TOS字段,和以为保留位(必须置零)。4位TOS字段:最小延迟,最大吞吐量,最高可靠性,最小成本。

4)16位总长度:ip数据整体占多少字节

5)16位标识:唯一的标识主机发送的报文(在数据链路层的每个分片中id都是相同的)

6)3位标志字段:第一位保留,第二位为1表示禁止分片,第三位:如果有多个分片,最后一个分片置为1,其他置为0。

7)13位片偏移:分片相对于原始报文开始出的偏移(在接收端需要根据这个将分片报文连接起来)

8)8位生存时间(TTL):数据报到达目的地的最大跳数,没经过一个路由器 - 1,直到 0 时被丢弃(防止路由循环)

9)16位头部校验和:使用CRC进行校验

10)32位源地址和32位目的地址:表示发送端和接收端

11)选项字段:不定长,最长40字节

 

1.5 网段划分

网络号:保证相互连接的两个网段具有不同的标识
主机号:同一网段内,主机之间具有相同的网络号,但是主机号不同

早期ABCDE类划分

A类:0.0.0.0 ---- 127.255.255.255
在这里插入图片描述

B类:128.0.0.0 ----191.255.255.255
在这里插入图片描述

C类:192.0.0.0 ---- 223.255.255.255
在这里插入图片描述

D类:224.0.0.0 ---- 239.255.255.255
在这里插入图片描述

E类:240.0.0.0 ---- 247.255.255.255
在这里插入图片描述

缺陷:大多数组织都申请B类网络地址,B类很快就用完了,但是A类却大量的浪费地址。

 
无分类编址CIDR(构造超网)

为了更精细化的划分IP地址,增加了子网掩码(子网掩码:32个比特位的高位全部为1,连续的1)。

计算方式:当前网络的网络号 = ip & 子网掩码
172.17.0.3 & 255.255.240.0 = 172.17.0.0
当前的最大主机数量 ~(子网掩码)
255.255.240.0 —> 4095

CIDR一定程度上缓解了IP地址不够用的问题,提高了利用率,减少了浪费。
 

私网IP地址
10.*:前8位是网络号,总共16777216个地址

172.16 ---- 172.31:前12位网络号,总共1048576个地址

192.168.*:前16位是网络号,总共65536个地址

 

1.6 特殊的ip地址

127.* :本机环回测试,通常为127.0.0.1
网络号:ip地址当前中主机号全为0的ip地址就是当前子网的网络号
广播号:ip地址当中主机号全为1的ip地址为当前子网的广播号

 

1.7 路由

路由的过程就是一跳一跳“问路”的过程。每个路由器内部维护一个路由表。

1)在转发数据的时候,先获取数据的目的ip地址,通过目的ip地址和路由表当中的路由项 ‘&’ 操作

2)如果获取的结果和当前路由项当中的destination相符合,说明这条数据时转发给当前子网当中的机器

3)如果获取到的结果和当前路由表中的destination不符合,则继续匹配下一个路由项,直到所有的子网路由项匹配一遍之后,还没有找到响应的数据转发的路由项,则会和网关路由项的子网掩码进行按位&操作,将数据通过网关WAN转发给上级路由器

4)上级路由器获取数据之后,也是重复上述的步骤。在每一次路由器转发的时候,都会对ip数据报当中的ip协议的TTL进行减1操作。

 
IP层分组转发的流程

  1. 从数据报的首部提取目的主机的IP地址D,计算出目的主机的网络地址N。
  2. 若N就是与此路由器直接相连的某个网络的网络地址。则直接进行交付,不需要经过其他路由器,而是直接将IP数据报交付给目的主机。(注意,直接交付时,路由器需要将目的主机地址D转换为具体的硬件地址,把数据报封装在MAC帧,在发送此帧。) 若N不是与此路由器直接相连的网络,就进行间接交付。执行3.
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行4。
  4. 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行5。
  5. 如果3和4都没能将IP数据报转发出去,若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认;否则执行6。
  6. 报告转发分组出错。

 

2、ARP协议

ARP协议是一个介于数据链路层和网络层之间的协议。

2.1 ARP协议的作用

ARP协议建立了主机IP地址和MAC地址的映射关系。

1)在网络通讯时,源主机知道目的主机的ip地址和端口号,不知道目的主机的硬件地址。
2)如果接受到的数据包的硬件地址与本机不符,则直接丢弃。
3)因此在通讯前必须获得目的主机的硬件地址。

2.2 ARP协议的工作流程

在这里插入图片描述

每台主机都维护一个ARP缓存表。缓存表一般存在20分钟,如果没有使用则该表失效。下次继续使用ARP请求来获取目的主机的硬件地址。

2.3 ARP数据报的格式

在这里插入图片描述
1)硬件类型:数据链路层网络类型,1为以太网

2)协议类型:0x0800为IP地址

3)硬件地址长度:以太网6字节

4)协议类型长度:IP地址为4字节

5)op字段:1表示ARP请求,2表示ARP应答

 

3、IPv6

3.1 IPv6的基本首部

主要变化:

  • 更大的地址空间:将地址从32位增大到128位
  • 扩展的地址层次结构
  • 灵活的首部格式:定义了很多可选的扩展首部
  • 改进的选项:允许数据报包含有选项的控制信息,其选项放在有效载荷中
  • 允许协议继续扩充
  • 支持即插即用:自动配置,不需要使用DHCP
  • 支持资源的预分配
  • 首部改为8字节对齐

IPv6数据报格式:首部长度固定位40字节
在这里插入图片描述
各字段含义:

1)版本:占4位。指明协议的版本

2)通信量类:占8位。为了区分不同的IPv6数据报的类别或优先级

3)流标号:占20位。标明数据报所属的流,在流经过的路径上的路由器都保证服务质量

4)有效载荷长度:占16位。指明除基本首部外的字节数,最大值是64KB

5)下一个首部:占8位。相当于IPv4的协议字段或可选字段。当没有扩展首部时,指明首部后面的数据应交付IP上层哪个协议;有扩展首部时,就标识后面第一个扩展首部的类型

6)跳数限制:占8位。防止数据报在网络中无限期存在,最大255跳,每转发一次就-1,为0就将这个数据报丢弃

7)源地址:占128位。是数据报发送端的IP地址

8)目的地址:占128位。是数据报接收端的IP地址

 

3.2 6.2.IPv6地址

结点与接口:将实现IPv6的主机和路由器均称为结点。

IPv6的表示:

1)冒号16进制记法:用8段,每段4个16进制数组成,允许将数据前的0省略
例:68E6:8C64:FFFF:FFFF ---->0:1180:FFFF:FFFF

2) 零压缩:一串连续的零可用一对冒号所代替,在一个地址中只能使用一次,若多次压缩将导致地址无法还原
例:FF05:0:0:0:0:0:0:0:03 ---->FF05::03

3)点分十进制记法的后缀:可将IPv4地址前添加6组0,使其变成IPv6的地址
例如:0:0:0:0:0:0:128.10.2.1 ---->::128.10.2.1
 

3.3 IPv4向IPv6过渡

双协议栈:在完全过渡到IPv6前,使一部分主机或路由器装有两个协议栈,使其可与不同网络通信时采用不同的协议,将IPv6数据报报头改为IPv4数据报形式

隧道技术:在IPv6协议进入IPv4网络时,更改源地址为隧道起点,目的地址变为隧道终点,建立隧道,使整个原IPv6数据报作为IPv4数据报的数据部分,在出隧道时改回原来的源地址和目的地址,还原为IPv6数据报
 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
    尽管讲解概念如果同学们是初初相识,真有点晦涩难懂,本人讲解概念的同时,尽量结合实操来讲,这样即加固了概念,同时让同学不会感觉到太烦闷,其实对这些重要基础概念的理解,正是学习过《计算机网络原理》,与直接上手做事的人的区别所在。     古人云,腹有诗书气自华,只要先搞懂了原理,学有所成,今后和别人讨论网络底层问题的时候,才能够抑扬顿挫底气十足,不怯场!# 网络层首部     初探十二段内容介绍     ipv4和ipv6 版本号表示;首部长度     区分服务,给数据包添加标识 QoS     总长度 Total Length;标识Identification;标志Flags     生存时间 TTL     协议号;首部校验和     实训抓包验证诸项内容# ICMP 差错报告报文格式     数据包类型(详解列表:类型值和代码)     TTL耗尽报告-1     主机不可到达(Destination unreachable)-2     路由重定向(Redirect)-3     给应用程序返回差错报告-4     实例讲解:使用ping命令测试网络判断出问题范围     跟踪数据包路径主要命令介绍:tracert和pathping# ARP 协议     arp 协议本网段与跨网段的工作原理     arp 欺骗的两个目的,阻断连接或截获数据包     arp 欺骗的工作原理阐述,创建阻断连接的实验环境     arp 欺骗演示工具,网络执法官     arp 欺骗防止或阻止措施:         手工绑定两端通信主机的mac地址 -a         同时修改mac地址和ip地址;安装运行wireshark工具 -b         在路由器中绑定通信主机mac地址 -c# 搭建流媒体服务     提供点对点服务:采用TCP协议,而非IGMP协议     提供多播视频:根据多播地址切换频道(IGMP协议-UDP)     根据多播IP地址,参照预定规则,合成多播MAC地址     阐述IGMP跨网段运行方式,与创建跨网段环境     启用多播路由:实现流媒体跨网段转发视频,同时抓包查看ICMP数据包特性# 习题详解    网络层协议

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值