1.IP的定义

IP是Internet Protocol(网际互连协议)的缩写,是整个TCP/IP协议族的核心,也是构成互联网的基础,是TCP/IP体系中的网络层协议。IP网络规定网络中所有设备必须有一个独一无二的IP地址,不能出现重复的地址。IP有两个版本IPv4和IPv6,IPv4已经快全部使用了,IPv6是今后的趋势,本文只讲IPv4。

2.IP地址分析

IP地址一般表现为X.X.X.X/X的形式,例如常见的192.168.10.10/24。可以看出IP地址有四个部分的数字和/后面一位数字组成,这些数字具体有哪些含义呢?

1.192.168.10.10/24这个地址属于192.168.10.0/24这个网段
2.网段的地址池是192.168.10.0-192.168.10.255
3.此网段的广播地址是192.168.10.255
4.有254个可用地址192.168.10.1-192.168.10.254

这里有一个名词“网段”,IP地址由网络位和主机位组成,掩码决定了网络位的位数,IP地址的网络位相同的是同一网段的。什么又是网络位和主机位呢?192.168.10.10/24其实是由二进制数转化而来,24是掩码的简写,在设备上的表示方式为255.255.255.0,我们将地址和掩码都转成二进制形式。
子网掩码转成二进制后发现前面24个1,后面8个0。所以可以看出来24的含义了吧,简写的掩码是多少二进制就有多少个1哦。子网掩码有多少个1网络位就是多少位了,剩下的就是主机位。当IP的主机位都是0,就代表这个地址的网络地址,当主机位都是1,代表这个地址的广播地址。这两个地址不可作为主机的IP,剩下还有254个可用地址。

这里需要注意一下,不是192.168.10.0/24和192.168.10.255/24不能作为主机地址不是因为最后一个数字是0和255不可用,而是因为主机位是全0和全1;反过来讲也不是所有网段都是以0结尾,不是所有广播地址都是以255结尾,主要还是要看主机位。例如如果掩码是23的话,掩码前23位是1。

我们发现主机位多了一位,这样这个网段就比24位掩码的网段多了256个地址了,去掉主机位全为0的网络地址192.168.10.0/23和去掉主机位全为1的广播地址192.168.11.255,剩下还有510个可用地址哦,其中192.168.10.255/23和192.168.11.0/23都是可以作为主机的IP哦。

如果把掩码变成25位呢,这样本来256个地址就被分割成两个128个地址的网段了分别是192.168.10.0/25和192.168.10.128/25。主机位为7,可用地址地址就是27-2个即126个。其中192.168.10.0/25网络地址是192.168.10.0,广播地址是192.168.10.127。192.168.10.128/25网络地址是192.168.10.128,广播地址是192.168.10.255。

根据分析和实际情况,可以整理以下知识点:

1.掩码越大,网段中可用的地址越少
2.主机位全为0是网络地址,主机位全为1是广播地址,不能作为主机的IP地址
3.一个网段中可用的地址是2的n次方-2个,n就是主机位,主机位=32-掩码
4.计算机上最小的子网掩码是30,可用地址只有2个
5.掩码是32的地址称为主机地址,只有一个地址,一般用做虚拟地址或者设备环回地址
6.IPv4一共有2的32次方个地址,4294967296个

3.IP地址分类

根据不同的取值范围,IP地址可以分为五类(容我盗一张图):

 A类地址的第一位为0B类地址的前两位为10C类地址的前三位为110D类地址的前四位为1110E类地址的前五位为11110


在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类私网地址:10.0.0.0~10.255.255.255
B类私网地址:172.16.0.0~172.31.255.255
C类私网地址:192.168.0.0~192.168.255.255
本地回环地址:127.0.0.1(所有主机都可以ping通的地址)

看到192.168.0.0这个地址眼熟吧,这就是我们日常生活中最常用的地址了,由于互联网的IP地址有限,划分了三个区域的私有IP,就是我们电脑、手机等网络设备的地址,然后使用地址转换技术NAT将私有地址转换成公网地址去上网了,互联网上是不会出现私有地址的哦。

4.IP的报文格式

IP包头共20个字节,内部格式如下图:

版本号(Version),占4个bit位.数据包中的第一位为4,即表示为该数据包为IPv4;
包头长度(IHL,Internet Header Length),字节数包含多少个32位,4个bit位;
服务类型(TOS,Type of Service),共由8个bit组成其中每个bit的组合分别代表不同的意思;
总长度(Total Length),通常以byte做单位来表示该封包的总长度此数值包括标头和数据的总和;
标识符(Identification),每一个IP封包都有一个16位的唯一识别码。当程序产生的数据要通过网络传送时都会被拆散成封包形式发送,当封包要进行重组的时候这个ID就是依据了;
标志(Flags),占3个bit,各位含义分别为:第一个“0”被保留,第二个DF,“1”表示不能分段,“0”表示分段。第三个MF,0表示最后一片,1表示还有更多的片;
分段偏移(FragmentOffset),在重组的时候就能够对号入座,占13位;
生存时间(TTL,Time to Live),设置了数据报可以经过的最多路由器数,每经过一次三层转发就会减1,ttl为0时设备将直接丢弃;
协议类型(Protocol ),表示传输层的协议类型。
头校验和 (HeaderChecksum)
IP源地址(SourceAddress)
IP目的地址(DestinationAddress)

