网络-网络层(2)

Posted by Young Ken on 2017-10-11

网络层

Internet的网络层

可以把Internet看作是一种互相关联的网络或自治系统的集合。他没有真正的结构,但是有几个主要骨干网。这些都是高速网络组成,最大的骨干网称为一级网络。

IPv4协议

IP协议有v4,v5和v6,v5是实验性的实时流协议,没有被使用。v6已经还没有被大面积推广。下面重点说v4,这个也是重点中的重点

先从协议头开始

  • 版本

    长度是4bit,记录了数据属于哪个版本,v4就是4(0100),v6就是6(0110)。

  • IHL

    长度是4bit, 这个字段记录了头的长度,也就是这个字段最多表示的长度是60(1111)。

  • 区分服务

    长度8bit,这个是服务类型,前3位表示优先级,数字越大优先级越高,3位表示延迟和吞吐量等,后2位表示阻塞信息。

  • 总长度

    长度16bit,这个是整个包的总程度。

  • 标识

    长度16bit,这个让主机去区分是那个数据包拆分出来的包。

  • 未使用位

    长度1bit,IP头每个字节都很珍贵,但是这个没有被使用,也是哈哈了。

  • DF位

    长度1bit,不允许路由器分割该这个数据包。

  • MF位

    长度1bit,被分段后,除了最后一个段位以外,其他的所有段都必须设置这位。

  • 分段偏移量

    长度13bit,指明了该段在当前数据包的位置,当接收端拼接包的时候会用到这个字段。

  • 生存期

    长度8bit,用于限制数据包生存计数器,在泛红算法中,这个可能非常重要,每进行一跳就减1。

  • 协议

    长度8bit,标识了上层使用的是什么协议,6 TCP,17 UDP。IP协议号汇总

  • 头检验和

    长度16bit,因为头部信息非常重要,必须在没一跳都进行校验,这个提供头部信息校验。

  • 原地址和目标地址

    两个长度都是32bit,标识了IP包的起源地址和目标地址。

  • 选项

    可变长度,主要用于一些测试和新想法的尝试。

IP地址

v4的IP地址的特征是它有32位地址。IP地址不是一台主机,指的是一个网络接口。

前缀

每个32位地址由高位和可变网络和低位的主机两部分数据组成。同一个网络上的所有主机,其地址的网络值都是相同的。这意味着一个网络对应一个连续的IP地址空间,这块地址空间被叫做前缀。按照习惯我们把网络部分的长度表示成IP/网络部分长度,例如128.234.0.0/24。

前缀的长度相当网络部分中1的二进制的掩码,也就是被称为子网掩码。这个是用来分子网有的,也是32位。子网掩码1的个数就是前缀的长度。

子网

为了避免IP地址冲突,有个非营运组织负责分配IP,这个组织被叫做Internet域名和地址分配机构。因为IP地址的是有限的,给你个大学已经分配了一个IP/16,那么意味着这个IP下面能分配60000个主机,如果我想把每个学院各自分配一个IP段,这样一个网络就被划分成不同的子网

Internet控制协议

除了IP协议外还有几个在internet传输中的几个控制协议。

ICPM Internet小心控制协议

当路由器在处理一个数据包发生意外的时候,可以通过ICMP协议向数据包的源端报告有关事件。

DHCP 动态主机配置协议

手动配置IP地址很麻烦,还容易出错,有一个动态的配置方式叫做动态主机配置协议

ARP 地址解析协议

局域网内一台机器发送广播,找到对方的IP的方式叫做地址解析协议