计算机网络要处理的问题有很多。一根网线并不能直接使计算机之间相互连通。还有很多实现细节需要考虑如:
- 发起通信的计算机需要将数据通信的通路激活,确保数据能在该通路上正常传输
- 如何识别接收数据的计算机
- 计算机的文件格式问题
- 对于出现的差错,意外故障,如何保证接收方最终能正确收到数据
因此相互通信的计算机必须达成一致,共用一套协议,才能更轻松的解决上述及其他问题。
面对如此复杂的问题集合,分层协议是一种很好的解决办法。
OSI与TCP/IP协议均采用分层的方式
OSI模型
OSI模型被分为7层,物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
每一层都有不同的用途,相互之间以接口进行交互。自底向上,底下三层主要考虑信息的传输,而顶上三层主要是数据处理,中介运输层则起到桥梁作用
- 物理层传输数据的单位为bit,考虑的是怎样在连接计算机的介质上传输数据比特流(如电压大小表示0,1)
- 数据链路层考虑的是如何 可靠的 传输来自网络层的数据,并且将网络层的数据封装成帧
- 网络层的主要任务是为网络上的不同主机提供通信。它通过路由选择算法,为分组通过通信子网选择最适当的路径,以实现网络的互连功能。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、流量控制、拥塞控制等将信息从一台网络设备传送到另一台网络设备。这一层的传输单位就是包,是分组(同路由器分组交换的分组)
运输层的传输单位是原始的报文段,数据段。这一层主要是建立主机之间端口到端口连接(运输层通过特定的方式实现了端口的抽象)
会话层