计算机网络体系主要有两种,一种是OSI/RM国际标准的七层结构,由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,另一种是TCP/IP的非标准的,但是应用最广泛的四层体系结构,由低到高依次是网络接口层、网际互联层、传输层和应用层。底层定义了如何进行端到端的数据传输,高层定义了终端系统的应用程序和用户彼此如何通信,即如何重建从发送方到接收方的应用程序数据流。
主要分享下面几点重要知识:
- 网络体系结构的设计和层次划分考虑
- 网络体系结构各层主要用途
- 网络体系结构中的通信原理
- 网络通信协议的三要素
网络体系层次划分原则
网络体系层次的划分和每层的功能定义都不是随意的,而是经过标准设计人员对计算机网络通信原理、通信原理中各个流程之间的相互依赖关系,充分考虑了网络软/硬件产品开发的便捷性等诸多方面,仔细研究出得出的,都是要遵循一定的原则的。具体原则如下:
- 同一层中的各网络节点都有相同的层次结构,具有同样的功能
- 同一节点内相邻层之间通过接口进行通信
- 七层结构中的没一层使用下一层提供的服务,并向上层提供服务
- 不同节点的同等层按照协议实现对等层之间的通信
- 网络设备间自身的通信仅需要低三层,用来构建数据通信的网络平台,网络平台构建好之后,用户就可以利用平台构建各个通信应用,达到通信目的。
虽然OSI/RM设计经过了中国标准设计人员的充分研究,但是受当时各个方面的条件限制,有些层次划分并不那么合理。于是后来TCP/IP结构更被大众所接受。但是实际应用中,厂商和开发人员,都认为把数据链路层和物理层合并成网络接口层并不很好,所以现在通常采用五层体系结构。应用层、传输层、网际互连层、数据链路层和物理层。
局域网体系结构
目前局域网标准是由IEEE发布的,所以其以太局域网体系结构也是由它发布的,对应标准是802.1a。包含了物理层和数据链路层,其中对数据链路层做了进一步细分,分成了介质访问控制子层(Media Access Control,MAC)和逻辑链路控制子层(Logical Link Control,LLC)。这是因为以太网和WLAN属于广播类型的网络,存在介质争用现象,而广域网属于点对点,通常不存在。其中MAC子层主要用来解决介质争用和局域网内部寻址,而LLC担负着数据链路层的真正功能。
分层的好处
分层主要体现在一下几个方面:
- 便于方案设计和维护
- 各层相互独立,技术升级更扩展灵活性好
- 促进标准化
各层主要用途
如果把网络结构体系与现实交通运输行业各部门类比,大致如下:
- 物理层相当于基建公司,负责基础设施的建设,修路架桥,保证村村通
- 数据链路层相当于当地交通管理局,负责本地区的交通法规和交通管理。
- 网络层相当于国家交通部,负责全国主干道的规划和实施,制定适合全国的交通法规,构建可以通到各个省市的公路铁路网。
- 传输层就相当于各个物流公司,负责送货到各个仓库
- 应用层相当于各个寄件的终端用户或公司,只需要写好快递单即可。
网路通信原理
无论何种结构体系,通信原理上都有两个方面相同:
- 网络连接和数据传输流程上,发送端都是自上而下,接收端都是自下而上进行的,也就是数据通信原理。
- 通信会话方面,双发必须在对等层次上进行,也就是对等会话原理。
各层数据传输单元
- 应用层上都是以实际数据报文传输的,常见的有json/xml/text等。
- 传输层比较特殊,OSI/RM体系中是TPDU,而TCP/IP协议中,TCP是以数据段(Segment)为单位传输的,UDP是以数据报(Datagram)为单位传输的。
- 网络层的传输单位是包(或者分组),称为NPDU。
- 数据链路层和传输单元是帧(Frame),称为DPDU。
- 物理层是以最原始的比特(bit)流格式传输的。(PDU-数据单元)
协议的封装和解封
整个数据在传输过程中,数据在发送端是自上而下逐层传输的,每经过一层,就要进行一次协议封装,对来自上层数据加上本层所使用的通信协议的头部,目的是为了标识对数据在使用过通信协议时所配置的参数信息,特别是每层的地址信息。
而接收端是自下而上逐层传输的,数据每经过一层,就进行一次协议解封装,是发送端协议封装的逆过程。目的是去掉来自下层数据原来所携带的下层协议头部,使数据原来在发送端与本层相同层次封装的头部信息能被识别,因为每层协议只能识别自己的头部信息,否则会被当做数据处理。
网络结构中的通信协议
应用层常见的:DNS/DHCP/HTTP/POP3/SMTP/IMAP等,
传输层:TCP/UDP,
网络层:IP/ARP/ICMP/IGMP等,
数据链路层:IEEE802.3/PPP/PPPoE/PPTP等,
物理层:RS-232/V.20/V.21/V.35等。
网络通信协议的三要素
1.语义
规定使用什么协议来通信,版本号等。
2.语法
规定通信时的信息格式,包括数据及控制信息的格式,编码及信号电平等。
3.同步
规定数据传输流程和速率,网络通信中也称为“握手”。