HCIA-R&S笔记(三)

举报
zhoulive 发表于 2020/10/16 17:51:46 2020/10/16
【摘要】 IP编址想要确定一个东西的位置以及ta的唯一身份属实不是一件容易的事,想想在图书馆里一本一本的找书估计找个几个月差不多了,想在咱们国家找到确且的一个人呢?总不能问名字一个一个问吧,还会出现同名就麻烦了。按照杜威十进图书分类法如下编目:10大分类000 -计算机科学、资讯与总类100 -哲学与心理学200 -宗教300 -社会科学400 -语言500 -科学(指自然科学)600 -技术应用科学...

IP编址

想要确定一个东西的位置以及ta的唯一身份属实不是一件容易的事,想想在图书馆里一本一本的找书估计找个几个月差不多了,想在咱们国家找到确且的一个人呢?总不能问名字一个一个问吧,还会出现同名就麻烦了。

按照杜威十进图书分类法如下编目:

10大分类
000 -计算机科学、资讯与总类
100 -哲学与心理学
200 -宗教
300 -社会科学
400 -语言
500 -科学(指自然科学)
600 -技术应用科学
700 -艺术与休闲
800 -文学
900 -历史、地理与传记
计算机编辑
000 总论
001知识
002书
003系统
…~

居民身份证号码结构如下:

六位数字地址码
八位数字出生日期码
三位数字顺序码
一位数字校验码

相应的发现,不管是图书编目方式还是居民身份证号码,都是从“”范围到“”范围,图书先确定大类再确定小类,居民身份证号码先确定地点再确定出生日期balabala的。
很多东西的编排方式都是依据从“大到小的”规则,那在网络中的“大”和“小”是什么呢?想想是不是家里都有路由器,家用路由器是不是能被多个设备连接,像不像是一个稍微有点“大”的范围?那再大一点呢?一个校园网?再大呢?一个市的网络?说来说去是不是都是在说“网络”的范围。那我们的手机、电脑或者一些智能家居呢?都是一个终端,或者说是台主机?所以想确定IP地址,就需要“网络位”和“主机位”。

IP编址–组成

image.png

(咱们暂时聊的IPv4的地址)
IPv4地址是一个32位长度的二进制数,这个32位又是哪里来的?比如192.168.1.1这怎么算也就8个数字啊?怎么就出来四倍的位数了?咱们先想想啊,咱们有几个手指,十个吧?那电脑有几个手指?蛤,电脑有手指吗。啊,对哦,电脑没有手指,不过电脑有两种状态:“开”和“关”,是吧,所以我们认为9后面是10,电脑是不是认为1后面就是10了呢?毕竟电脑可没有10个“手指”能数。


所以实际上的IP地址是这样的:(数数下面是不是就是32位数了)

image.png

在这里选择的就是个C类私人地址,前24位为网络位,而后8位为主机位,这种将四段的八位二进制数转换成十进制,中间用点分隔的方式就是点分十进制(就是方便我们记忆的,不然一堆的01001101010100110010101…,这谁顶得住)。这么看是不是就能通过网络位和主机位就能确切的确定一台设备(或者终端)的身份了吧。(不应该怀疑一下这进制转换是不是错的吗?万一是我瞎说的呢?)

IP编址–进制转换

从小开始我们就学数数,从幼儿园的“1个苹果+1个苹果,一共有几个苹果”到小学一年级开始学“9个苹果+1个苹果,一共有几个苹果”再到三年级“99个苹果+1个苹果…”总之,从小到大我们坚信一点,9后面就是10,1+1就是2,那以前幼儿园的老师怎么教的呢?伸出一根手指就是1,再伸出一个手指就是2,十个手指都伸完了,那就上脚趾头,那就进一位变成10 。所以说就是从9*100 变成101 。那电脑呢?是不是就应该是从1*20变成21了呢。那想想192我们怎么转换到二进制,先想想2的多少次方和192最接近,是不是128(28),那还剩多少我们要转换,剩下的64是不是就是27,看看上面的图,欸?一样的。那就对了。
就是把1*100+9*10+2*1=192转换成1*28+1*27+0*26+0*25+0*24+0*23+0*22+0*21+0*20=192

(好麻烦的样子,行吧,懒的话这里有程序员专用计算器,win10自带进制转换功能)
image.png

IP编址–地址分类

说完进制转换,再想想,咱们居住的地方是不是xx省xx市xx县/区,这么想的话,网络是不是也有个“大”网和“小”网?嘿,还有分出几个大小类出来:

image.png

你看这ABCDE的,看都不用看就知道,A最大E最小是吧 在地址分类中,ABCDE将第一组二进制数的前四位作区分,0开头为A,10开头为B…一直到E,同时网络位也有所变化,A到C的网络为分别为8位、16位、24位,想想网络位越大,主机位就越小,能接入的主机数就少了,嗯,多少还算是划分出来个省市县了。

IP编址–私有地址与特殊地址

虽说“省市县”划分完了,总得有些IP(区域)留作特殊用法吧
比如:

127.0.0.0~127.255.255.255 回环地址了
0.0.0.0 任何网络
255.255.255.255 广播地址

