当今社会家庭生活,职场工作都离不开电脑。我们需要电脑,但是仅仅我们自己一台电脑是无法满足我哦们的生活与工作需求的,通过网线我们可以把很多台电脑连接起来,在办公室可以访问一个公司局域网,也可以访问全球因特网网站,在家里我们也可以访问公司的网络,也可以问全球因特网网站,这都是归功于互联网网络技术。
今天我们就来聊聊网络技术的一些基础知识。
1. MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址,用来定义网络设备的位置,MAC地址是网卡出厂时设定的,是固定的(但可以通过在设备管理器中或注册表等方式修改,同一网段内的MAC地址必须唯一)。MAC地址采用十六进制数表示,长度是6个字节(48位),分为前24位和后24位。
a、MAC地址分类
1)单播 MAC 地址是指第一个字节的最低位是 0 的 MAC 地址。(常用于手机,电脑,路由器,交换机), 你看看你的电脑 是不是?
2)组播 MAC 地址是指第一个字节的最低位是 1 的 MAC 地址。(常用于 iPTV电视等 )
3)广播 MAC 地址是指每个比特都是 1 的 MAC 地址。广播 MAC 地址是组播 MAC 地址的一个特例。
c、 MAC 地址也可以用于网站访问流量权限控制。(绑定某个mac地址的电脑访问网站)
2. IP地址(Internet Protocol Address),缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址。它为互联网上的每一个网络和每一台主机分配一个逻辑地址。IP协议目前有两个版本IPv4 与 IPv6 ,目前IPv6接触很少。我们了解我们目前常用的IPv4就算了。
a、IP地址的分类,IP地址分A、B、C、D、E五类,其中A、B、C这三类是比较常用的IP地址,D、E类为特殊地址。
在计算机网络中,主机ID全部为0的地址为网络地址,而主机ID全部为1的地址为广播地址,这2个地址是不能分配给主机用的。
b、IP地址总结学习思维导图如下:
以下这些特殊IP地址都是不能分配给主机用的地址:
保留的特殊IP地址思维导图如下:
公网IP地址
公有地址分配和管理由Inter NIC(Internet Network Information Center 因特网信息中心)负责。各级ISP使用的公网地址都需要向Inter NIC提出申请,有Inter NIC统一发放,这样就能确保地址块不冲突。
私网IP地址
创建IP寻址方案的人也创建了私网IP地址。这些地址可以被用于私有网络,在Internet没有这些IP地址,Internet上的路由器也没有到私有网络的路由表。
PS:私网地址访问Internet需要做NAT或PAT网络地址转换
公网和私网IP地址思维导图如下:
d 、常用C类IP地址详解
以下是我们window系统电脑的IP设置。
在计算机二进制中,1个字节 = 8位 = 8bit(比特)
IP地址(IPv4)由32位二进制数组成,分为4段(4个字节),每一段为8位二进制数(1个字节)
每一段8位二进制,中间使用英文的标点符号“.”隔开
计算机实际上是只识别二进制的ip地址的,由于二进制数太长,为了便于记忆和识别,把每一段8位二进制数转成十进制,大小为0至255.
IP地址的这种表示法叫做“点分十进制表示法”。
IP地址表示为:xxx.xxx.xxx.xxx
举个例子:192.168.31.101 就是一个IP地址的表示。
2的幂也称为2的指数,还可以称为2的次方,如2的2次方、2的3次方等等,任何数的0次方都等于1。
在IP地址中,0次方到7次方刚好为8位,这对于IP地址二进制转换为十进制非常方便。
举个栗子:11010010 = 1×2^7+1×2^6+0×2^5+1×2^4+0×2^3+0×2^2+1×2^1+0×2^0 = 128+64+0+16+0+0+2+0 = 210
我们需要记住上图的2的幂的结果,不需要死记硬背,这个是有技巧的,从上图来看,很容易发现,由于是2的幂,所有相邻的幂的前后都是相差2倍,所以只要知道其中一个幂值,就知道相邻的幂的值。
举个例子,我自己的电脑ip:
十进制: 192.168.31.101
二进制(计算机实际上是只识别二进制的ip地址): 11000000.10101000.000011111.01100101
IP地址=网络地址+主机地址,比如
计算机的IP地址由两部分组成,一部分为网络标识,一部分为主机标识,同一网段内的计算机网络部分相同,主机部分不同同时重复出现。路由器连接不同网段,负责不同网段之间的数据转发,交换机连接的是同一网段的计算机。通过设置网络地址和主机地址,在互相连接的整个网络中保证每台主机的IP地址不会互相重叠,即IP地址具有了唯一性。
3)IP地址与MAC地址区别
IP和MAC两者之间分工明确,默契合作,完成通信过程。在数据通信时,IP地址专注于网络层,网络层设备(如路由器)根据IP地址,将数据包从一个网络传递转发到另外一个网络上;而MAC地址专注于数据链路层,数据链路层设备(如交换机)根据MAC地址,将一个数据帧从一个节点传送到相同链路的另一个节点上。IP和MAC地址这种映射关系由ARP(Address Resolution Protocol,地址解析协议)协议完成,ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络。
计算机在和其他计算机通信之前,首先要判断目标IP地址和自己的IP地址是否在一个网段,这决定了数据链层的目标MAC地址是目标计算机的还是路由器接口的MAC地址。数据包的目标IP地址决定了数据包最终到达哪一个计算机,而目标MAC地址决定了该数据包下一跳由哪个设备接收,不一定是终点。
①、子网掩码(Subnet Mask)又叫网络掩码、地址掩码,必须结合IP地址一起对应使用。
②、只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
③、子网掩码和IP地址做“与”运算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在本地网络上,还是在远程网络网上。
④、子网掩码还用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。
①、同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。
②、子网掩码32位与IP地址32位相对应,IP地址如果某位是网络地址,则子网掩码为1,否则为0。
③、举个栗子:如:11111111.11111111.11111111.00000000
注:左边连续的1的个数代表网络号的长度,(使用时必须是连续的,理论上也可以不连续),右边连续的0的个数代表主机号的长度。
①、点分十进制表示法
二进制转换十进制,每8位用点号隔开
例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0
②、CIDR斜线记法
IP地址/n
例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。
注:n为1到32的数字,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2^(32-n)-2(-2的原因:主机位全为0时表示本网络的网络地址,主机位全为1时表示本网络的广播地址,这是两个特殊地址)。
前面说道,子网掩码可以分离出IP地址中的网络地址和主机地址,那为什么要分离呢?因为两台主机要通信,首先要判断是否处于同一网段,即网络地址是否相同。如果相同,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。
可以这么简单的理解:A主机要与B主机通信,A和B各自的IP地址与A主机的子网掩码进行And与运算,看得出的结果:
1、结果如果相同,则说明这两台主机是处于同一个网段,这样A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址来实现正常通信。
2、如果结果不同,ARP广播会在本地网关终结,这时候A会把发给B的数据包先发给本地网关,网关再根据B主机的IP地址来查询路由表,再将数据包继续传递转发,最终送达到目的地B。
计算机的网关(Gateway)就是到其他网段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本网段中任何一个地址,不过通常使用该网段的第一个可用的地址或最后一个可用的地址,这是为了尽可能避免和本网段中的主机地址冲突。
在如下拓扑图示例中,A与B,C与D,都可以直接相互通信(都是属于各自同一网段,不用经过路由器),但是A与C,A与D,B与C,B与D它们之间不属于同一网段,所以它们通信是要经过本地网关,然后路由器根据对方IP地址,在路由表中查找恰好有匹配到对方IP地址的直连路由,于是从另一边网关接口转发出去实现互连。
①、缺省子网掩码
也叫默认子网掩码,即未划分子网,对应的网络号的位都置 1 ,主机号都置 0 。
未做子网划分的IP地址:网络号+主机号
A类网络缺省子网掩码: 255.0.0.0,用CIDR表示为/8
B类网络缺省子网掩码: 255.255.0.0,用CIDR表示为/16
C类网络缺省子网掩码: 255.255.255.0,用CIDR表示为/24
②、自定义子网掩码
将一个网络划分子网后,把原本的主机号位置的一部分给了子网号,余下的才是给了子网的主机号。其形式如下:
做子网划分后的IP地址:网络号+子网号+子网主机号
举个栗子:
如:192.168.1.100/25,其子网掩码表示:255.255.255.128
意思就是将192.168.1.0这个网段的主机位的最高1位划分为了子网。关于子网划分将在下篇文章讲到,这里不在阐述。
子网掩码是用来判断任意两台主机的IP地址是否属于同一网络的依据,就是拿双方主机的IP地址和自己主机的子网掩码做与运算,如结果为同一网络,就可以直接通信。
And按位与运算:
与运算是计算机中一种基本的逻辑运算方式,符号表示为&,也可以表示为 and。
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0;0&1=0;1&0=0;1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
如何根据IP地址和子网掩码,计算网络地址:
①、将IP地址与子网掩码转换成二进制数。
②、将二进制形式的 IP 地址与子网掩码做“与”运算。
③、将得出的结果转化为十进制,便得到网络地址。
如下图:
网络地址计算小技巧:IP地址和子网掩码做与运算,把IP地址的主机位直接归0,就快速得到网络地址。所以只要一看到IP地址和子网掩码,就能马上确认网络地址。
4. 测试网络常用的小命令:
ping 命令 用法如下:
注意, 此处 ping 的是域名,不是url,域名可以通过DNS解析成IP地址
ping命令的功能
(1)能验证网络的连通性
(2)会统计响应时间和TTL(IP包中的Time To Live,生存周期)
那么如何验证的呢?
(1)ping命令会先发送一个 ICMP Echo Request给对端
(2)对端接收到之后, 会返回一个ICMP Echo Reply
(3)若没有返回,就是超时了,会认为指定的网络地址不存在。
————————————————
traceroute也是基于ICMP协议实现的。
功能:
打印出可执行程序主机,一直到目标主机之前经历多少路由器。
举例如下:
win10 端是:
tracert baidu.com
可以看到每一跳都有三个时间,三个时间都表示什么呢?
tracert 每一跳会发出三个TTL包(TTL(Time To Live )是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。),返回三个时间都是从上个节点到这个节点的时间,三个数字都表示ping值,其中最后一个地址表示的目的地址。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,通过“ICMP 已超时”确定目标路由。
在此过程中设定三个时间则是为了计算时取平均值,减小误差。
其中时间可能出现*,*是响应时间超时,或者目标拒绝ping的攻击。
bogon是指那些不该出现在internet路由表中的地址吧
这些地址应该包括:
1,私有地址 如10.X.X.X,172.16-31 , 192.168.....
2,还未正式分配出去的地址
END !!
原文:https://www.cnblogs.com/brianlai/p/12244756.html