TCP/IP协议分层模型
OSI参考模型 | 协议分层 | 描述 |
会话层及以上 | 应用层 | 浏览器与服务器之间的通信协议时HTTP,所传输数据的主要格式是HTML,HTTP属于应用层协议,而HTML属于表示层协议。 发送电子邮件的协议是SMTP,还可以通过表示层协议MIME进行扩展以发送声音,图片等,以及修改文字的大小和颜色。 文件传输协议FTP,传输过程中可以选择使用二进制和文本格式,在使用FTP进行文件传输时会建立两个连接,一个时控制连接用来发出传输请求,一个是数据连接用来传输数据。 远程登录协议TELNET和SSH,网络管理协议SNMP |
传输层 | 传输层 | TCP是一种面向有连接的传输协议,保证两端通信主机之间的通信可达,能正确处理丢包,顺序错乱等情况,还能有效利用带宽,缓解网络拥堵。 UDP是一种面向无连接的传输层协议,不会关注接收端是否收到,常用于分组数据较少或多播,广播以及视频通信等多媒体领域。 |
网络层 | 互联网层 | 互联网层使用IP协议,基于IP地址转发分包数据。IP是一种跨越网络传送数据包,使整个互联网都能收到数据的协议。不具备重发机制,属于非可靠性传输协议。 其中还包括ICMP,当IP数据包发送数据途中发生异常时,通过过ICMP给发送对发送一个异常通知。 |
数据链路层 | 网络接口层 | 利用以太网中的数据链路层进行通信,因此属于接口层。 |
物理层 | 硬件 | TCP/IP最底层是负责数据传输的硬件。这些硬件就相当于以太网或电话线等物理层的设备。 |
数据传输过程
| 层级 | 作用 | 方向 |
发送端 | 应用层 | 在各种应用程序中添加各种形式的信息,文字,图像,视频,声音等并进行编码。 | ↓ |
表示层 | 将不同格式的编码信息转化为标准的网络传输格式。 | ||
会话层 | 管理何时以什么样的方式进行什么样的连接。 | ||
传输层 | 负责建立连接,发送数据,断开连接,将上层传输过来的数据加上TCP首部,首部中包含,发送端和接收端的端口号,以及该包数据的序号和校验和,将首部+数据作为一包完整的数据传输给下层。 | ||
网络层 | 将上层传输过来的数据添加IP首部,首部中包含发送端和接收端IP地址以及上层的协议类型,通过路由控制表将IP首部+数据发送给路由或主机。 | ||
数据链路层 | 将上层传输过来的数据添加以太网首部,首部中包含发送端和接收端的MAC地址,以及标记以太网类型的数据。将以太网首部+数据以二进制的方式传给下一层。 | ||
物理层 | 将二进制的0/1转化成电信号或者光信号在传输介质中传输。(正向) 将光信号或者电信号转化成二进制0/1传输给上一层。(反向) | ||
接收端
| 数据链路层 | 从首部中找到MAC地址并判断是否是给自己的,不是就丢弃,再根据首部中的以太网类型信息确定网络层的协议类型,从而发给对应的IP子程序。 | |
网络层 | 从首部中照代IP地址判断是否是给自己的,不是则根据路由表转发,如果是则根据上层协议类型信息发给上层对应的协议子程序处理。 | ||
传输层 | 检测校验和判断数据是否损坏,检查包的顺序是否有误,检查端口号确定具体的应用程序。给发送端发送一个确认回执 | ||
会话层 | 管理何时以什么样的方式断开什么样的连接。 | ||
表示层 | 将数据根据所属的类型转化为对应的格式。图片,文本,视频,声音等。 | ||
应用层 | 再应用程序中展示信息 |