版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
6 篇文章1 订阅
订阅专栏
大家好,我是后来,我会分享我在学习和工作中遇到的点滴,希望有机会我的某篇文章能够对你有所帮助,所有的文章都会在公众号首发,欢迎大家关注我的公众号"后来X大数据",感谢你的支持与认可。
自律真的是太重要了,我才坚持了不到半个月就犯起了懒,一边抱怨账号不好运营,但反过来想自己也没付出太多的努力。接下来开始继续写。
之前我们讲了物理层和数据链路层,今天就到了网络层。再来串一下这几层的关系。
我们之前讲的物理层和数据链路层,其实再TCP/IP协议的体系结构中属于一层,网络接口层,我们为了更容易理解把它拆分开了。
那么今天我们开始讲网络层,在开始讲之前,还是先引出一个问题:
我们有一句玩笑话,警察叔叔,这不是之前有同学在宿舍吃火锅还得瑟发微博,还没吃完消防员就出现了。
那么问题来了,警察叔叔顺着网线是怎么找到你的?
其实这个问题我想把它转换为:通过一个IP地址怎么找到具体的主机?。
带着疑问来看看我们今天的重要内容,哈哈。
虚拟互连网络的概念。IP地址与物理地址的关系。传统的分类的IP地址(包括子网掩码)和无分类域间路由选择CIDR。路由选择协议的工作原理。(这个下一篇文章继续讲,这篇文章太长了)
网络层是干啥的?
我在学习每个知识点之前都会问自己这个问题,专业术语是这样的
网络层负责为分组交换网上的不同主机提供通信服务。网络层要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机
这里面都提到一个重要的关键词,分组,那么什么是分组?
在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。所以我们也把“分组”和“数据报”作为同义词使用。

网络层是可靠的么?

我们之前在数据链路层的时候,就有个问题,说我发送的0和1有丢失怎么办?
当时我们通过CRC校验,只解决了发送数据的完整性,但对于乱序以及重复问题并没有解决。那么数据到网络层的时候已经是一个一个的分组了,它怎么传输呢?要不要保证可靠性?
关于这个问题,其实曾经引起了长期的争论,他们争论的实质是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
这个问题到最后采用了后者。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
这也就意味着,**网络在发送分组时不需要先建立连接。**每一个分组(也就是IP数据报)独立发送,与其前后的分组无关(不进行编号)。**网络层不提供服务质量的承诺。**也就是说,所传送的分组可能出错、丢失、重复和失序(即不按序到达终点),当然也不保证分组交付的时限。由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器比较简单,且价格低廉(与电信网的交换机相比较)。
如果主机(即端系统)中的进程之间的通信需要是可靠的:那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)
采用这种设计思路的好处是:网络造价大大降低,运行方式灵活,能够适应多种应用。互联网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
好了,上面这个问题只是告诉你为啥网络层提供的是不可靠的服务,其实知道结论就可以了。
网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一。
与P协议配套使用的还有三个协议:
地址解析协议ARP
网际控制报文协议ICMP(下篇文章再讲)
网际组管理协议IGMP(下篇文章再讲)