【面试题集】Tcp/Ip协议分层及详解

概述

首先,网络分层协议到底是几层?有人说七层,有人说四层。

其实,这样说都没错,至于有人说五层,那是瞎扯的,约定俗成的东西是你说5层就5层么?

网络七层协议是OSI是一个开放性的通信系统互连参考模型;而基于TCP/IP的参考模型将协议分成四个层次。

注意,这里说的是基于TCP/IP的参考模型将协议是四层,而且七层指的是OSI网络分层协议。基于TCP/IP的参考模型已经说明自己是TCP/IPl ,而且将表示层和会话层合并,所以看起来就是四层。下面显示两者的不同:

OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 备注说明
应用层(Application) 应用层 TELNET,HTTP,FTP,NFS,SMTP 与其它计算机进行通讯的一个应用,对应应用程序的通信服务的。
表示层(Presentation) 加密,ASCII 定义数据格式及加密。
会话层(Session) RPC,SQL,SOCKET 定义了如何开始、控制和结束一个会话
传输层(Transport) 传输层 TCP, UDP 端到端的逻辑通信链路,负责数据的收发、链路的超时重连
网络层(Network) 网络层 IP, ICMP, ARP, RARP, AKP, UUCP 对端到端的网络连接进行定义
数据链路层(Data Link) 网络接口层 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP 定义了在单个链路上如何传输数据。
物理层(Physical) IEEE 802.1A, IEEE 802.2到IEEE 802.11 传输介质的标准

总结一下,就是:

  • 机器a发送http数据包data机器b,data先穿上http的外衣;
  • http数据再增加一系列的控制;
  • 再加上tcp的报文头;
  • 再加上ip报文头;
  • 这时候就形成了ip报文,就可以按照链路层协议在网线/无线传输了;
  • 路由器收到一个报文,会解析成ip报文,看下目的ip是给谁了,根据路由规则,转发到相应的路由器;
  • 最后路由器找到了机器b,把报文给b,b按照七层协议一层层剥开,最后发现是个http报文,按照http再剥开,它就是机器a要跟你说的悄悄话。

图例

OSI 七层:

【面试题集】Tcp/Ip协议分层及详解

TCP/IP 四层:

【面试题集】Tcp/Ip协议分层及详解