Hi,再次回来写第二章,这段时间发生了很多事情阿,公司和家里一堆破事搞得人焦头烂额,因此,时间过去了良久,才慢悠悠的回来写第二章~,废话不多说了,上一章我们主要介绍了网络的一些基本概念,衡量网络的一些参数,比如吞吐量、流量强度等,还介绍了网络传输的2种方式,一种是时间段占用的电路交换,一种是分时复用的分组交换......so,当我们把传输用的硬件线路介绍完了,那么就该讲怎么传输了,还有记得上一篇去撩美眉的例子吗,我们需要在正确的时间说正确的话,不然的话,妹纸可能就把你拉黑,再也不理你了......别问我为什么知道(大哭),那么网络也是一样的,需要通过一定的格式对话,为了具象这个例子,我们假象一下下列对话:
你:妹子,我们做朋友吧
妹子:好的,我们做朋友
你:好的
恭喜你,你将捕获妹子一枚,但是假如是:
你:妹子,我们做朋友吧
妹子:滚
你:好的
那么,也恭喜你,少了诸多烦恼,但是还有一种情况:
你:妹子,我们做朋友吧
妹子:&%$##@#$%^%
你:......
很明显,你不知道妹子再说啥,对话无法进行,要么你就重问一次,要么就转身走人,这也算是有回复吧,最尴尬的还有一种情况:
你:妹子,我们做朋友吧
妹子:......
你:......
妹子可能在打量你,所以保持沉默,这里你也还是要么转身走人,要么就重问一次。
好了,通过上面的例子,我们可以具象了一个典型的对话的关键信息:
传输:请求、应答
错误处理:重传、抛弃
这里我们就不过多的哆嗦这个问题了,回到《自顶向下》第2章,书中这张直接介绍了应用层协议http、smtp、ftp、p2p等,在第一章用及其简单的篇幅介绍了网络的协议分层,这里就简要的介绍一下分层协议吧,因为大家在任何有关网络的书籍前2章中都会看到,这里就不多写了,前面我们写到,要进行一个情景对话的正常进行,那么必要的就是在正确的时候,遵守正确的格式,但是,如果我们把这个对话纵向的放大,从你起床到和妹子对话,中间可能经历了无数次对话,任何一次对话,都有可能让你打道回府,不会遇到妹子,通俗的说:这就是缘分!不是有某些文人骚客说:无数次的回眸,换来今生的相遇。就是这个道理,你在qq上看到的妹子拉黑你的提示信息也可能是经过无数次对话得来的,多么的不易! 那么网络怎么划分了,我们脑补一下,假定你要给妹子发封邮件,这里假设邮件是你电脑直接发送到妹子的电脑上(实际上邮件是需要有邮箱服务器的),那么,你发送’你好’到 mm@girl.com,网络需要做什么? 网络要想正确的发送给妹子电脑的邮箱app中,他需要知道下面几个条件:
你的数据包--------->(妹子的网卡地址、妹子的IP地址、妹子的邮箱应用)----->妹子的电脑!
那么我们可以把上面的几个步骤分成几个层次,当然网络协议层次做的东西太多太复杂,这里只是以一个概念引入。
用户输入------>应用层->传输层->网络层->数据链路层
应用层:处理用户应用数据相关,应用层信息分组称为报文
传输层:为什么这里需要加一个传输层,到底有什么用? 我们之前知道,假设妹子的回答错误或妹子沉默时我们有两种方法? 一:重问 二:转身走人,那么这里我们如果要重问,难道需要重新从应用层传输吗?类似的一些不涉及应用层的错误处理夹杂在无辜的应用层真的好吗?当然不好,伟大的前辈们就划分了一个传输层来做这些事,这一层是一个纯粹的软件逻辑层,不直接涉及到任何硬件,也不直接操控应用数据,做一些建立链接、错误超时机制,那么这样,应用层专心处理数据,网络层专心处理网络相关,传输层信息分组称为报文段
网络层:IP协议和路由协议等,网络层信息分组称为数据报
数据链路层:以太网、wifi等物理层次的协议,数据链路信息分组称为帧
好的,整个层次就变得井然有序了。这里又开始盗图了:
ISO将网络协议层次化为7个层次,但平时大都把网络协议划分为4层,这里不多讲解,大家可以自行了解。