私有地址则是解决IP地址分配殆尽(可用土地缺稀)问题:

10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255(玩过家用路由器的一看就懂)

IP报文头部

当然啦,知道IP编址之外,我们最主要的还是得知道IP数据包在网络中的传输吧,总不能因为知道个IP地址就沾沾自喜吧。

image.png

想了解IP数据包,最主要就是知道IP报文头部都写了啥东西进去:

Version(版本):一般为IPv4或IPv6
Header Length(首部长度):因为存在IP Option,所以长度不固定,因此需要首部长度来确定整个头部的长度,从而区分数据(data)与头部(header)的位置
DSField(Differentiated Services Field差分服务字段):说明执行加速传输还是精准传输以及传输中是否遇到了拥塞。
Total Length(数据长度):头部长度+数据长度
Identification(标识):标识是否是同一个数据包的分片
Flags(标记):是否分片与是否为最后一个分片
Fragment Offset(分片偏移):按照什么顺序重组数据包
Time to Live(生存时间):每经过一个设备就减一(防止数据包在网络中无限浪费资源)
Protocol(协议):标识IP协议的上层协议(TCP或UDP)
Header Checksum(头部校验和):检测传输过程中是否出现错误
Source IP Address(源IP地址):标识数据包源设备的IPv4地址
Destination IP Address(目的IP地址):标识数据包目的设备的IPv4地址
IP Options(IP可选项):对数据包头部格式进行扩展

IP包分片

假如一棵大树太高,不方便装车送走,这个时候该怎么办?是不是可以按照一定规格进行裁剪,当需要组装复杂的物件时再加工拼装?IP数据包也是这样的,当数据包太大的时候就需要对数据包做分片,那问题是怎么确定之前分片(裁剪的木材)是一个数据包(大树)里的呢?还有这数据包(树)从底部到顶部的顺序呢?回顾一下上面那张图上的字段中的Identification、Fragment Offset和Flags,是不是感觉都和裁剪、组合有关?

Identification(标识):标识是否是同一个数据包的分片
Flags(标记):是否分片与是否为最后一个分片
Fragment Offset(分片偏移):按照什么顺序重组数据包

这三个字段就是为了切割重组而创建的,用来方便之后能还原数据包(卡车装不下的大树),那这个运输的卡车容量是多少呢?这个运输的容量在网络中称为最大传输单元(Maximum Transmission Unit,MTU),它限定了数据包的大小,如果超过这个容量,就需要进行分片(对大树做切割)。

子网掩码

假如刚才将IP地址中的网络位成为地区分划中的“省市区”的话,那子网掩码就像是一个个小区,将区再进一步分划下去,这样土地利用率更高。
子网掩码的意思就是:为了划分子网络而盖网络的编
image.png
二进制网络位与二进制子网掩码做  运算之后得到的就是网络位。
就像是子网掩码把网络位都盖住了,剩下的就是子网划分出来的主机位。
ABC类地址的默认子网掩码如下:
image.png

定长子网掩码

定长子网掩码就像是把土地分为几个相同大小的小区,然后再小区里分配居民。
这个定长就是定住了子网掩码长度,掩码长度被“定住”之后,主机位就确定为一样了。当然,很多情况下都是选用变长子网掩码技术(想想也是哦,毕竟小区也有差异,大小区和小小区共存,这样就能更灵活得分配土地)

变长子网掩码

image.png
变长子网掩码(VLSM)图中子网掩码为25位,划分出两个126(128-2)可用主机数的子网,这时候可以再将一个126(128-2)可用主机数的子网划分为两个62(64)可用主机数的子网,这样就划分出更小的子网(小区)出来。

之所以上面需要减2的原因是因为主机位为全零和全一的IP不能作为主机IP。

无类域间路由

image.png
这个听起来就比较厉害了,实际上呢,就是两个或多个子网利用子网掩码,合并一个稍微大一点的网络,就像成立了一个“小区联盟”一样,我们住的小区和隔壁小区把铁栅栏拆了,合并在一起。今后就叫我们小区为“xx与xx”联合小区

网关

网关(Gatewall)是啥不知道,但海关是啥知道吧,多少都买过一些什么“海外购”之类的吧,商品过海关的时候,是不是都得打开检查商品,然后再重新封装转到下一个点。类比一下网关,网关使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间。而在TCP/IP协议中,网关实质上是一个网络通向其他网络的IP地址。

假设你的名字叫小不点(很小,这里你就是一个url地址,指向某个网页资源),你住在一个大院子里,你的邻居有很多小伙伴,父母是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。
但是你家长不允许你走出大门,你想与外界发生的一切联系,都必须由父母(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家里也有父母(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里和父母有了下面的对话:
小不点:妈妈(或爸爸),我想找班主任查一下小明的电话号码行吗?家长:好,你等着。(接着你家长给你的班主任拨了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99
小不点:太好了!妈(或爸),我想找小明,你再帮我联系一下小明吧。
家长:没问题。(接着家长向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家家长那里,然后他家长把电话给转到小明).
就这样你和小明取得了联系。
————————转自百度百科 关键字“网关”


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。