上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适的时间掌握应该掌握的知识,循序渐进方能进步。

先简单回顾一下,TCP/IP协议栈:

数据链路层->网络层->传输层->应用层

如果为每一层加上一个ID,就像每个人都有身份证那样,那么可以这样标记:

数据链路层(MAC地址)

网络层(IPV4地址,以下简称IP地址)

传输层、应用层(端口)

这样的标签并不能完全概括这一层所有特征,但是如果掌握这些标示,就相当于是一把钥匙,可以让你快速打开这一层协议的“大门”。

和我们生活关系最密切的IP地址:

作为网络层的标识,IP地址这个概念可以说大家肯定都有耳闻,IP地址是一个32位的二进制数,32位是个什么概念呢?相当于是4个字节,学过C语言的同学应该知道,一个int型数据就是32位,那么IP地址的个数应该就是int的最大值4294967296,看上去很多是不是,有43亿呢,但是在互联网爆炸式发展的今天,这点IP地址还真的不够分,因此IPV6因运而生,这都是后话,以后有机会在介绍。

试想一下,某个IP地址是:11000000101010000000000100000001

是不是看着有点晕,没办法,我们看惯了10进制的1,2,3,10,99之类的,看这些二进制数真是觉得极不友好,让你去背这样一个IP地址,估计得好久,而且估计记住没多久就会忘了,因此我们队IP地址采取一种特殊的表示方式——点分十进制表示法,上面的二进制IP地址转换后是:192.168.1.1,是不是很眼熟,这是大家在设置无线路由器时进入设置界面的IP地址。

说完IP地址的表示方式,我们再说一下IP地址的分类,IP地址通常分为5类:

A类地址 (1.0.0.0—127.255.255.255) 

B类地址 (128.0.0.0—191.255.255.255) 

C类地址 (192.0.0.0—223.255.255.255) 

D类地址 (224.0.0.0 - 239.255.255.255) 

E类地址 (240.0.0.0 - 255.255.255.254)

每一类地址后面就是其范围,如果只是死记硬背,那样不太好,只有知道这些地址都是如何分类的,才能更好地记住。

IP地址可以简单看成是由网络号和主机号组成的,但具体多少位网络号,多少位主机号,不同类别的IP地址有不同的划分情况:

A类地址:8位网络号,24位主机号

B类地址:16位网络号,16位主机号

C类地址:24位网络号,8位主机号

网络号是由ICANN统一分配的,而主机号则由该网络端的系统管理员进行分配的,有时候为了更好地划分网络,还可以将主机号细化,分配成主机地址+子网地址的形式,也就是子网划分。

当我们知道每一类地址的组成之后,相应的其范围也就非常明确了,就以网络号分配来看,A类地址要占到8位,因此其IP地址的首位肯定是0,这样它就吧00000000 - 01111111 (0 - 127)之间所有的网络号都占满,好了,A占满以后该B类地址了,B类地址虽然是16位的,但是你不能去抢A类地址的网络号是不,因此它的网络号的范围就是128-191,可以发现B类地址的前两位固定都是10,依次类推,C类地址的前三位就是110,所以其范围就是192-223.

IP地址的划分大致就是这样,作为网络层最重要的线索,我们会在之后的讲解中一步步介绍IP地址以及它所指向的网络层!

浅谈TCP IP协议栈(二)IP地址的更多相关文章

  1. 浅谈TCP IP协议栈(三)路由器简介

    读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个T ...

  2. 浅谈压缩感知(二十四):压缩感知重构算法之子空间追踪(SP)

    主要内容: SP的算法流程 SP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 SP与CoSaMP的性能比较 一.SP的算法流程 压缩采样匹配追踪(CoSaMP)与子 ...

  3. 浅谈TCP IP协议栈(一)入门知识【转】

    说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...

  4. 浅谈 TCP、IP、DNS 和 HTTP 的关系

    一.浅谈三个协议的基本概念 1.IP 协议 按层次分,IP网际协议位于网络层,几乎所有的网络的系统都会用到 IP 协议,其重要性非同一般.IP 协议作用就是把各种数据包传送给对方,对方的地址就要看其 ...

  5. 浅谈Linux下如何修改IP

    linux 下命令之浅谈//cd ..  //返回上一级//创建文件夹touch test.txt//Linux不区分大小写//往一个文件中追加内容echo "****" > ...

  6. TCP/IP协议栈 --- 网络层(IP 首部 和分片)

    IP 是TCP/IP协议栈中重要的层次, TCP UDP ICMP IGMP都是依赖IP层进行传输的.首先它是一种不可靠,无连接的协议.不可靠:它不保证IP包能正确到达目的地,无连接:表示IP并不会维 ...

  7. 浅谈TCP通讯

    基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息. 使用Tcp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定 ...

  8. Linux网络编程——浅谈 TCP 三次握手和四次挥手

    一.tcp协议格式 二.三次握手 在 TCP/IP 协议中.TCP 协议提供可靠的连接服务,採用三次握手建立一个连接. 第一次握手:建立连接时,client发送 syn 包(tcp协议中syn位置1. ...

  9. 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)

    主要内容: OMP的算法流程 OMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.OMP的算法流程 二.OMP的MATL ...

随机推荐

  1. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>        <n ...

  2. BBS论坛(二十五)

    25.1.发布帖子后台逻辑完成 (1)apps/models.py class PostModel(db.Model): __tablename__ = 'post' id = db.Column(d ...

  3. 「造个轮子」——cicada(轻量级 WEB 框架)

    前言 俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围. 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式. 好了,现在着重来谈谈 cicada 这个项目 ...

  4. SpringCloud(9)---mysql实现配置中心

    mysql实现配置中心 本公司配置数据的管理是通过mysql进行配置管理,因为已经搭建好了,所以自己动手重新搭建一遍,熟悉整个流程.有关项目源码后期会补上github地址 微服务要实现集中管理微服务配 ...

  5. asp.net core系列 31 EF管理数据库架构--必备知识 反向工程

    一.   反向工程 反向工程是基于数据库架构,生成的实体类和DbContext类代码的过程,对于Visual Studio开发,建议使用PMC.对于其他开发环境,请选择.NET Core CLI工具( ...

  6. redis 系列14 有序集合对象

    一. 有序集合概述 Redis 有序集合对象和集合对象一样也是string类型元素的集合,且不允许重复的成员.不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员 ...

  7. PE知识复习之PE的各种头属性解析

    PE知识复习之PE的各种头属性解析 一丶DOS头结构体 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // M ...

  8. 磊哥评测之数据库:腾讯云MongoDB vs自建

    本文由云+社区发表 作者:磊哥 上期文章我们聊到了redis.这期我们来说说另一个网红nosql数据库:MongoDB.有这么一个介绍MongoDB的说法是:MongoDB是非关系数据库当中功能最丰富 ...

  9. Mybatis学习笔记之二(动态mapper开发和spring-mybatis整合)

    一.输入映射和输出映射 1.1 parameterType(输入类型) [传递简单类型] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) 使用#{}占位符,或者${}进行sql拼接. [ ...

  10. springboot情操陶冶-web配置(三)

    承接前文springboot情操陶冶-web配置(二),本文将在前文的基础上分析下mvc的相关应用 MVC简单例子 直接编写一个Controller层的代码,返回格式为json package com ...