浅谈TCP IP协议栈(二)IP地址
上一节大致了解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地址的更多相关文章
- 浅谈TCP IP协议栈(三)路由器简介
读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个T ...
- 浅谈压缩感知(二十四):压缩感知重构算法之子空间追踪(SP)
主要内容: SP的算法流程 SP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 SP与CoSaMP的性能比较 一.SP的算法流程 压缩采样匹配追踪(CoSaMP)与子 ...
- 浅谈TCP IP协议栈(一)入门知识【转】
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...
- 浅谈 TCP、IP、DNS 和 HTTP 的关系
一.浅谈三个协议的基本概念 1.IP 协议 按层次分,IP网际协议位于网络层,几乎所有的网络的系统都会用到 IP 协议,其重要性非同一般.IP 协议作用就是把各种数据包传送给对方,对方的地址就要看其 ...
- 浅谈Linux下如何修改IP
linux 下命令之浅谈//cd .. //返回上一级//创建文件夹touch test.txt//Linux不区分大小写//往一个文件中追加内容echo "****" > ...
- TCP/IP协议栈 --- 网络层(IP 首部 和分片)
IP 是TCP/IP协议栈中重要的层次, TCP UDP ICMP IGMP都是依赖IP层进行传输的.首先它是一种不可靠,无连接的协议.不可靠:它不保证IP包能正确到达目的地,无连接:表示IP并不会维 ...
- 浅谈TCP通讯
基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息. 使用Tcp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定 ...
- Linux网络编程——浅谈 TCP 三次握手和四次挥手
一.tcp协议格式 二.三次握手 在 TCP/IP 协议中.TCP 协议提供可靠的连接服务,採用三次握手建立一个连接. 第一次握手:建立连接时,client发送 syn 包(tcp协议中syn位置1. ...
- 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)
主要内容: OMP的算法流程 OMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.OMP的算法流程 二.OMP的MATL ...
随机推荐
- 一文掌握 Linux 性能分析之网络篇(续)
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 这是 Linu ...
- spark对elasticsearch增删查改
增 新建一个 dataframe ,插入到索引 _index/_type ,直接调用 saveToEs ,让 _id 为自己设定的 id: import org.elasticsearch.spark ...
- 让 CDN 更省流量的 Brotli 算法详解
早年,我还是学生的时候,时常会鼓捣自己的个人网站,其中最困扰我的问题就是源站服务器易崩溃.作为学生,一方面我没有足够的钱购买高质量的服务器,另一方面一年的流量费用算下来也挺贵的,要花掉我不少的生活费. ...
- nginx的configure流程
configure配置 nginx的编译过程,第一步是configure.我们使用 --help可以看到configure的很多配置. configure的过程做的事情其实就是检测环境,然后根据环境生 ...
- Python爬虫入门教程 25-100 知乎文章图片爬取器之一
1. 知乎文章图片写在前面 今天开始尝试爬取一下知乎,看一下这个网站都有什么好玩的内容可以爬取到,可能断断续续会写几篇文章,今天首先爬取最简单的,单一文章的所有回答,爬取这个没有什么难度. 找到我们要 ...
- JAVA集合类兄妹List和Set
List 接口及其实现类 有序集合,集合中每个元素都有其对应的顺序索引,类似数组,索引也是从 0 开始,可以根据元素的索引,来访问元素. List 集合允许添加相同的元素,因为它是通过下标来取值的,不 ...
- 15-Flink实战项目之实时热销排行
戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...
- 环境与工具3:从打字开始 | vim | sublime
作为程序员,最不爽的一件事是被亲戚叫去修电脑. "喂,怎么跟你们讲,我是写代码的,不是修电脑的!什么?代码是什么?!" 小白:为什么程序员就不能修电脑了? 小程:会不会修都有可能, ...
- 启航 - cache2go源码分析
一.概述 我们今天开始第一部分“golang技能提升”.这一块我计划分析3个项目,一个是很流行的golang源码阅读入门项目cache2go,接着是非常流行的memcache的go语言版groupca ...
- .NET快速信息化系统开发框架 V3.2 -> Web 用户管理模块编辑界面-组织机构选择支持级联选择
下拉框级联选择功能非常的实用,框架用户管理编辑界面对组织机构的选择在3.2版本中新增了级联选择的支持,让组织机构的选择更加的方便与高效,也不容易出错. 我们框架的组织机构结合实际分成了5种类型,分别为 ...