IP 协议

IP是TCP/IP核心协议,所有的TCP,UDP,ICMP,IGMP数据都以IP数据报传输。IP协议提供不可靠,无连接的数据报传送服务。

  • 不可靠的意思是它不能保证IP数据报能成功的到达目的地,IP仅仅提供尽力而为的传输服务。
  • 无连接的意思是IP并不维护任何关于后序数据报的状态信息,每个数据报的处理是相互独立的。

IP 报文格式

IP报文格式.png
  • 4位版本
    IPV4还是IPV6

  • 4位首部长度
    (2^4 - 1) * 4=60。所以首部最长为60个字节

  • 8位服务类型

  • 16位总长度字段
    整个IP数据报的长度利用首部长度和总长度就可以是算出IP数据报中数据内容的起始地址。该字段长度为16Bit,所以IP数据报最长可达65535字节。

  • 标识字段
    每产生一个数据报,计数器就加1,这样就可以标识每一份数据报。当数据报被分片后,标识字段会被复制到所有数据报片中。(关于IP分片,参见UDP协议)

  • 标志字段
    3位中目前只有2位有意义:

    • MF:MF=1表示后面还有分片, MF=0表示已是数据报片中的最后一个。
    • DF:DF意思是“不能分片”, 只有当DF=0,才允许分片。
  • 片偏移
    用于IP分片中该片偏移原始数据报开始处的位置。

  • 生存时间TTL
    设置该数据报可以经过的最多的路由器数。指定了数据报的生存时间,经过一个路由器,它的值就减1,当该字段为0时,数据报就被丢弃,并发送一个ICMP报文通知源主机。

  • 首部检验和字段
    这个字段只检验数据报的首部,不包括数据部分。

  • 选项字段
    是一个可变长字段,选项字段一直以4字节作为界限。这样就可以保证首部始终是4字节的整数倍。

  • 源IP
    记录源IP地址

  • 目的IP
    记录目的IP地址

IP编址

IP地址的编址方法一共经历3个历史阶段

  • 分类的IP地址,最基本编址
  • 子网的划分,对基本编址的改进
  • 无分类编制(构成超网),新的无分类编址
分类的IP地址
分类.png
  • A类
    A类地址的网络号字段8位,第一位固定为0,于是只有7位可以供使用。于是总共有0.x.x.x ~ 127.x.x.x 有2^7 - 2 = 126个,为什么要减掉2个。原因是:

    • 网络号全为0表示本网络。
    • 01111111(127)表示本地软件的环回测试,若主机发送一个目的地址为该网络的IP数据报,不会把IP数据报发送到网络上。

    A类地址的主机号为24位,因此每一个A类网络中的最大主机数是2^24 - 2,减2的原因是主机号为0,表示该主机所连的网络,全1表示网络上所有的主机(广播地址)。

  • B类
    B类地址网络号字段有2字节,但前面2位已经固定,只剩下14位可以进行分配。因为不会存在全0或者011....所以不用减2。所以总共有128.1.x.x ~ 191.255.x.x(128.0.0.0不指派)即2^14 - 1个网络地址,主机地址2^16 - 2

  • C类
    C类地址指派范围是192.0.1.x ~ 223.255.255.x(192.0.0.x也是不指派的)即2^21 - 1个网络地址,主机数量是2^8 - 2

划分子网

划分子网主要是为了解决传统IP分类编制法的IP地址空间的利用率有时很低两级IP不够灵活的缺点。

划分子网的方式是从主机号借用若干单位作为子网号,划分子网属于一个单位内部的事情,对外仍然表现为一个网络。

                     IP地址 = {  < 网络号 > :< 子网号 > :< 主机号 >  }
  • 子网掩码
    从IP数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分,因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。

    所以现在要得出网络号,我们必须知道这个网络的子网掩码(路由器在和相邻路由器交换路由信息时,会告诉自己所在网络(或子网)的子网掩码)。

    案例.png

使用子网掩码的好处就是不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位相"与",就能立即得出网络地址出来。
因为有默认掩码的存在:
【1】 A类地址的默认掩码:255.0.0.0
【2】 B类地址的默认掩码:255.255.0.0
【3】 C类地址的默认掩码:255.255.255.0
这样即使没有划分子网,也能得出正确的网络号。

IP分组转发

在划分子网后,路由表必须包含以下3项内容:目的网络地址子网掩码下一跳地址

  1. 从收到的数据报首部提取目的IP地址D。
  2. 先判断是否为直接交付,对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相"与"(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行3。
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器:否则,执行4。
  4. 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相与,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行5. 若该路由有一个默认路由, 则把数据报传送给路由表中所指明的默认路由器,否则执行6。
  5. 报告转发分组出错。

如图:

  1. 源主机H1向目的主机H2发送的分组的目的地址是H2的IP地址128.30.33.128。
  2. 源主机H1首先要进行的操作要判断:发送的这个分组,是在本子网上进行直接交付还是要通过本子网上的路由器进行间接交付?
  3. 源主机H1把本子网的"子网掩码255.255.255.128"与目的主机H2的IP地址128.30.33.128相与得出128.30.33.128,它不等于H1的网络地址(128.30.33.0)。这说明H2和H1不在同一个子网上。因此H1不能把分组直接交付H2,而必须交给子网上的默认路由器R1,由R1来转发。
  4. 路由器R1在收到一个分组后,就在其路由表中寻找有无匹配的网络地址。
  5. 先看R1路由表中的第一行,用这一行的"子网掩码255.255.255.128"和收到的分组的"目的地址128.30.33.138"相与,得出128.30.33.128,和目的网络地址128.30.33.0比较,并不相符合。
  6. 用同样的方法找下一行,发现匹配,于是就不再继续查找下去。 R1把分组从接口1直接交付主机H2。
无分类编制(构成超网)

划分子网在一定程度上缓解了因特网的问题,但仍然面临3个问题:

  • B类地址即将分配完
  • 因特网上主干网上的路由表项急剧增长
  • 整个IPV4的地址空间即将被耗尽

针对前2个问题,提出了无分类编制CIDR的思想(第3个问题有IPV6负责)

CIDR有2个主要特点:

  • CIDR消除了传统的A类,B类,C类地址以及划分子网的概念
  • CIDR把网络前缀都相同的连续IP地址组成一个CDIR地址块。我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址快的起始地址和最大地址几个地址数。
CIDR.png

为了更方便的进行路由选择,CIDR使用32位的地址掩码,其中1的个数就是网络前缀的长度,也就是斜线记法中,斜线后面的数字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 网络层简介 1. 概念 为解决经由多条链路的交付问题,从而设计了网络层。其主要负责主机到主机的交付,并且在分组经过...
    顾慎为阅读 3,096评论 0 0
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,053评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 0. 介绍 本文源自《图解TCP/IP》第四、五章读书笔记。一篇文章让你了解IP协议。阅读的时候,注意一般知识点结...
    天才木木阅读 5,123评论 0 14
  • 3.1 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报...
    张芳涛阅读 833评论 0 3