网络体系结构
概述:网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务。
网络体系结构即指网络的层次结构和每层所使用协议的集合,主要有两种体系结构:OSI与TCP/IP 。
OSI 开放系统互联模型
OSI模型相关的协议已经很少使用,并且OSI模型是一个理想化的模型,但模型本身非常通用。
OSI模型共有七层(如图)
【对于OSI理想模型作为了解就好,主要学习TCP/IP体系结构】
TCP/IP协议族的体系结构
TCP/IP协议族是一个四层的协议系统,自底层到顶层分别是数据链路层、网络层、传输层和应用层。
如上图所示:
1)数据链路层
负责帧数据的传递 ,经过数据链路层封装的数据成帧,有以太网帧、令牌环帧。
实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网、令牌环网、FDDI等)上的传输。主要是通过ARP和RARP协议。
2)网络层
负责数据怎样传递出去
实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。
主要协议是 IP和ICMP协议
IP协议是根据数据包的目的IP地址来决定如何投递它。如果数据包不能直接发送给目标主机,那么IP协议将会为数据包的目的IP地址选择下一跳路由器,并将数据包交付给该路由器来转发。多次重复该过程,知道数据包到达目的主机,或者由于发送失败数据包而被丢弃。可以发现,网络层的ip协议使用逐跳的方式确定通信路径。
ICMP协议(因特网控制报文协议) 主要用于检测网络连接,分为两种类型:差错报文、查询报文。
3)传输层
负责传输数据的控制(准确性、安全性)
为两台主机上的应用程序提供端到端(end to end)的通信。与网络层的IP协议所使用的逐跳的通信方式确定通信路径不同,传输层只关心起始端和目的端,并不关心数据包的中转过程。
主要协议是TCP、UDP和SCTR协议。
4)应用层
负责数据的展示和获取
主要协议:telnet、OSPF、DNS、ping程序等
TCP/IP协议通信模型
主机A应用层提供一个data包通过系统调用在传输层加上TCP/UDP头,再次系统调用在网路层加上IP头,再次系统调用后再数据链路层加上以太网头后传输到硬件,这时硬件会给该数据包加上一个CRC验证,通过以太网主机B在接受数包的时候也是一层一层的拆包,如图示。