上一节大致了解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. python之pickle模块

    1 概念 pickle是python语言的标准模块,安装python后以包含pickle库,不需要再单独安装. pickle提供了一种简单的持久化功能,可以将对象以文件的形式存放在磁盘上. pickl ...

  2. [Abp 源码分析]八、缓存管理

    0.简介 缓存在一个业务系统中十分重要,常用的场景就是用来储存调用频率较高的数据.Abp 也提供了一套缓存机制供用户使用,在使用 Abp 框架的时候可以通过注入 ICacheManager 来新建/设 ...

  3. Python内置函数(37)——len

    英文文档: len(s) Return the length (the number of items) of an object. The argument may be a sequence (s ...

  4. 虎牙数万主播同时在线直播的秘密,CDN推流日志上行实时监控

    6 月 10 日,又拍云 Open Talk | 2018 音视频技术沙龙·深圳站 顺利落幕,来自虎牙的直播运维研发架构师张波在沙龙上做了<基于CDN推流日志的主播上行实时监控及其自动化解密&g ...

  5. 我曾做过陈士成,也做过孔乙己,还做过阿Q

    一. 我现在是陈士成,陈士成现在是我.为什么这么说呢? 那年那天,天刚微微亮,似乎还在打着哈欠.我和父亲去得很早,为的就是在“小升初的考试成绩榜单”前面占一个有利的位置.我不记得当时穿的厚还是不厚,体 ...

  6. 关于ML.NET v0.6的发布说明

    ML.NET 0.6版本提供了几项令人兴奋的新增功能: 用于构建和使用机器学习模型的新API 我们主要关注的是发布用于构建和使用模型的新ML.NET API的第一次迭代.这些新的,更灵活的API支持新 ...

  7. C#版 - Leetcode 191. Number of 1 Bits-题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...

  8. EF架构~mysql中时间戳字段被认为是主键自增

    回到目录 如果在mysql中添加了自增字段,用来维护行的版本,那么在EF中会有一个问题,会把它当成是数据表主键,当你的真正主键是自曾时,就会把默认值0拼到生成的SQL语句里,导致你的insert出错, ...

  9. 详解 Symbol 类型

    ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证 ...

  10. 【转载】asp.net core 2.0的认证和授权

    在asp.net core中,微软提供了基于认证(Authentication)和授权(Authorization)的方式,来实现权限管理的,本篇博文,介绍基于固定角色的权限管理和自定义角色权限管理, ...