网络分层体系结构
计算机网络体系结构
在计算机网络的基本概念中,分层次的体系结构是最基本的。分层的主要好处有:
1、各层之间是独立的,每一层向上和向下通过层间接口提供服务,无需暴露内部实现
2、灵活性好
3、结构上可分割
4、易于实现和维护
5、能促进标准化工作
主要分层模型
不同的分层模型,将不同的协议归类到不同的层级,定义每一层完成不同的功能,以及对外提供的接口服务。OSI7层模型是一个大而全的理论模型、TCP/IP(参考)模型侧重一些核心的协议的分层。
OSI七层模型
为了使全世界不同体系结构的计算机能够互联,国际化标准组织ISO提出开放系统互联基本参考模型,简称OSI,即所谓的7层协议体系结构。数据在俩台电脑直接传输,发送方由应用层依次向下将数据通过不同的协议进行包装,接收方接收到数据从物理层依次向上拆分数据包,最终达到数据交互的目的。
TCP/IP四层模型
OSI7层模型大而全,但是比较复杂、而且是先有了理论模型,没有实际应用。TCP/IP四层模型,是由实际应用发展总结出来的。它包含了应用层、运输层、网际层和网络结构层,不过从实质讲,TCP/IP只有最上面三层,最下面一层没有什么具体内容,TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。
OSI七层模型和TCP/IP四层模型的关系
- OSI定义了服务、接口、分层、协议的概念,TCP/IP借鉴了OSI的这个概念建立了TCP/IP模型。
- OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP则相反。
- OSI是一种理论模型,而TCI/IP已经被广泛使用,成为网络互连实际上的标准。
五层模型
五层模型只出现在计算机网络学习教学过程中,他是对七层模型和四层模型的一个折中,及综合了OSI和TCP/IP 体系结构的优点,这样既简洁又能将概念阐述清楚。
物理层
在物理层上所传输的数据的单位是比特,物理层的任务就是透明的传送比特流。因此物理层需要考虑如何用电压表示“1”或“0”,以及接受方如何识别出这些比特流。物理层不包括具体的传输媒介,但是需要确定连接电缆的插头标准。
物理层相关协议
物理层协议主要是标准化工作频段、传输速率、电信号、传输媒体插口标准等
- IEEE 802.2
- Ethernet v.2
物理层硬件设备
集线器:
其实质是一个中继器,主要功能是对接收到的信号进行再生放大,以扩大网络的传输距离。集线器可以将局域网内的所有电脑集中在以它为中心的节点上连接起来,数据是以广播的形式从一台电脑传送到其他的电脑。广播会产生冲突,同一个时间点只有一台电脑可发送数据。所以效率比较低。集线器不具有学习功能,也不具备MAC地址表。
中继器:
中继器(Repeater)又称重发器,是一种最为简单但也是用得最多的互连设备。中继器仅适用于以太网,可将两段或两段以上以太网互连起来。常用于两个网络节点之间物理信号的双向转发工作。中继器主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。
物理层相关的其他概念
信号:
- 模拟信号
- 数据信号
传输媒体:
- 导向传输媒体 --有线
- 非导向传输媒体 --无线
数据链路层
数据链路层将网络层的IP数据包组装成帧,根据帧上的MAC地址寻找链路,在计算机节点上透明的传输数据。传输的方式有点对点通讯和广播通讯俩种方式,不同的通信方式对应于不同的通行协议。任何协议都需要解决以下三个问题。
1. 封装成帧(将上层传递的数据包封装成帧)
2. 透明传输(任何数据包都可以封装成帧)
3. 差错检测(可检测是否传输的数据有问题,发现问题则丢弃帧,不做重传机制,所以数据链路层不保证可靠传输)
数据链路层相关协议
数据帧在传输过程用到的协议。
-
PPP协议
点对点协议
-
CSMA/CD协议
载波监听多点接入/碰撞检测
数据链路层硬件设备
- 适配器(网卡)
适配器包含了处理器和存储器,同时一块适配器也拥有一个MAC地址,全球唯一。适配器具有的功能
- 缓存数据帧
- 数据包封装成帧
- 检测网络通道是否为空
- 检测通道是否有碰撞
- 过滤MAC地址(广播通知时,根据MAC地址判断是接收数据帧)
-
网桥
由于集线器的广播机制,当单一网络内的节点过多的时候,冲突比较明显,效率就明显降低。所以需要一个硬件能够将网络分割成多个较小的网络,让广播仅限于局部。所以网桥就诞生了。
网桥可以隔离俩个网络,相当于有俩个端口A、B。A端口和B端口会自动记录和他端口相连接的集线器上的所有节点的MAC地址。这样往A端口上的节点发送的数据包就不会再B端口连接的网络上进行广播了,从而达到减少广播冲突的的目的,提高了效率。 -
交换机
网桥只有两个端口。随着网络设备的发展,逐渐产生了多个端口的“网桥”,但是由于网桥是数据链路层的广播通信,集线器是物理层的广播通知,A和G通信的时候,C和D就无法通行,B和F就没法通信——一个桥上、一个集线器上多个通信将产生冲突。为了能够实现多对多的通信,于是产生了交换机。
交换机存在多个端口,逐渐替换了集线器、网桥,成为了组建局域网的核心设备。交换机工作于OSI7层中的数据链路层。交换机会通过ARP协议学习他的MAC地址,保存成一张ARP表。 在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。 也就是说,交换机也有一张表,记录的是port-mac,网络层维护的是ip-mac对应表。
网络层
前面三层讨论的内容都局限于局域网内,想要组件更大的网络(如互联网)必须依靠网络层的路由器以及IP协议。网络层负责为不同网络上的不同主机提供通信服务,网络层将传输层数据组装成IP数据报在网络上传输。
网络层相关协议
网际协议IP
IP地址就是给因特网上的每一个主机或路由器的每一个接口提供一个在全世界范围内唯一的32位标识符。日常一般用点分十进制标识法(225.225.225.225)记录IP地址。IP地址由网络号和主机号组成,相同网段的IP地址网络号是相同的。在同一个网段中可以将一个大的网络划分为多个子网,这样IP的地址空间利用率较高,而且同一个网段子网内维护的路由表也比较小,划分子网用到了子网掩码。在整个网段的路由器接收到一个IP数据报是,用IP地址与子网掩码计算得出子网号,可直接将IP数据报转发给子网。IP协议尽最大努力交付IP数据报,不保证可靠交付。
地址解析协议ARP(将IP地址转换为MAC地址)
- 维护IP地址和MAC地址的映射表(自学习)
- 从映射表中根据IP地址获取MAC地址
IP数据报在网络层传输的过程中源IP地址和目标IP地址是一直不变的,但是源MAC地址和目标MAC每经过一个网络节点就要更换,所以在每个网络节点的转发过程中都会用到ARP协议。
逆地址解析协议RARP(将MAC地址转换为IP地址,目前已经被DHCP(动态ip)协议取代)
网际报文控制协议 ICMP
- ICMP差错报告报文
- ICMP询问报文
ICMP的一个重要应用就是分组网间探测PING(Packet InterNet Groper),用来测试俩个主机之间的连通性。PING是应用层直接使用网络层ICMP的一个例子。他没有通过运输层的TCP或UDP。
网际组管理协议 IGMP
网络层相关硬件
路由器
路由器是一种有多个输入端口和多个输出端口的专用计算机。他只支持网络层、数据链路层、物理层三层协议,其主要作用就是转发IP数据报。为了转发IP数据报,路由器需要维护一个路由表根据不同的IP地址确定不同的端口,将IP数据报转发到不同的网络中。
NAT路由器
NAT:网络地址转换(Network Address Translation),装有NAT软件的路由器叫做NAT路由器。
内网主机想要与互联网上的主机进行交互通讯时可通过NAT路由器,起作用是将内网IP转换为一个互联网IP。
虚拟专用网VPN
专用网:电信拉专线建立专用网
虚拟专用网,用软件技术,完成客户端和服务器端的加密通讯。一般用于俩个专网直接或者互联网的主要有公司机构内部网络通讯,需要安装VPN相关软件。
内网IP
在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。专用地址:
10.0.0.0 到 10.255.255.255
172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
运输层
运输层负责的是俩个主机之间进程的通信,网络层负责主机之间通信,当IP数据报发送到另外一台主机后运输层负责将信息发送给具体的进程也就是不同的应用程序,同理应用层的应用程序在不同主机上需要进行通信的时候,必须要依赖运输层。
运输层相关协议
TCP传输控制协议
- TCP协议是面向连接的,建立连接需要经过三次握手,释放链接需要经过四次挥手;
- TCP协议两端链接的是俩个端点,这俩个端点叫做套接字(socket) socket = ip:port;
- 提供可靠交付的协议,保证数据段在传输过程中无差错、不丢失、不重复、按照顺序到达(依赖重传和编号机制),且可以根据网络信道的拥塞情况,动态的调整发送窗口的大小,缓解网络堵塞的情况;
- TCP协议是面向流的,应用层要使用TCP协议,必须有字节流的处理能力,数据传输单位是报文段;
- 提供全双工通信,任何时候双方都可以进行发送和接收数据。
UDP用户数据报协议
- UDP协议不需要建立连接,即在发送数据之前不需要建立连接;
- 只尽最大努力交付,但不保证成功;
- 数据传输的单位是用户数据报,UDP将应用层传递下来的数据报,加上UPD协议的头部和尾;部之后完整的交给网络层,不做合并与拆分;
- UDP没有拥塞控制,不能根据网络通道的堵塞情况,动态的调整数据报的大小;
- UDP协议支持一对一、一对多、多对多通信;
- UDP协议首部字节数据较小,只占用了8个字节,相对TCP的20个字节,小了很多。
应用层
应用层是OSI7层协议中的最高层,也是离计算机普通用户最近的一层,应用层直接为应用程序经常提供服务。在互联网中有很多应用层协议,常用的有TELNET、HTTP、FTP、TFTP
应用层相关协议
TELNET
远程终端协议,一般用于端口联通性测试;
FTP
文件传输协议,使用的是TCP协议进行数据传输,一般占用21端口;
TFTP
简单文件传输协议,使用的是UDP协议进行数据传输,默认端口为69;
HTTP
超文本传送协议,浏览器使用的协议,默认端口为80
参考图: