计算机网络常见的层次划分有 OSI 的七层协议和 TCP/IP 的四层协议。而在学习计算机网络的原理,采用了折中的方法,选取五层协议的体系结构进程学习。
1. 应用层
定义应用进程间通信的交互规则,通过应用进程间的交互来完成特定网络应用。
相关协议: HTTP、SSH、DHCP、FTP、DNS、邮件(IMAP、POP3、SMTP)、RPC、WebSocket、MQTT、CoAP等
数据单元: 报文(message)
2. 运输层
负责向两台主机中进程之间的通信提供通用的数据传输服务,应用层利用该服务传送应用层报文。由于一台主机同时运行多个进程,因此运输层有复用和分用的功能,复用就是多个应用进程可同时使用下面的运输层服务,分用就是运输层吧收到的信息分别交付给上面应用层中相应的进程。
相关协议:
- TCP(传输控制协议):面向连接、可靠,传输的单位是报文段(segment)
- UDP(用户数据报协议):无连接、尽最大努力的数据传输服务,传输的单位是用户数据报
数据单元: 数据段 (Segment)和用户数据报
3. 网络层
负责为分组交换网上的不同主机提供通信服务。把运输层产生的报文段或用户数据报封装成分组或包进行传送。传送时,一个重要的任务就是要选择合适的路由,使源主机运输层传下来的分组能够通过网络中的路由器找到目的主机。
网络层协议: IP(IPv4、IPv6)、ARP/NARP、ICMP/IGMP、寻路协议(RIP、OSPF、BGP)
数据单元: 数据报(Packet )
4. 数据链路层
在两个相邻结点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻结点之间的链路上传送。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等),接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始、到哪个比特结束。这样数据链路层在收到一个帧后,就可以从中提取出数据部分,上交给网络层。
相关协议: ARQ、CSMA/CD、PPP、ATM
数据单元: 帧(Frame)
5. 物理层
发送方发送 1 时,接收方应该能收到 1,而不是 0。因此物理层要考虑怎么用电压表示 1 和 0(归零码、曼切斯特编码等),以及接收方如何识别发送方发送的比特。还要确定连接电缆的插头应当有多少跟引脚,对应的引脚怎么连接。而传递信息用的物理媒介(如双绞线、同轴电缆、光缆、无线信道等)并不在物理层协议之内,而是在其下面(第 0 层)。
相关技术: 信道复用技术(波分、频分、时分、码分)、宽带接入技术(ADSL、FTTx)
数据单元: 比特(bit)