陈惠超的博客我的书单Github

《计算机网络》笔记-计算机网络体系结构

2020-06-04#技术#计算机网络

所谓体系结构指的是:计算机网络的各层及其协议的集合。有三种:
OSI 的七层协议体系结构。应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
TCP/IP 的四层协议体系结构。应用层、运输层、网际层IP、网络接口层。
五层协议的体系结构。应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
应用最广泛的是 TCP/IP 四层体系结构。需要注意的是五层协议只是为了介绍网络原理,将网络接口层拆分成了数据链路层和物理层。实际应用还是 TCP/IP 四层体系结构。
应用层
应用层是体系结构中的最高层,它的任务时通过应用进程间的交互来完成特定网络应用。应用层的协议有很多比如:DNS,HTTP 协议,电子邮件的 SMTP 协议等。应用层的数据单元叫做报文(message)
运输层
运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。运输层具有复用和分用的功能。一台主机上可同时运行多个进程,多个进程可同时使用同一个运输层服务。
💡
复用指的是多个应用进程可同时使用下面运输层的服务;分用则相反,是运输层把收到的消息分别交付上面应用层的相应进程。
运输层主要使用下面两种协议:
传输控制协议 TCP(Transmission Control Protocol)—— 提供面向连接、可靠的数据传输服务,其数据传输的单位是报文段(segment)
用户数据报协议 UDP(User Datagram Protocol)—— 提供无连接、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
由于网络层使用更多的是 网际协议 IP,因此网络层也叫做网际层或 IP 层
数据链路层
数据链路层简称为链路层。在连个相邻节点之间传送数据时,数据链路层将网际层交下来的 IP 数据报组装成帧(framing),在连个相邻节点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
物理层
在物理层上所传的数据的单位是比特。发送方发送1,接收方就应收到1。因此物理层需要考虑用多大的电压表示“1” 或“0”。此外物理层还需要确定连接电缆的插头应当有多少根引脚以及各引脚如何连接。
下面这张图可以清晰地看到两个主机的应用进程之间的通讯过程数据的传递与流通。
数据实际传输流向是:在发送方主机1是从协议栈(体系结构也叫做协议栈,因为几个层叠在一起,像一个栈结构)的上到下传输的。而在数据接收方主机2则是相反的,从下往上传输的。
虽然真实的情况数据是一层一层的传递,但是这些复杂的传递过程对于用户来说,却都被屏蔽了,以至于应用进程AP1感觉好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次,也好像如同图中虚线所示的那样,把数据通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。前面说到的各个层所用到的协议,实际上就是在各个对等层之间传递数据时的各项规定。
那么给网络划分有什么好处呢?
1.
各层之间是独立的。每一层只需要实现一种相对独立的功能,并不需要知道它的下一层是如何实现的。
2.
灵活性好。当任何一层发生变化时,只要层与层之间的协议保持不变,则层之间的数据传输就不会受影响。
3.
结构上可分割开。各层都可以采用最合适的技术来实现。
4.
易于实现和维护。这个分层的结构能将一个庞大的系统分解为若干个独立的子系统。
5.
能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。各个层的功能主要有以下这些(有的层只包括一种,有的则包含多种):
1.
差错控制
2.
流量控制
3.
分段和重装
4.
复用和分用。
5.
连接建立和释放。比如 TCP 的连接和释放。