计算机网络,网络层

不仅是记录我的半吊子基础知识,也是一次再学习,不敢保证都对

虚拟互联网

  TCP/IP有四层协议,每一层都有不同的功能,我们的网络层是干什么的呢?
  我们目前知道了多层次ISP结构的互联网,有主干网,有地区网。而网络层呢就是在概念上把它简化,叫做虚拟互联网络,我们大家都在这个虚拟互联网里,我要给谁发消息,不用管这个消息是怎么传递的,也不用管它走的是哪条路。
  举个例子来说,如下图,A电脑要给B电脑发送数据,先发给虚拟互联网,虚拟互联网再发给B就行了,至于在虚拟互联网里,它是走的ace路线,还是bcd路线还是be路线,这些就不是我们操心的事情了,不归我们管了。
在这里插入图片描述

IP协议

  IP地址应该都不陌生吧,每台计算机都有IP地址。虚拟互联网就是通过IP地址来确定把数据发给谁的。我们知道物理层发送的数据叫做比特流,数据链路层发送的数据叫做帧,而网络层的IP协议发送的数据就叫做IP数据报IP数据报里有源IP地址,也有目的IP地址,IP协议根据计算机里的路由表来决定走哪一个地址
  我们知道数据链路层是把数据封装成帧进行传输的,而帧数据装的就是IP数据报,如下图所示。
在这里插入图片描述

  当数据链路层传过来帧数据的时候,经过一系列的验证等操作,把帧数据也就是IP数据报取出来传递给网络层,网络层拿到IP数据报之后,再经过上层的一系列的操作,把处理过的数据交给数据链路层,数据链路层又把它封装成帧,发送出去。我们看图就能明白这个数据接收再处理又发送的过程。
在这里插入图片描述
  在这个过程中我们需要注意,帧首部有源MAC地址和目标MAC地址,我们把IP数据报取出来后,其实是把帧首部和帧尾部丢掉了,网络层及以上层次处理过后,数据链路层重新封装成帧,帧首部与帧尾部就变了,帧首部的源MAC地址与目的MAC地址也发生了变化。
  ARP协议:那么IP地址是怎么告诉数据链路层下一个MAC地址呢?那就是通过这个ARP协议,地址解析协议。书上说还有一个RARP协议是逆地址解析协议是和ARP协议配合使用的,但是现在已经被淘汰不使用了。

IP地址

  我们知道IP地址有32位,这三十二位划分成两部分,分别叫做网络号主机号。根据网络号的不同,我们可以分为A类地址、B类地址、C类地址。每个网络号有多个主机号,一个主机号代表一台计算机。
  A类地址前8位代表网络号,后24位代表主机号。理论上A类地址的每个网络号可以给 2 24 2^{24} 224台计算机分配IP,一个主机号代表一台计算机,但是全为0或者全为1的IP有特殊的意义,所以事实上,每个网络号可以分配 2 24 − 2 2^{24}-2 2242个主机号。
  B类地址前16位是网络号,后16位是主机号。同理,B类地址可以给 2 16 − 2 2^{16}-2 2162台计算机分配IP地址。
  C类地址前24位是网络号,后8位是主机号。因此它可以分配 2 8 − 2 2^8-2 282个主机号。
  现在就有这么一个场景,假如你的学校比较小,只有200台计算机,那只需要给学校分配一个C类地址就完全够用了。那如果是260台计算机怎么办,要分配一个B类地址吗?那剩下的那么多IP地址不用岂不是浪费了。或许分配两个C类地址,那也会有上百个IP地址浪费掉。为了不让IP地址造成过多的浪费,这才有了子网划分

子网划分

  子网划分也不是什么高深的东西,就是把主机号再划分成两个网段,这两个网段就是子网。这就是子网划分,根据我的半吊子理解来举个例子。
在这里插入图片描述
比如原本C类地址主机号是8位,但是现在被占据了一位,以0开头的主机号属于一个子网,以1开头的属于另一个子网。那现在有一个公司只有一百台电脑,那就不必给他分配一个C类地址,只需要给他分配一个C类地址的子网就行了。另一个子网就可以分配给其他公司,这样就避免了IP地址过多的浪费。

无分类编址CIDR

  事实上就算是有了子网划分,IPv4地址已经用尽,在IPv6普及之前,只能另想它法,就是这个无分类编址CIDR。它没有什么A类、B类、C类的概念,网络号统统称为网络前缀,不管这个前缀是13位、14位、15位、19位、24位都叫做网络前缀。那这个地址是怎么个写法呢?
  斜线记法。举个例子,看这个地址193.168.31.28/24,多了个/24,而这个/24表示的就是这个地址的前24位是网络前缀,后8位是主机号。这样划分比上边的子网划分更加的灵活。

网络地址转换NAT

  为什么需要网络地址转换NAT?这就涉及到了公网和内网的区别。公网IP,内网IP这个应该不陌生吧。我们买的阿里云服务器都有一个公网IP,通过这个IP我们就可以在任意一个地方访问阿里云服务器,但是我们自己的计算机为什么不能在别的地方访问呢?
  比如我们学校有一个公网IP,在学校里的计算机都处于这个IP之下,学校里的网就是内网,我们只要连上学校的网,它就会给你随机分配一个内网地址,通常是192.168.37.39这样的ip地址。而另一个学校同样也可以给它的内部计算机分配一个IP地址也是192.168.37.39,两者互不冲突。这么多计算机通过一个公网IP来连网,怎么才能知道是内网哪个计算机访问其他互联网的呢?这就用上了网络地址转换NAT。
  端口号大家都应该知道。我们是怎么访问远程服务器呢?没错就是IP地址加上端口号,80端口号可以省略不写大家应该都知道吧。我们来设想一个场景:学校有一个公网IP是10.10.100.100,现在你的计算机是学校随机分配的一个内网IP地址192.168.39.6,网上冲浪肯定要连接别的互联网,所以你的计算机有一个出口,通过192.168.39.6:88来访问外网,而经过网络地址转换,你是通过学校的公网IP10.10.100.100:8888访问的外网,外网自然要给你反馈,它经过学校的公网10.10.100.100:9999反馈给你,再通过网络地址转换,由你的计算机192.168.39.6:99接收到反馈。
  可能这个例子不是很好,反正大概是那个意思,就是通过网络地址转换来实现多台不同内网IP的计算机通过一个公网IP地址访问外网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值