文章目录
- OSI协议模型和TCP/IP协议模型对比
计算机体系结构
计算机体系结构:是计算机网络的各层及其协议的集合。
分层原则
网络协议:简称协议,是为了进行网络中的数据交换而建立的规则、标准或约定。协议三要素:语义、语法、语序。
网络服务:每一层为相邻的上一次提供的功能称为服务。
接口:下一层向其相邻的上一层提供的服务及原语操作,并使下层的实现细节是对上层不可见的。
服务访问点(SAP):下层向上层提供服务的地方。各一个SAP都有一个能够唯一标识它的地址。
协议与服务
- 各个层相互独立,对等层次具有相同的功能,实现功能解耦。
- 协议是“水平的”,即协议是控制对等实体之间通信的规则。协议是“水平的”,即协议是控制对等实体之间通信的规则。
- 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
N+1层的服务来源:
- N层实体的自身提供的服务
- N-1层及其以下各层及本地系统环境提供的服务
- 处于另一个开发系统对等实体(N)的通信而提供的某些服务。
数据封装
数据流从源的上层逐层流向下层,各层根据该层的网络协议对数据进行封装,封装操作分别将数据按该层的协议要求封装,再加上该层的数据报头,形成该层的数据单元。
APDU==>PPDU==>SPDU==>Segments==>Packet==>Frame==>Bits
数据的拆封
在目的端数据流则由下层逐层流向上层,各层根据各层的协议进行数据拆封,去报头,然后递交上层。
Bits==>Frame==>Packet==>Segment==>SPDU==>PPDU==>APDU
OSI七层模型各层的功能
主机X的某个应用程序要与主机Y的某个应用程序进行跨网络的进程间通信,进程间通信需要通信双方有公共资源为前提,而跨网络的两台主机之间的公共资源就是网络。
1)物理层(Physical Layer)
激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。
2)数据链路层(Data Link Layer)
链路:从一个结点到相邻结点的一段物理线路。数据链路:若把实现控制这些数据通信协议的硬件和软件加到链路上,就构成了数据链路。
功能:数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标主机网络层。
为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
数据链路层在不可靠的物理介质上提供可靠的传输。 该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
1> 数据链路层为网络层提供可靠的数据传输;
2> 基本数据单位为帧;
3> 主要的协议:以太网协议;
4> 两个重要设备名称:网卡、网桥、交换机。
3)网络层(Network Layer)
网络层的目的是实现主机到主机的通信, 具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是 “路径选择、路由及逻辑寻址”。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的“尽力而为的网络”传送服务。 IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。
1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2> 基本数据单位为IP数据报;
3> 包含的主要协议:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
4> 重要的设备:路由器。
4)传输层(Transport Layer)
端口到端口的通信,应用到应用的通信 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点(主机到主机),而传输层则负责将数据可靠地传送到相应的端口(端口到端口)。
1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
2> 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
3> 重要设备:网关。
5)会话层
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
6)表示层
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
7)应用层
为操作系统或网络应用程序提供访问网络服务的接口。
1> 数据传输基本单位为报文;
2> 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
TCP/IP模型数据流向
- 发送方应用层
发送方应用层将应用层数据进行封装,添加应用层报头,交给传输层。
- 发送方传输层
发送方传输层根据传输层的传输方式(TCP/UDP),组织传输层报头,将传输层报头和有效载荷。
- 发送方网络层
数据发送方的网络层接收到传输层的数据帧之后,如果发送主机和目标主机处于同一网络,(网络号相同,也就是说这两台通信主机处于同一网段。)属于局域网通信。
网络层也需要对上层数据进行封装,添加IP报头,形成IP数据包扔给网络。(网络层还会对数据进行分片,TCP还会对数据进行分段,这里不做过多讨论。)
- 发送方数据链路层
ARP协议:发送主机查询映射表,当映射表中没有目标主机IP对应的缓存,就组织ARP数据包,开始在该网段内进行ARP广播,目标主机回复响应数据报。
- 数据流经的网络
网络层进行路由的依据是网络号,通过网络号,将数据包输送到目标网络。
大部分的通信是跨网络的通信,也就是通信主机网络号不相同。
这个过程类似与导航,在导航过程中存在一个“电子地图”,这个电子地图就是路由表。当IP包进入互联网的那一刻,导航信息已经在路上了,静静地等着IP包的到来,在每一个通向目的地的路由器上,只要查询IP报的目的地址,就可以查询到导航信息(路由表)来决定最短路线,这样就一跳一跳的方式到达了目标网络。 - 接收方数据链路层
- 接收方网络层
- 接收方传输层
数据从一个路由器到另一个路由器,经过这一跳。下三层的数据就要进行数据的封装和解包,上述只讨论了,发送主机和目标主机的封装和解包。