计网基础-IPv4协议

Internet网络层中的重要协议——IP协议

一、Internet网络层

Internet网络是典型的数据报网络,数据报网络主要实现的是 路由转发

路由器通过运行路由协议,根据路由算法,计算路径信息


1、路由协议(RIP、OSPF、BGP)

路径选择


2、IP协议(寻址、数据报格式、分组格式)

IPv4数据报(分组)格式:

①版本号:ip协议的版本,字段占4位

②首部长度:字段占4位,给出的最大值为15。但是,从图中我们可以看到,首部有5行,每行为32位4个字节(未包括可变的选项字段),总共有20个字节,最大值15肯定是无法满足的,所以规定,首部长度这四位,是以4字节位为单位的(需要乘以4)字节

③服务类型tos:指示期望获得哪种类型的服务,一般情况下不死好用,通常ip分组该字段的值为00H

④总长度:占16位,ip分组的总字节数(首部+数据)

最大ip分组的总长度,65535B;

最小的ip分组首部:20B;

最大的ip封装数据:65535-20=65515B

注意,在实际中不会有这种理想情况

⑤生存时间TTL:占8位,IP分组在网络中可以通过的路由器数或跳步数

路由器每转发一次分组,TTL减1

当TTL=0,说明寿命到了,路由器将丢弃该IP分组

⑥协议:指示ip分组封装的是哪个协议的数据包

可以实现复用/分解

6为TCP,表示封装的是TCP段

17为UDP,表示封装的是UDP段

⑦首部校验和:占16位,实现队IP分组首部的差错检测

计算校验和时,该字段置全0(与UDP差错检测是一样的)

关键:采用反码算数运算求和(进位1加到第一位),和的求反码作为首部校验和字段,结果全为1则是正确的

注意,因为首部校验和是对首部进行校验,每一次路由器转发分组时,TTL都会减1,所以每次都要重新计算

⑧源IP地址和目的IP地址:各占32位4个字节

发送分组的源主机/路由器(网络接口)

接收分组的目的主机/路由器(网络接口)

⑨选项字段:长度可变,范围在1~40B之间

用于网络的探测,可以携带安全、源选路径、时间戳、路由记录等内容

注意,这个字段实际上很少使用,因此,典型的ip数据报是20个字节(4个字节x5行)

⑩填充:首部是以4字节位单位的,因此要补足

2-1、IP分片与重组

 (1)

最大传输单元MTU:链路层数据帧可以封装数据的上限,不同链路的MTU是不一样的。

由上图,大IP分组向较小MTU、链路转发时,可以被“分片”,fragmented

将一个IP分组分为多片IP分组;

注意,并不是一定要分片,路由器发现有的IP分组不允许分片,此时则被丢弃。

重组:reassembled

ip分片到达目的主机后才进行重组,

因为路由器不负责重组

(2)

目的主机假如要正确地重组,则需要ip首部的相关字段参与,

用于标识分片(是否分片)以及确定分片的相对顺序

(总长度、标识、标志位、片偏移)

 ①标识ID,用于标识一个IP分组

IP协议利用一个计数器,每产生IP分组,计数器便加1,作为该IP分组的标识

②标志位,占3位

DF:dont fragment

=1,禁止分片;=0允许分片;

MF:more fragment

=1,非最后一片;=0,最后一片(或根本没有分片)

Q:当MF=1的时候,是分片的哪一片;当MF=0,怎么知道是最后一片还是没有分片

A:考虑片偏移量

③片偏移,占13位

首先,没有分片,偏移量为0;

一个ip分组分片封装原ip分组数据的相对偏移量:数据的哪一个字节开始分,最后一片肯定MF=0

注意,片偏移量字段以8字节为单位,与首部长度以4字节为单位的原理一致

所以,在ip分组分片过程中,除了最后一片,所有分片封装的数据字节数一定是8的倍数

IP分片过程:

2-2、IP编址addressing

一个ip数据报,需要两个重要的IP地址:源IP地址和目的IP地址

Q:源IP地址哪里发出来的?目的IP地址要发到哪里去?

A:源主机的接口interface和目的主机的接口interface

接口:interface

主机/路由器与物理链路的链接

- 实现网络层功能的接口

- 路由器通常为了转发需要多个接口

- 作为端系统,通常要实现五层的功能,包括网络层,因此也需要接口,主机通常只有一两个接口(如有线的以太网接口和无线的802.11接口)

 

IP地址:32比特(IPv4)的二进制数

通过IP地址,唯一标识网路中的主机、路由器的接口

或者说,IP地址与每一个接口关联

怎么样给接口分配IP地址?

把IP地址分为两部分:网络号+主机号

基本原则:

保证分配到某一个网络区域中的这些接口的IP地址,其网络号是相同的,如下图

具有相同网络号的接口集合——IP子网

利用他们相同的网络号,来描述这个区域的网络

IP子网的特点:

①具有相同的网络号

②所有的接口是不跨越路由器的,彼此之间是物理联通的

IP子网的作用

有了IP子网,我们就可以在路由器的转发表中,比如存储向哪个网络转发数据的时候, 就可以不用去记录具体的主机的IP地址,只需记录这个区域的网络的子网地址就可以了

(利用一个特殊地址,来描述一个ip子网的整体,如下图)

  


3、ICMP协议(差错报告、路由器“信令”)

ip协议在传输和处理分组过程中,难免会出现差错,此时需要把差错信息传输给一些主机和路由器,就需要新的协议——icmp协议

因此,假如要实现IP协议传输分组,离不开icmp协议。

猜你喜欢

转载自www.cnblogs.com/hoanfir/p/9233191.html