对于互联网而言,仅实现计算机网络体系结构中的物理层和数据链路层,是不能实现数据包在互联网中各网络之间传输的,要实现该功能就必须要实现网络层。
网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
我们已经知道如何在局域网进行通信,网络层则允许我们在网络之间进行通信。OSI 第 3 层(网络层)的作用就是互连网络。这使我们能从一个网络向另一个网络发送消息。
我们将学习如何实现在网络之间传输,并学习关键的接力手路由器是如何工作的,它跟我们学习过的交换机有啥区别。
此外,本系列后续将学习伟大的 IP 协议(IP 是 Internet Protocol 的缩写,表示“互联网协议”或“英特网协议”或“网际协议”),也是著名的 TCP/IP 协议簇的重要组分。
除了伟大的IP协议外,还将学习ICMP协议、ARP协议等等协议。
总结而言,我们需要去解决两大问题:
-
如何标识各网络以及网络中各主机的问题,即网络和主机共同编址问题,例如IP地址
-
如何进行路由选择的问题(我们可以看到分组报文可以有佷多路径可走,尽可能少走弯路或者走宽路是一个比较重要的问题)
来,从今天开始,让我们摆脱局域网的小圈子,走向星辰大海!
一、网络层的作用
我们已经知道如何在局域网进行通信,网络层则允许我们在网络之间进行通信。
因此,OSI 第 3 层(网络层)的作用就是互连网络。
Internet就像一个由很多网络组成的更庞大的网络。互联网好像一间迷宫,而互连的网络就像这个大迷宫里的一个个小隔间一样。从入口到出口,我们要经过其中佷多的小隔间。
对于互联网来说也是如此,一台主机访问另一台数据,中间也需要跨越佷多的网络。
此外,可能到达的路径有多条,容易想到,选择一条比较近的路也显得比较重要了。
网络层将允许我通过其他网络加入互联网上的任何网络,我的电脑将通过网络逐步连接到另一个网络上的电脑。
我们不着急进入具体学习网络层的知识,我们先来看两个命令来直观感受下。
二、初步认识下ping
我们知道,网络中间是通过一个一个的网络从而到达了最终的目标服务器,实际上中间的接力选手就是大名鼎鼎的路由器,关于路由器我们后续将详细说明,我们只要有初步的这样的认识即可。
当然了,在接力的过程中很有可能会出现各种异常情况,比如路由不通?网络丢包?此时有可能会让你ping一下ip(当然了,也有可能会有禁ping的情况)
或者你在服务器上无法下载互联网的资源时,别人是否会甩给你一句:你这个跟百度通吗?此时你只用ping baidu.com
看下就好了:
好了,我们这个ping实际上就是来探测下目标ip网络通不通,ping
命令是我们工作中可能遇到最多的一个命令,比如你在安装本地虚拟机的时候,你将用到此命令来探测两个ip之间是否互通,具体原理后续文章将说明。下面可以来简单认识下traceroute
命令。
三、初步认识下traceroute
在 Unix
、Linux
或 macOS
操作系统中,我们可以在终端命令行中用 traceroute
命令来很好地说明我们在网络中经过哪些节点(在 Windows
操作系统中,请用 tracert
命令)。
我在本机来执行tracert baidu.com
,看看会发生什么:
每一行包含三部分:序号 + 耗时 + 主机。
记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms。由于每次检测都同时发送3个数据包,因此打印出来三个时间。此外,如果某一个数据报超时没有返回,则时间显示为 *,此时需要特别注意,因为有可能出问题了。
有时我们 traceroute
一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
实际上ping
和 traceroute
都用到了ICMP
协议,后续我们将来介绍其原理,本处不展开叙述。
看下前两条记录,由于我连接的路由器情况比较特殊,如下图:
因此我本机首先通过WIFI连接的是一个华为路由器,华为路由器通过网线的形式跟小米路由器相连接。因此我们可以看到前两跳的信息为:
1 1 ms <1 毫秒 <1 毫秒 192.168.101.1
2 1 ms 1 ms 1 ms XiaoQiang [192.168.31.1]
这里读者或许有点懵逼,你在说啥?你咋看出来是小米路由器的?
首先啊,从IP地址就能看出来,小米路由器设置网络的时候,只要跟调制解调器一连,就自动分配预先设定好的192.168.31.1
的私网IP地址。电脑连接小米路由器的信息来配置上网信息,根据小米路由器的说明书上会输入192.168.31.1
访问这个路由器的管理平台。
然后小米路由器走到了上网的盒子上,然后跳到了其他的网络,最终经过若干步跳到了目标地址,跟踪完成。
15 28 ms 28 ms 28 ms 220.181.38.251
跟踪完成。
这个就比较形象地展示了我们的信息如何在多个网络之间的传输!
背后的原理我们以后再回过头来学习,因为还需要佷多其他的前置知识,本篇文章主要是来了解下网络层的核心作用,直观感受下网络层的魅力,下一篇文章将好好来聊聊网络层中IP地址相关的知识,这将是比较核心的一块知识。
原文始发于微信公众号(幕后哈土奇):十八、网络层篇-概述篇
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114054.html