在自己电脑上使用wireshark软件抓一下网口的包,对应一下吧。

服务类型tos8个比特位各参数含义:

 111--Network Control(网络控制);110--Internetwork Control(网间控制);   优先级6和7一般保留给网络控制数据使用,如路由。101--Critic(关键);                    优先级5推荐给语音数据使用。100--Flash Override(疾速);         优先级4由视频会议和视频流使用。011--Flash(闪速);                        优先级3给语音控制数据使用。  010--Immediate(快速);    001--Priority(优先);                 优先级1和2给数据业务使用。000--Routine(普通)。                   优先级0为默认标记值。

网络学习-1.IP基础相关推荐

  1. tcp丢包率_网络编程 | TCP/IP基础知识

    在2017年10月深圳 Cocos 沙龙上,有幸结识了社区中大名顶顶的Colin,Shawn在论坛上第一次看到Colin的团队用CocosCreator制作的<热血暗黑>时就被深深地震撼到 ...

  2. PTN学习总结---IP基础

    本周开始,要开始为期一周的PTN学习.为了督促自己学习,每日写下总结.督促自己! PTN全称是包传送网络,对有一定数据基础的人来说.会好懂一点,实际上是结合了SDH与数据产品的优势而产生的一门技术.它 ...

  3. 网络学习笔记—计算机网络基础

    1 什么是网络:网络就是几部计算机主机或者网络打印机之间的接口设备,通过网线或者无线网络技术,将这些主机或者设备连接起来,使得数据可以通过网络介质(网线或者是无线网络技术)来传输的一种方式. 2 计算 ...

  4. 网络学习-4.以太网基础

    1.基本概念 以太网( Ethernet )是现实世界中最普遍的一种计算机网络,是一种计算机局域网技术,同时也是一种协议.以太网协议定义了一系列软件和硬件标准,从而将不同的计算机设备连接在一起.以太网 ...

  5. 【TCP/IP 协议】 TCP/IP 基础

    总结 : 通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记; 博客地址 : h ...

  6. 网络基础学习:ip地址的知识

    网络基础学习:ip地址的知识 IP地址是什么? 如何查询计算机ip ip分为几类 IPv4和IPv6 IPv4和IPv6的通信 IP地址是什么? IP地址是指用于标识在网络上的设备或节点的一组数字,它 ...

  7. Python网络编程基础学习笔记-ip地址的介绍

    ip地址的介绍 1.ip地址的概念 IP地址就是标识网络中设备的一个地址,好比现实生活中的家庭地址. 2.ip地址的表现形式 通常分为ipv4 ipv6 说明: ip地址分为两类: ipv4 和 ip ...

  8. 网络知识基础篇(网络分层和IP地址)

    目录 一.计算机网络发展历史 二.计算机基础 1.网络层次划分 1.1五层协议 1.2七层协议(OSI  Open System Interconnection) 1.3五层与七层对应关系 1.4 T ...

  9. 网络黑客攻防学习平台之基础关第十一题

    网络黑客攻防学习平台之基础关第十一题 : 本地的诱惑 小明扫描了他心爱的小红的电脑,发现开放了一个80端口,但是当小明去访问的时候却发现只允许从本地访问,可他心爱的小红不敢让这个诡异的小明触碰她的电脑 ...

最新文章

  1. UCZProgressView CALayer旋转
  2. 汇编 控制流伪指令 .break .continue .else .elseif .endif .endw .if .repeat .until .untilcxz .while
  3. 64位Win10安装Pytorch
  4. 基于 Spring Boot 的 Restful 风格实现增删改查
  5. 设置tomcat自动启动的相关脚本
  6. Struts 体系结构与工作原理(图)
  7. java expextion_Java(20~24)
  8. AtCoder 4169 [ARC100D] Colorful Sequences(dp)
  9. 【集合框架】JDK1.8源码分析之HashMap(一)
  10. java绘制图形代码_ImagePy_Learn | 图形学绘制代码学习:core\draw\polygonfill.py
  11. 图片还原去遮挡_斗罗:这届coser太强,动画刚播出两天,战损三哥就被还原了...
  12. java数值加法null得到什么,fastjson 处理null值,对象为null时返回{},数字为null返回[]...
  13. 材料真的是朝阳行业吗?
  14. 小米8青春版超级夜景安排上了 这个样张我是服气的!
  15. MySQL主从同步延迟
  16. Python 的PIL,可以解决ImportError The _imagingft C module is not installed
  17. [LeetCode] 81. Search in Rotated Sorted Array II
  18. 什么是WAP PUSH?
  19. CopyU!v2 已经收录到腾讯软件管家!
  20. flashfxp搜索服务器文件夹,FlashFXP 命令行参数

热门文章

  1. oracle不兼容win7 64位系统,oracle 安装 win7 64位_已经下载好系统给电脑装系统的步骤 - Win7之家...
  2. ultraedit 16.1.0.22 无限期试用
  3. 面试字节,简历做了点手脚,第三方背调公司查出来了,被撤销offer!
  4. #【精华】 PB根据一串字符串生成拼音码
  5. 浏览器的兼容性测试基础知识
  6. Mac m1配置mysql
  7. ubuntu 下耳机插上后,扬声器仍有声音,耳机没有声音的情况。
  8. 中银泰月薪三千该如何进行理财
  9. pycharm自动排版 pycharm替换快捷键 2019版
  10. CAD日照分析之如何创建日照模型?