计算机网络基础知识(专升本版)

计算机网络基础

二进制十进制八进制、十六进制

二进制运算规则

(1)算术运算规则   逢二进一,借一当二。

加法规则:0+0=0;0+1=1;1+0=1;1+1=10;(向高位有进位)

减法规则:1-0=1;1-1=0;0-0=0;10-1=1;(向高位有借位)

乘法规则:0×0=0;0×1=0;1×0=0;1×1=1;

除法规则:0/1=0;1/1=1;

(2)逻辑运算规则   口诀

逻辑与运算(AND):0^0=0;0^1=0;1^0=0;1^1=1; 有0为0

逻辑或运算(OR):0ν0=0;0ν1=1;1ν0=1;1ν1=1; 有1为1

逻辑非运算(NOT):                            0变1,1变0

逻辑异或运算(XOR):0⊕0=0;0⊕1=1;1⊕0=1;1⊕1=0; 相同为0,不同为1

(3)进制数的增、删、小数点位移

若一个非零无符号r进制整数末尾删除n个零,则此数为原数倍;

若一个非零无符号r进制整数末尾添加n个零,则次数为原来的倍;

若一个非零无符号r进制小数点向左移动n位,则此数值为原数的倍;

若一个非零无符号r进制小数点向右移动n位,则此数值为原来的

二进制B:由0和1两个数字组成。

八进制O:由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。

十进制D:都是以0-9这九个数字组成,不能以0开头。

十六进制H:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

A相当于十进制中的10,B相当于11,依次类推,F相当与15

十进制转换为二进制、八进制、十六进制

整数除以2/8/16,反向取余数,直到商为0终止。

9(十进制)→1001(二进制)

小数乘以2/8/16取整,顺序输出。

小数部分“乘不尽”:十进制四舍五入,八进制三舍四入,十六进制七舍八入。

二进制、八进制、十六进制转十进制

整数要从右到左用二进制的每个数去乘以2的相应次方并递增

小数从左往右乘以2的相应负次方并递减

例如:二进制数1101.01转化成十进制

1101.01(2)=1*20+0*21+1*22+1*2+0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)

所以总结起来通用公式:abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)

八进制、十六进制转二进制

 整数从右往左数三位/四位,小数从左往右数三位/四位

补零:例如二进制1 101 110.101 1转八进制是156.54

  整数高位补零为001,小数低位补零为100

八进制数转二进制原理:八进制数的一位是二进制数的三位

十六进制数转二进制原理:十六进制数的一位是二进制数的四位

八进制与十六进制转换

两者之间的转换可以借助十进制或者二进制完成

先将八进制转换成十进制或二进制,再转换成十六

某进制问题:已知3*4=15,则3*5=21;  37+6=45,则13*5=67

解:3××4×=1×+5×=12=R+5,R=7;R是七进制

  3××5×=15,15转7进制为21;15÷7余1,2÷7余2

原、反、补、偏移码

正数

负数

转换成二进制数(首位正数为0, 负数为1)

原码

0+|x|

1+|x|

[+1]原 = 0000 0001

[-1]原 = 1000 0001

反码

0+|x|

正数都不变

负数除符号位不变,

其余各位取反

[+1] = [00000001]原 = [00000001]反

[-1] = [10000001]原 = [11111110]反

补码

0+|x|

正数都不变

负数符号位不变,

其余各位取反, 反码+1

[+1] = [00000001]原 = [00000001]反 = [00000001]补

[-1] = [10000001]原 = [11111110]反 = [11111111]补

偏移码

0+|x|

正数都不变

补码的符号位取反,

其余各位不变

[+1] = [00000001]原 = [00000001]反 = [00000001]补 =[00000001]移

[-1] = [10000001]原 = [11111110]反 = [11111111]补 = [01111111]移

Tips:从右到左,直到有1,其余位反,符号位不变。(原码求补码)

原码、反码表示数的范围:-127---127 补码表示数的范围:-128---127

字符编码

(1)西文字符编码(ASCII)

ASCII码采用7位二进制编码,表示为即128个字符,最高位为0

小写字母比对应的大写字母的码值大32;

例:大写字母A的值是65,小写字母f的值是102;  65+32+5=102

注释:从0---9,A---Z,a---z都是顺序排列,逐次增加1

比值大小:小写英文>大写英文>数字>空格

  1. 汉字字符编码

输入码:音码(搜狗、谷歌)、形码(形状部首)、数字编码

国标码:每个字节低7位,最大128×128=16384个汉字;

              一级3755个,拼音排序;二级3008个,偏旁部首排序

计算公式:国标码=区位码+2020H

机内码:计算机内部使用的编码,每个字节最高位为1;

计算公式:机内码=国标码+8080H=区位码+A0A0H

字形码:在显示屏或打印机输出;表示方式为点阵式矢量式

计算公式:点阵字形所占字节数=点阵行数×点阵列数/8

编码类型

一个编码所占的字节数

每个字节的最高位

范围

ASCII编码

1

0

国标码

2

0

2121H--7E7EH

机内码

2

1

A1A1H--FEFEH

常见字符编码进制数:

A   1000001B     65D    41H         a 1100001B 97D 61H

0 0110000B   48D    30H   空格  0100000B    32D    20H                            

信息存储单位和地址

(1)位(bit,b):计算机存储信息最小单位,其值为0或1,表示两种状态。

(2)字节(Byte,B):8个二进制位组成一个存储单元,表示存储空间大小最基本单位 

1B=8b 1KB=1024B=B       1MB=1024KB=B

1GB=1024MB=B               1TB=1024GB=B

(3)字(Word):可以分为8位、16位、32位、64位机。

  例:字长64位,一个字含有64个二进制;

