在我们的家庭网络中有许多的网络设备,比如我们有两台计算机A和B,一台手机,一台电视机,他们都连接到了路由器上,并且路由器通过运营商线路接入因特网。
在这个网络模型中有许多的应用场景:
计算机A和B之间互相发送文件手机通过app控制电视机电视机访问计算机A上共享的影片计算机和手机访问互联网上的网站在家中通过VPN连接到公司内网中进行工作
以上几种应用场景都脱离不了一件事,就是通过网络进行通信
围绕这些话题,芝士君准备通过五期教程剖析计算机网络世界,看了这五期教程,相信你可以从网络小白一跃成为网络达人。
五期内容分别是:
MAC地址与IP地址交换机与路由器家庭网络与因特网TCP协议与UDP协议VPN
想要学习的赶紧先点赞收藏吧!
在现实生活中,我们如果要给对方写信,除了信件内容外,我们还需要填写信封,信封上有写两个重要信息,一个是收件地址,一个是收件人。收件地址表示这封信要寄到哪里,收件人表示信要寄给谁。
同样的道理,在网络世界中,我们要发信息给别人,也需要知道收件地址和收件人,他们就是MAC地址与IP地址。MAC地址就是收件地址,IP地址就是收件人。
如果把网络比喻为我们生活的城市,那网卡就是城市中的建筑,MAC地址就是这栋建筑的物理地址,而IP地址就是在这些建筑中的人。
与写信不同,在计算机网络中发送消息,我们只需要填写内容和对方的IP地址,操作系统会根据目标IP自动查询arp表获取对方的地址,补齐这封信,从网卡发出。
我们再回过头看来看一下这个网络模型,虽然计算机,手机,电视他们是不同的类型的电子产品,但是他们的通信都是由其内部的网卡设备所进行的,所以我们统一用网卡来表示设备。
每张网卡在出厂时,都写入一个地址,就是mac地址,这个地址是由6个字节构成的,其中前3个数表示的是网络硬件厂商的编号,由IEEE(国际性电子技术与电子工程师协会)分配,后3个字节代表该制造商所制造的网卡的序列号。所以mac地址是全球唯一的地址。虽然可以通过一些其他手段修改mac地址,但不在我们讨论的范围。
我们上面说了,mac地址表示了网卡在网络中的确定位置,那这个位置是如何表示与确定的呢?
比如我们的计算机A通过网线接入到了交换机的端口1,那这个端口1就是网络中的具体位置,就像我们的门牌号一样,交换机就知道了某个mac地址在端口1上,从而就把mac地址和端口进行了绑定。关于交换机的具体话题以及交换机与路由器的区别,我们在下期内容再进行详聊。
我们的网卡接入网络后如果要通信,需要给它配置另一个地址,就是IP地址,IP地址有两种,IPV4地址和IPV6地址,如我们常用的192.168.1.x就是IPV4地址,由四位0-255的数字用小数点间隔构成。
目前IPv4技术可能使用的IP地址最多可有4,294,967,296个,看上去像是很难会用尽,但由于早期编码和分配上的问题,很多区域的编码实际上被空出或不能使用。随着互联网的快速成长,IPv4的42亿个地址最终于2011年2月3日用尽。
相应的科研组织已研究出128位的IPv6,其IP地址数量最高可达3.402823669 × 10^38个,届时每个人家居中的每件网络设备,甚至地球上每一粒沙子都可以拥有自己的IP地址。
现在我们知道了,网卡上需要配置好IP地址才可以工作。这时候又有同学要问了,我的电脑接上网线,或者手机连上路由器之后,没让我配置IP地址也可以正常使用啊。
这是因为由称之为DHCP的协议帮我们自动配置了。
当电脑插上网线,或者手机连接到wifi,操作系统网络协议栈会自动向外发送一个dhcp请求,请求为其分配IP地址路由器收到DHCP请求后,会为其分配一个IP地址,并通过DHCP回复报文发送回去操作系统收到了DHCP回包后,将其分配的IP地址配置到网卡上,注意,在一个局域网中,IP地址也是唯一的,路由器不会分配重复的IP地址给不同的设备
当然,你也可以手动把DHCP关掉,这样你需要手动来配置一下网卡的IP地址,但是你要保证,你配置的IP地址不能与此网络中的其他人重复
这样网卡就配置好了IP地址
我们上面提到,mac地址是由操作系统来补齐的,那操作系统是如何知道对方的mac地址的
实际上,这一步是由arp协议来完成的
当计算机A想向计算机B发送消息你好时,操作系统并不会立即发出,他会先发送一包arp广播报文出去,问一下,192.168.1.10的mac地址是多少。
此时网络中的所有设备都收到了这一包请求报文,除了192.168.1.10以外的设备,都会丢弃这包请求报文,只有192.168.1.10会回复自己的mac地址是多少
计算机A收到了回复,知道了计算机B的MAC地址,他首先会把计算机B的mac地址缓存起来,以便下次再用,然后填写MAC地址,把这封信补全,从网卡发送出去,交换机根据数据包中的目标mac地址找到了计算机B所在的端口,从此端口发送出去,数据就被计算机B收到了
看到这里,不知道大家有没有一个疑问,交换机是如何找到目标端口的,以及交换机和路由器有什么区别,网关和路由又是什么意思,我们统一在下个视频进行讲解。欢迎大家点赞留言评论转发。