之前更新的两篇博客,我们学习了网络层的数据平面和控制平面组件概念,转发和路由选择之间的区别,各种网络服务模型的表示和对路由器内部的观察,并没有提及到任何特定特定的计算机体系结构或协议.这篇文章我们将一起学习因特网网络层的关键方面和著名的网际协议(IP).
IPV4数据报格式
网络层分组被称为数据报,我们通过概述IPV4数据报的语法和语意来开始对IP的学习.
- 版本号:这四个比特规定了数据报IP协议版本.
- 首部长度:因为IPV4数据报可能包含可变数量的选项字段.所以需要这四个比特来确定IP数据报中载荷实际开始的地方.
- 服务类型:以便是不同类型IP数据报(比如一些特别要求时延,高吞吐量或可靠性的数据报)能互相区分开来.
- 数据报长度:这是IP数据报的总长度(首部加上数据),以字节统计
- 标识,标志,片偏移:这三个字段与所谓IP分片有关,待会儿我们再讨论分片的问题.
- 寿命(TTL):字段用来确保数据报不会永远在网络中循环,每当一台路由器处理数据时,该字段值减一,减到0该数据报会被丢弃
- 协议:该字段通常晋档一个数据报到达其最终目的地是才用,该字段值指示IP数据报的数据部分应当交到那个特定的传输层协议,值为6是TCP,值为17表面UDP
- 首部检验和:检测收到的IP数据报中的比特错误.这里只对IP数据报首部计算了检验和,而TCP/UDP是对整个报文计算检验和
- 源和目的IP地址:就是源主机和目标主机的IP地址
- 选项:对IP头部进行扩展
- 数据:有效载荷
IPV4数据报分片
并不是所有的链路层协议都能承载相同长度的网络层分组.一个链路层帧能承载的最大数据量叫做最大传输单元(MTU).问题就出在这里,发送方与目的路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的MTU.因此可能在传输途中要对数据报进行分片,具体该如何执行呢?
首先在发送主机生成数据报是,会在数据报中设置源和目标IP以及**标识**,发送主机通常将他发送的每个数据报标识加一,当某台路由器要对一个数据报分片时,形成的每个数据报(一片)具有初始数据报的源和目标IP与标识号.当目标主机收到一系列数据报是可以通过检查数据报的标识号来确定哪些数据报实际是一个较大数据报的片.因为IP是不可靠的服务,他可能会丢失掉其中的一些片,因此为了让目的主机绝对相信他已经收到了数据报的最后一个片,最后一个片的**标志**比特被设为0,其他所有片的标志比特被设为1.另外为了让目的主机确定是否丢失额其中的一个片(且能按照正确顺序重新组装片),使用偏移字段指定该片应该放阿紫初始IP数据报的那个部分.
IPv4编址
主机与路由器连入网络的方法
一台主机通常只有一条链路连接到网络,主机IP发送数据报从该链路发送.主机与物理链路的边界叫接口,一台路由器有多个接口. IP要求每台主机和路由器都有自己的IP地址,因此一个IP地址实际上是与每一个接口相关联的. 每个IP地址长度32bit(4字节),总共2^32个可能的IP地址,约40亿个. 一个接口的IP地址的一部分需要由其连接的子网决定.如互联3个主机接口与1个路由器接口的网络形成一个子网,IP编址为这个子网分配一个地址:223.1.1.0/24,/24记法称为子网掩码,指示了32bit中的最左侧24bit定义了子网地址.为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使用接口端接这些隔离的网络的端点,这些隔离的网络中每一个都叫做一个子网.
因特网地址分配策略:无类别域间路由选择CDIR.a.b.c.d/x的地址的x最高比特构成IP地址的网络部分,称为该地址的前缀,一个组织通常被分配一块连续的地址,即具有相同前缀的一段地址。BGP路由选择协议中,该组织网络外的路由器仅考虑x,减少了转发表的长度,因为形式为a.b.c.d/x单一表项足以将数据报转发到该组织内的任何目的地.地址聚合(路由聚合):使用单个网络前缀通告多个网络的能力.一个地址的剩余32-x比特可认为是用于区分该组织内部设备的。组织内部路由器转发分组时,才会考虑这些比特.在CDIR出现之前,采用分类编制共分五类地址:
主类 | 地址范围 | 概述 |
---|---|---|
A类 | 0.0.0.0-127.255.255.255 | 使用第一个8位位组表示网络地址。剩下的3个8位位组表示主机地址 |
B类 | 128.0.0.0-191.255.255.255 | 使用两个8位位组表示网络号,另外两个8位位组表示主机号 |
C类 | 192.0.0.0 - 223.255.255.255 | 使用三个8位位组表示网络号,另外一个8位位组表示主机号 |
D类 | 224.0.0.0 - 239.255.255.255 | D 类地址用于在IP网络中的组播 |
E类 | 240.0.0.0 - 255.255.255.255 | E 类地址保留作研究之用。因此Internet上没有可用的E类地址 |