(4)地址编号:操作系统把所有存储单元以字节为单位进行编号,称作编址。

   存储容量=末位地址➖起始地址➕1(单位为B)

:一幅1024*956像素、16位色,bmp图,求它的存储容量,单位为kb

计算:1024*956*16/(1024*8)=1912kb

:ASCII坐标是(2,4),求它的值是多少?

纵坐标为2,横坐标为4,转为二进制为2:0010  4:0100

组合为01000010    转换取值为66

:十六进制,从2001到7000,容量多少?

7000-2001+1=5000  

:二进制24位,求寻址范围是多少?

:有一个8kb得内存储器,用十六进制数对它得地址进行编码,则编号可以从0000H到?         转换成二进制 10 0000 0000 0000

                                                    转换成十六进制  2000H

                                                   末位地址:2000H+0000H-1=1FFFH

                                                   编号从0000H---1FFFH

:已知某处理器访问内存空间的最大地址为FFFF FFFFH

(1)求该处理器的地址总线数。

FFFF FFFF + 1 =1 0000 0000  =

  地址总线数为32艮

(2)求该处理器的寻址能力。

因为该地址的总线数为32,所以

:假设内存空间地址段为2001H---7000H则此内存存储空间为多少KB?

:已知某存储器的存储单元起始地址为2001H,它的容量为16KB,则末尾地址是什么? 

4000H+2001H-1H=6000H

地址分类

IP地址与二进制之间的转换

二进制数顾名思义,就是以二进制为基础的数, 用0和1两个数来表示, 同样我们可以用二进制来表示任何一个数字

例如216这个数

216 =

1 * 128 +

1 * 64 +

0 * 32 +

1 * 16 +

1 * 8 +

0 * 4 +

0 * 2 +

0 * 1

提取乘号之前的数字我们得到所代表的二进制数: 11011000

IP地址:192.168.59.24

二进制:11000000,10101000,00111011,00011000

IP地址和子网掩码逐位相与

逐位相与是子网掩码与网络地址相同位置的数字相加,当和为2的时候该位置写作1,否则的话写作0

举例1 (求网络地址)

点分十进制表示的IP地址 141 14 72 24

转换为二进制表示的IP地址 10001101 00001110 01001000 00011000

子网掩码是255.255.192.0 11111111 11111111 11000000 00000000

IP地址和子网掩码逐位相与 10001101 00001110 01000000 00000000

网络地址(点分十进制表示) 141 14 64 0

子网划分

选定的子网掩码将创建多少个子网?

2^x个,其中x是子网掩码借用的主机位数

如:192.168.10.32/28,我们首先知道这是一个c类的ip地址,C类ip的默认子网掩码为:255.255.255.0,而这个ip的实际子网掩码是:255.255.255.240。为什么?因为ip地址后面的/28代表ip地址的实际网络是28个比特位,那么主机位就是4位,所以子网掩码的最后一段应该是11110000(1代表网络位,0代表主机位),故实际子网掩码是:255.255.255.240,默认子网掩码最后一段应该是0(00000000),现在却是240(11110000)。故其借用了主机位4位来充当网络位,也就是2^4->16个。

每个子网可包含多少台主机?

2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址

根据子网掩码计算网络中的主机数量

192.168.1.16/27这个为例子,/27就是这个子网的掩码,子网是由32位二进制的数字组成,这个27就是代表他的32位二进制中前面27位是1,后面5位是0,则他的最大的主机数就是2的5次方,也就是32,其中包含了网络地址和广播地址,所以要去掉2,可用的主机地址就为30。

比方说是192.168.1.16  255.255.255.224,网掩码是0—255,这里面有256个数,则我们用256减去224,得到32,需要去掉网络地址和广播地址,则这个可用主机地址的数量就为30。

可用地址的计算要使用到32,他的网络地址是能够整除32的,取两个值的中间范围就是他的最大主机地址了;范围:0-31,32-63,64-95,96-127,128-159,160-191,192-223,224-254,

而192.168.1.16/27,因为27是在第4段的,所以我们看192.168.1.16的第四段是16,而16所在的范围是0-31,则他的最大地址就是192.168.1.0—192.168.1.31,而他的网络号就是第一个也就是:192.168.1.0,而广播地址则是最后一个也就是192.168.1.31,则他的可用主机地址就是192.168.1.1~192.168.1.30 

无分类编址CIDR和构造超网

1.无分类编址

 CIDR还使用“斜线记法”,或称为CIDR记法,即在IP地址后面加上“/”,然后写上网络前缀所占的位数 CIDR把网络前缀相同的连续的IP地址组成一个CIDR地址块。只需要知道CIDR地址块中的任意一个地址,就可以知道这个CIDR地址块的起始地址(最小地址)和最大地址,以及CIDR地址块中的地址数。

例如,已知IP地址128.14.35.7/20是某个CIDR地址块中的一个地址,那么最小地址、最大地址计算如下

2.构成超网

将多个子网聚合成一个较大子网,叫做构成超网路由聚合。方法:将网络前缀缩短。

例如网络1:206.1.0.0/17和网络2:206.1.128.0/17,可以将这两个子网聚合成一个更大的子网206.1.0.0/16,如下图所示。

3.最长前缀匹配

路由器会从匹配结果中选择具有最长的网络前缀的路由——最长前缀匹配。这是因为前缀越长,地址块越小,路由越具体。

例如路由器R0的路由表见下表:若进入路由器R0的分组的目的地址为132.19.237.5,那么该分组应该被转发到哪一个下一跳路由器()

可以看出,第一个选项前缀匹配8位,第二个选项前缀匹配11位,第三个选项前缀只能匹配21位,第22位和目的地址二进制不同,所以根据最长前缀匹配,选择下一跳的地址为

R2。0.0.0.0/0是默认路由

总结

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值