文章目录

  • 一、概念
  • 二、IPV4报文格式
  • 三、 IP地址
    • 1. IP地址的分类
      • 优点
      • 缺点
    • 2. 子网掩码
    • 3. CIDR
      • 3.1 概念
      • 3.2 表示形式
      • 3.3 CIDR聚合

一、概念

IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。IP是整个TCP/IP协议族的核心,也是构成互联网的基础。

IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。

IP协议的版本有IPV4和IPV6,目前用的最广泛的还是IPV4,所以这篇主要介绍IPV4

二、IPV4报文格式

  • 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。
  • 4位头部长度(headerlength):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。
  • 8位服务类型(Type OfService):3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要。
  • 16位总长度(total length):IP数据报整体占多少个字节。
  • 16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每 一个片里面的这个id都是相同的。
  • 3位标志字段:第一位保留(现在不用),第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表示"更多分片",如果分片了的话,最后一个分片置为1,其他是0,类似于一个结束标记。
  • 13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。
  • 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数。一般是64。每次经过一个路由,TTL -=1,一直减到0还没到达,那么就丢弃了。这个字段主要是用来防止出 现路由循环。 8位协议:表示上层协议的类型。
  • 16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏。 32位源地址和32位目标地址:表示发送端和接收端。
  • 选项字段:不定长,最多40字节。

三、 IP地址

IP地址是32位的,给互联网上面的每一个主机分配一个地址,以十进制的形式表示,叫做点分十进制。

IP地址的形式:网络号+主机号

网络号:实现了互联网用户身份标识,用户识别主机所在的网络

主机号:用于识别同一网段内的不同主机

1. IP地址的分类

IP地址是一种分等级的地址结构,分为A、B、C、D、E五类。

  • A类地址:第1个字节为网络地址,后3个字节为主机地址,并且第一个字节的第一位为0。可用网络数为2^7 - 2,减二的原因是:

网络地址全0,表示本网络

网络地址全1,表示环回测试地址。127.X.X.X

  • B类地址:前两位总是10,第1、2个字节为网络地址,第3、4字节为主机地址。可用网络数为2^14-1,减一是因为128.0是不可指派的网络号。
  • C类地址:前两位总是110,第1、2、3个字节为网络地址,第4个字节为主机地址。可用网络数为2^21-1,减一的原因是192.0是不可指派的网络号.
  • D类地址:前两位总是1110,没有网络地址和主机地址之分
  • E类地址:前两位总是11110

优点

路由器根据所连目的主机的网络号部分来进行分组转发,节省了路由表的空间。

缺点

地址空间无法最大限度的得到利用

2. 子网掩码

为了更大限度的使用地址,使用子网掩码。将一个网络划分为多个子网。此时,IP地址的形式变为:网络+子网号+主机号

网络号和子网号唯一标识网络,使用子网掩码来确定哪些属于子网号和网络号,哪些属于主机号。子网掩码为1的表示网络号和子网号,为0的表示主机号。

子网地址: IP地址和子网掩码做AND运算

3. CIDR

3.1 概念

CIDR的全称是: Classless InterDomain Routing,无类域间路由,这可以更加精细的划分IP地址。

3.2 表示形式

IP地址={网络前缀,主机号}/网络前缀的长度

A.B.C.D/N

  • A.B.C.D/N 就是点分十进制的形式
  • N代表的就是前缀长度,表示网络号。
  • 四部分组成的点分十进制地址,后跟一个斜扛,最后是范围在0到32之间的一个数字:A.B.C.D/N。

不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码。

举个例子~~
192.25.14.7/20 = 11000000 00011001 0000 1110 00000111
可以得知:

  • 子网掩码:
    255.255.240 = 11111111 11111111 1111 0000 00000000

  • 最小地址(主机为全0)
    192.25.0.0 = 11000000 00011001 0000 0000 00000000

  • 最大地址(主机位全1)
    192.25.15.555 = 11000000 00011001 0000 1111 11111111

3.3 CIDR聚合

也称路由聚合,就是将多个子网聚合到一起形成超网,方法是将前缀缩短。将多个子网的IP地址写成二进制的形式,所有IP地址网络地址相同的部分变为新的前缀。有效地减少了要对外显示的网络数,防止了’路由表爆炸’,也遏制了互联网进一步扩大。

