OSI七层模型和TCP/IP协议簇
OSI七层模型:
OSI模型是一个概念性的框架,用于理解不同计算机系统如何通过网络相互通信。它将网络通信过程分解为七个抽象层,每一层都有特定的功能和协议。如下图所示:
物理层:定义了所有电气和物理规范,比如电压水平、定时、物理数据速率、线缆规格、连接器设计等。相关的协议和技术:以太网、RS232、T1/T3。
数据链路层:负责节点间的可靠数据传输,错误检测与纠正,以及流量控制。这一层通常分为两个子层:逻辑链路控制(LLC)和媒体访问控制(MAC)。相关的协议和技术:PPP(点对点协议)、HDLC、MAC地址、帧校验序列(FCS)。
网络层:处理分组在不同网络之间的路由选择问题。它决定了数据从源头到目的地的最佳路径。协议和技术:IP、ICMP、RIP。
传输层:提供端到端的通信服务,并确保数据完整性和可靠性。可以支持无连接的服务(如UDP)或面向连接的服务(如TCP)。相关的协议和技术:TCP、UDP、SCTP。
会话层:管理不同机器上的应用程序之间的会话,控制多个双向消息交换。相关的协议和技术:RPC(远程过程调用)、NetBIOS、PPTP。
表示层:负责数据格式转换,包括加密解密、压缩解压等操作,确保发送方的数据可以被接收方理解。相关的协议和技术:JPEG、GIF、TIFF、MPEG、SSL/TLS。
应用层:直接与用户交互的应用程序接口,提供网络服务给最终用户的应用程序。协议有HTTP/HTTPS、FTP、SMTP、DNS、Telnet等。
每一层都依赖于其下一层提供的服务,并为其上一层提供服务。
TCP/IP协议簇:
TCP/IP模型采用了一个更为简洁的四层架构,如下图所示:
通信链路层:处理物理网络介质上的数据帧传输,包括数据帧的封装、解封装、错误检测等,
主要协议和技术:
以太网:最常用的局域网技术。
Wi-Fi:无线局域网技术。
PPP:用于拨号连接和DSL等点对点通信。
SLIP:早期的点对点协议,已被PPP取代
网络层:负责数据包的路由选择和转发,确保数据能够从源地址到达目的地址。
TCP/IP 分层中的⽹络层与传输层的功能通常由操作系统提供。
IP 还隐含着数据链路层的功能,通过 IP 协议,相互通信的主机之间不论经过怎样的底层数据链路,都能够实现相互通信。
主要协议:
IP:核心协议,负责数据包的寻址和路由。IPv4和IPv6是两个主要版本。
ICMP:用于发送错误消息和操作信息,例如ping命令就是基于ICMP实现的。虽然 IP 也是⼀种分组交换协议,但是 IP 却不具备重发机制。即使数据没有到达另⼀端也不会进⾏重发,所以 IP属于⾮可靠性协议。
ARP:将IP地址转换为物理(MAC)地址。
RARP:将物理(MAC)地址转换为IP地址(较少使用)。
传输层:主要的功能是让应⽤层的应⽤程序之间完成通信和数据交换。在计算机内部运⾏着很多应⽤程序,每个应⽤程序都对应⼀个端⼝号,⼀般使⽤端⼝号来区分这些应⽤程序。
主要协议:
TCP:面向连接的协议,提供可靠的数据传输服务,包括数据包排序、错误检测和重传机制。
UDP:无连接的协议,提供快速但不可靠的数据传输服务,适用于实时应用如视频流和在线游戏。
应用层: 在 TCP/IP 协议簇中,将 OSI 标准模型中的应⽤层、会话层、表示层都归为了应⽤层。应⽤层的架构⼤多属于客户端/服务端模型,提供服务的程序叫做服务端、接受服务的程序叫做客户端。在这种架构中,服务端通常会提前部署到服务器上,等待客户端的连接,从⽽提供服务。
主要协议:
HTTP/HTTPS:超文本传输协议,用于Web浏览器和服务器之间的通信。
FTP:文件传输协议,用于在客户端和服务器之间传输文件。
SMTP/POP3/IMAP:简单邮件传输协议/邮局协议版本3/互联网消息访问协议,用于电子邮件的发送和接收。
DNS:域名系统,将域名转换为IP地址。
Telnet/SSH:远程登录协议,允许用户通过网络连接到远程主机。
SNMP:简单网络管理协议,用于管理和监控网络设备。
跟OSI 七层⽹络协议的主要区别:
应⽤层、表示层、会话层三个层次提供的服务相差不是很⼤,所以在 TCP/IP 协议中,它们被合并为应⽤层。
由于数据链路层和物理层的内容很相似,所以在 TCP/IP 协议中它们被合并到⼀个层⾥。