7层模型 && 4层TCP/IP 模型对照关系
7层&&5层&&4层模型对照:
我们的教科书为了更好地表示数据包在网络传输上的封装和解封装,抽象出了5层模型
7层模型:
各层的用途:
应用层:为计算机上用户提供服务
表示层:传输数据的处理:加密解密,转换翻译、压缩解压缩
会话层:使得不同主机间的用户可以建立并管理会话(完成 建立、维护、重连 应用程序之间的会话)
传输层:接受会话层的数据,必要的时候将数据进行拆分,将数据交给网络层,【保证数据段有效到达对端】TCP、UDP协议就是控制协议
网络层:路由和寻址(如逻辑地址的选择、分组传输、路由选择),决定数据在网络上的游走路径
数据链路层:将数据编码为帧的格式,并实现误差纠正控制
物理层:实现透明的在 各种硬件线路上 传输 比特流
【记不住顺序就是:应用层(一声四声)、表示层(三声四声)、会话层(四声四声)】
四层模型:
4层模型:应用层、传输层、网络层、网络接口层
1. 应用层:(交互的数据单元称为报文)
主要提供两个终端设备上的 应用程序之间信息交换的服务,
应用层 定义了信息交换的格式,即,定义了网络通信规则 :对于不同的网络应用需要不同的应用层协议(支持 Web 应用的 HTTP 协议,)
在互联网中应用层协议很多:
如支持 Web 应用的 HTTP 协议(基于 TCP 协议);
只负责邮件的发送,而不是接收的SMTP 协议(基于 TCP 协议);
邮件接收协议 POP3/IMAP(基于 TCP 协议);
在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式 FTP(基于 TCP 协议)[FTP 是一种不安全的协议,因为它在传输过程中不会对数据进行加密。建议在传输敏感数据时使用更安全的协议,如 SFTP];
通过加密和认证机制实现安全的访问和文件传输等业务的协议SSH(基于 TCP 协议);
解决域名和 IP 地址的映射问题的DNS协议(基于 UDP 协议)
2. 传输层:
传输层的主要任务就是 负责向两台终端设备进程之间的通信提供 通用的 数据传输服务,应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。
传输层协议:
TCP(Transmisson Control Protocol,传输控制协议 ):提供 面向连接 的,可靠 的数据传输服务。【生成一个个报文段】
UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。【生成一个个用户数据报】
3. 网络层:
网络层 把 传输层 产生的报文段或用户数据报 封装成分组和包 进行传送。
网络层 还负责 为分组和包 找到在网络上传递到目的地址的 路由 。
⚠️ 注意:传输层 通过UDP协议封装成的“用户数据报 和 网络层 通过IP协议封装成的 “IP 数据报” 不是一个东西奥!
网络层协议:
(1)IP(Internet Protocol,网际协议):TCP/IP 协议中最重要的协议之一
主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4,另一种是较新的 IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。
(2)ARP(Address Resolution Protocol,地址解析协议):
ARP 协议解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但 IP 地址属于逻辑地址,而 MAC 地址才是物理地址,ARP 协议解决了 IP 地址转 MAC 地址的一些问题。
(3)ICMP(Internet Control Message Protocol,互联网控制报文协议):一种用于传输网络状态和错误消息的协议,常用于网络诊断和故障排除。
例如,Ping 工具就使用了 ICMP 协议来测试网络连通性。
(4)NAT(Network Address Translation,网络地址转换协议):
NAT 协议的应用场景如同它的名称——网络地址转换,应用于内部网到外部网的地址转换过程中。具体地说,在一个小的子网(局域网,LAN)内,各主机使用的是同一个 LAN 下的 IP 地址,但在该 LAN 以外,在广域网(WAN)中,需要一个统一的 IP 地址来标识该 LAN 在整个 Internet 上的位置。
(5)SPF(Open Shortest Path First,开放式最短路径优先) ):
一种内部网关协议(Interior Gateway Protocol,IGP),也是广泛使用的一种动态路由协议,基于链路状态算法,考虑了链路的带宽、延迟等因素来选择最佳路径。
(6)RIP(Routing Information Protocol,路由信息协议):
一种内部网关协议(Interior Gateway Protocol,IGP),也是一种动态路由协议,基于距离向量算法,使用固定的跳数作为度量标准,选择跳数最少的路径作为最佳路径。
(7)BGP(Border Gateway Protocol,边界网关协议):一种用来在路由选择域之间交换网络层可达性信息(Network Layer Reachability Information,NLRI)的路由选择协议,具有高度的灵活性和可扩展性。
4. 网络接口层
网络接口层=数据链路层+物理层
数据链路层:将网络层交下来的 IP数据报 组装成 帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。
物理层:实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异
网络接口层的协议 和一些功能 :
MAC协议:
CSMA\CD 协议:
多路访问协议:
差错检测技术
为什么网络要分层:
(1)使复杂的问题变简单,拆分问题:
分层可以将复杂的 网络数据传输操作 分解为许多比较小的、界线比较清晰简单的小问题 来处理和解决。更小更简单的问题意味着更好更准确的的边界(目标和接口)定义,从而 使 复杂的计算机网络系统 变得易于设计,实现和标准化。
同时由于将复杂模型分解为每个层解决的问题,各层之间可以保持相互独立:各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了,也减轻了网络系统每层的设计压力。
(2)提高了整体灵活性:每一层都可以使用最适合的技术来实现,无论每一层的技术发生什么改变,只需要保证 提供的功能 以及 暴露的接口的规则 没有改变就行了。体现了开发时的思想 :高内聚、低耦合的原则。