《深入理解计算机网络》第3章

一、OSI/RM体系综述

      1、虽然OSI/RM体系比较古老,但是作为第一个标准化的计算机网络体系结构,对理解TCP/IP等协也是有指导意义的。

      2、该体系中将网络通信功能划分为7个层次,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

      3、七层结构又可分为2个部分:通信子网(低3层)、资源子网(高4层)

     4、局域网的组建:不包括计算机主机,只需要低2层功能的网络设备(硬件),不需要路由器等设备,但是这种组建仅能通过数据链路层的MAC地址进行通信,这种通信只是表示链路通了,并不能识别网络应用的用户数据,这种通信无实际意义,要实现应用程序之间的通信,仍然需要网络层及以上各层(软件),只不过上面的这些层由计算机主机和操作系统来完成,也就是说硬件上需要2层,而软件上需要7层。

     5、广域网的组建:不包括计算机主机,只需要低3层的网络设备,通信子网构建好以后,资源子网的用户数据就可以利用通信子网来进行网络应用通信。

二、各层功能----所有的层不是固定的设备,而是设备所实现的功能。

      1、物理层:由同轴电缆、双绞线和光纤等为网络/数据通信提供的物理通路功能,就如道路中的泥巴路、水泥路、柏油路等,虽然这些道路由不同的物质所铺成,但实现的功能都是可以让车辆等通行,物理层只保证数据可以顺利通行,其他不保证,物理层就像物流系统中的各种道路,以比特流为传输对象。

      2、数据链路层:为相邻节点提供点对点的数据传输功能,通过MAC地址寻址把数据转到目的节点,以帧为传输对象,数据链路层就像物流系统,实现的是两个地点之间的货物运输。

      3、网络层:为不同网段之间的数据转发提供路径选择(网络寻址),通过IP地址和改变下一跳的MAC地址,将数据经数据链路层转发至目的节点,以数据段为传输对象,网络层就像快递公司,负责指挥物流公司将货物运送至哪里。

      4、传输层:在以上3层所构建的网络平台基础上为通信双方所构建端对端的数据通道,端对端就像商品由卖家发送至买家-->所形成的通路。

      5、会话层和表示层:TCP/IP协议中没有,暂不了解。

      6、应用层:计算机主机应用程序级的数据通信。  

三、OSI/RM网络体系结构的数据通信原理

       由上图可以看出,发送端应用进程A在局域网(资源子网)内通过7层功能层,将数据通过传送介质传输到广域网,经广域网(通信子网)传输后,将数据通过传送到接受端所在局域网,在接收端局域网内数据通过7层功能到达应用进程B。我觉得还是用网购的物流来类比好,这就像江苏徐州的的买家A在淘宝上买了一个广州卖家B的商品D,快递步骤为:卖家将商品D封装并将买家A的地址、姓名等信息印在包装上(实现发送端上4层功能)---->广州快递公司(网络层--规划下个转发点为福州)---->广州物流中心---->高速公路(物理层)--->福州物流中心(路由器A-数据链路层)--->福州快递公司(路由器A-网络层-规划下个转发点为淮安)-->福州物流中心--->高速公路(物理层)--->淮安物流中心(路由器B-数据链路层)--->淮安快递公司(路由器B-网络层-规划下个转发点为徐州)-->淮安州物流中心--->高速公路(物理层)--->徐州物流中心--->徐州快递公司(发现为本地货物,安排派送)--->买家小区(实现传输层端对端功能)--->商品D到达买家手中(实现应用程序级的数据通信)。这里的物流只负责2个城市间的运输,但货物是不是到达最终城市了,物流公司并不管,而是告知快递公司有货物到达本地,地快递公司根据IP地址判断是否为本地货物,如果是本地的货物则进行派送,如果不是本地货物则安排好下个转发点(下一跳MAC地址)后通知物流公司继续运输。

       数据链路层是在物理层的基础上,通过制定规则所形成的的一条高速的逻辑通路,物理层(如集线器)就像没有制定交通规则的各种道路,虽然路是通的,但只保证路能通行,其他一概不管,会出现拥堵、交通事故等现象,道路吞吐量很低,而数据链路层(如交换机)则是有交通规则后的高速道路,交通井然有序,道路吞吐量很高。

       数据链路层有2个子层:MAC子层和LLC子层,MAC子层负责数据帧的封装/ 卸装、帧的寻址和识别、帧的接收与发送、帧的差错控制、介质访问冲突控制等,这就像物流系统负责货物的封装和拆卸、货物的寻址和识别、货物的接收和发送等;LLC子层负责数据链路层中逻辑链路(逻辑链路就是物理层信道中的物理链路在通过LLC 子层协议作用后形成的虚拟链路)的控制,其中包括逻辑链路的建立和释放,控制信号交换、数据流量控制,解释上层通信协议传来的命令并且产生响应,以及克服数据在传送的过程当中所可能发生的种种问题,如数据发生错误、重复收到相同的数据、接收数据的顺序与传送的顺序不一致等,这就像物流系统中有些部门负责指挥货物的封装和拆卸,有些部门当接到上层(快递公司)将某个物品运送到某地的指令后,要规划好一条通往目的地的线路,并解决货物在运送过程中所可能发生的种种问题。MAC子层就像物流系统中负责运输干体力活的那些部门,LLC子层则是像物流系统中负责指挥装卸、规划运输路线(目的地由快递公司决定)、解决运输当中的相关问题的那些部门。快递公司(网络层)负责的是货物运到哪里(买家、另一个城市)的问题,而物流公司(数据链路层)负责的是怎么将货物运到那里(城市)的问题。

三、IP地址和MAC地址

       为什么有了IP地址,还需要MAC地址?

      1、目前网络传输的需要

           目前网络上数据的传递需要知道2个地址,终点地址,下一跳的地址。

           IP地址本质上是终点地址,它在跳过路由器(hop)的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。这就是为什么还要用MAC地址的原因之一,它起到了记录下一跳的信息的作用。

           网络层关注的是目的地IP地址,在经过路由器后IP地址并不会改变,同样快递公司关注的是买家地址,在经过快递公司后也一直不会改变。

           数据链路层关注的是MAC地址,MAC地址是下一跳的地址,经过路由器后会改变,如物流公司的下个转运点,经过快递公司后都会改变。

      2、早期的『以太网』实现
           早期的以太网只有集线器(hub),没有交换机(switch),所以发出去的包能被以太网内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与自己MAC地址相匹配的包。

posted @ 2017-12-05 17:12  liuxing313  阅读(412)  评论(0)    收藏  举报