计算机网络-IP协议相关推荐

  1. 计算机网络——IP协议基础原理

    摘要 IP协议提供的一种统一的地址格式.它为互联网上的每一个网络和主机分配一个逻辑地址所以IP地址也叫逻辑地址,用来屏蔽物理地址的差异,MAC地址每一个机器都有一个编码.IP地址是32位二进制数据分为 ...

  2. 计算机网络划分子网实验报告,计算机网络ip协议实验报告范文

    计算机网络ip协议实验报告范文 一.实验目的 1. 掌握几种常用的网络命令,通过使用这些命令能检测常见网络故障 2. 理解各命令的含义,并能解释其显示内容的意义 二.实验内容 1. 运行 Window ...

  3. 计算机网络 ip协议是,IP协议是什么

    导读:文主要介绍的是IP协议是什么,想必大家对IP协议并不陌生,但是你知道的具体含义吗?不知道的话就看来学习一下吧~~~本文引用地址:http://www.eepw.com.cn/article/27 ...

  4. 计算机网络 ip协议是,计算机网络知识:TCP/IP协议

    一.什么是TCP/IP? TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法).它们分别是传输控制协议和互连网协议.这两个协议属于众多的TCP/IP 协议组中的一部分. TC ...

  5. 计算机网络 | IP协议相关技术与网络总结 :DNS、ICMP、DHCP、NAT/NAPT、通信流程

    IP协议相关技术与网络总结 DNS DNS与域名 域名服务器 域名的解析流程 ICMP ping NAT/NAPT NAT NAPT NAT的缺陷 代理服务 DHCP 通信流程 浏览器中输入url后, ...

  6. 计算机网络——IP协议—CIDR与路由聚合 || DHCP协议

    DHCP协议 如何获得IP地址?

  7. 计算机网络——HTTP协议原理

    摘要 在日常的开发中,很多开发的同学可能很少了解的HTTP协议的底层原理.HTTP协议的底层涉及到请求响应模型,HTTP的工作流程.cookie和session的原理等.本博文主要介绍计算机网络中HT ...

  8. 计算机网络——ARP协议(地址解析)原理

    摘要 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的 ...

  9. 计算机网络——ARQ协议(自动重传请求)原理

    摘要 自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一.它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输 ...

  10. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

最新文章

  1. ubuntu opencv c++ 读取摄像头
  2. Pedestrian Identification (1) ——前景目标检测
  3. ASP.NET Core MVC 配置全局路由前缀
  4. Java多线程:线程停止
  5. ping命令linux软件包,linux下安装 ping 命令
  6. Windows一些操作
  7. bitcoin 源码解析 - 交易 Transaction(三) - Script
  8. 挑战程序设计竞赛:Nim
  9. iOS 10 消息推送(UserNotifications)秘籍总结(一
  10. C#、Asp.net byte转换为GB/MB/KB 方法
  11. Mac上好用的音乐软件是哪个?MacOS专业音乐制作软件推荐
  12. B站视频下载器,可以下载到电脑后保存,畅享视频下载
  13. 汉中至巴中至南充铁路(汉巴南线)顺利开通
  14. HTML 全页面内容自由编辑与 HTML 页面全部黑白风格处理
  15. java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法
  16. 迈拓恢复出厂设置图解_迈拓维矩电脑切换器使用方法?
  17. C++:引用类型(int )
  18. 将mysql语句转换为sql_数据库-转换sql语句
  19. 宜未雨而绸缪,毋临渴而掘井。
  20. 前端微信小程序资讯类仿今日头条微信小程序

热门文章

  1. Oracle WITH AS 用法
  2. mysql导出的身份证格式错误
  3. VB代码窗口鼠标滚轮的使用
  4. JavaScript 数组方法every()
  5. fpc:lazarus 安装电子表格程式 FPSpreadsheet
  6. 天和流量王v4.69官方版-2011最新绿色版(增加网站流量工具)
  7. 深度学习系列(二)显卡驱动升级篇(笔记)
  8. 设置图片的透明度从左到右渐变
  9. 建设 Web3,现在最需要 Web2 的移民?
  10. 超图android离线瓦片,android端实践openlayers离线地图