计算机网络要处理的问题有很多。一根网线并不能直接使计算机之间相互连通。还有很多实现细节需要考虑如:

  • 发起通信的计算机需要将数据通信的通路激活,确保数据能在该通路上正常传输
  • 如何识别接收数据的计算机
  • 计算机的文件格式问题
  • 对于出现的差错,意外故障,如何保证接收方最终能正确收到数据

因此相互通信的计算机必须达成一致,共用一套协议,才能更轻松的解决上述及其他问题。
面对如此复杂的问题集合,分层协议是一种很好的解决办法。
OSI与TCP/IP协议均采用分层的方式

OSI模型

OSI模型被分为7层,物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
每一层都有不同的用途,相互之间以接口进行交互。自底向上,底下三层主要考虑信息的传输,而顶上三层主要是数据处理,中介运输层则起到桥梁作用

  • 物理层传输数据的单位为bit,考虑的是怎样在连接计算机的介质上传输数据比特流(如电压大小表示0,1)
  • 数据链路层考虑的是如何 可靠的 传输来自网络层的数据,并且将网络层的数据封装成帧
  • 网络层的主要任务是为网络上的不同主机提供通信。它通过路由选择算法,为分组通过通信子网选择最适当的路径,以实现网络的互连功能。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、流量控制、拥塞控制等将信息从一台网络设备传送到另一台网络设备。这一层的传输单位就是包,是分组(同路由器分组交换的分组)
  • 运输层的传输单位是原始的报文段,数据段。这一层主要是建立主机之间端口到端口连接(运输层通过特定的方式实现了端口的抽象)

  • 会话层