TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比
1. OSI七层和TCP/IP四层的关系
1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。
1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。
1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。
TCP:transmission control protocol 传输控制协议
UDP:user data protocol 用户数据报协议
|
OSI七层网络模型 |
TCP/IP四层概念模型 |
对应网络协议 |
|
应用层(Application) |
应用层 |
HTTP、TFTP, FTP, NFS, WAIS、SMTP |
|
表示层(Presentation) |
Telnet, Rlogin, SNMP, Gopher |
|
|
会话层(Session) |
SMTP, DNS |
|
|
传输层(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 |
具体如下图所示。

2. OSI七层协议模型
2.1 七层结构记忆方法:应、表、会、传、网、数、物
2.2 应用层协议需要掌握的是:HTTP(Hyper text transfer protocol)、FTP(file transfer protocol)、SMTP(simple mail transfer rotocol)、POP3(post office protocol 3)、IMAP4(Internet mail access protocol)
2.3 OSI参考模型中的数据传输过程

如上图所示,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,经历的过程如下:
(1)(DATA)数据首先通过应用层的接口进入应用层。在应用层,用户数据被加上应用层的报头(Application Header,AH),形成应用层协议数据单元(Protocol Data Unit,PDU),然后被递交到下一层-表示层。
(2)表示层并不"关心"上层-应用层的数据格式而是把整个应用层递交的数据包看成是一个整体进行封装,即加上表示层的报头(Presentation Header,PH)。然后,递交到下层-会话层。
(3)同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。它们是:
会话层报头(Session Header,SH)、
传输层报头(Transport Header,TH)、
网络层报头(Network Header,NH)、
数据链路层报头(Data link Header,DH)。
其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(Data link Termination,DT)形成最终的一帧数据。
(4)当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到上层-数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到上层-网络层。
(5)同样,目标主机的网络层、传输层、会话层、表示层、应用层也要做与物理层类似的去掉各个报头的工作。最终得到原始数据,并递交到目标主机的具体应用程序中。
3. TCP/IP四层模型
3.1 应用层:对应OSI中的应用层、表示层、会话层
3.2 物理链路层:对应OSI中的数据链路层、物理层(也有叫网络接口层)
3.3 数据包说明:
IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输

3.4 TCP/IP参考模型中的数据传输过程
参考博文链接:http://blog.csdn.net/21aspnet/article/details/5780847
TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比的更多相关文章
- TCP/IP 协议 OSI七层协议
------------------你来自何处并不重要,重要的是你要去往何方,人生最重要的不是所站的位置,而是所去的方向.人只要不失去方向,就永远不会失去自己! day 27 # # -------- ...
- OSI七层与TCP/IP五层
OSI七层与TCP/IP五层网络架构详解 OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天偶又复习了一下: (1)OSI七层模型 OSI中的层 功能 ...
- 01:osi七层---基于TCP协议的套接字(socket)
1 : osi 七层,tcp/ip 五层 1 cs架构和bs架构2 互联网3 osi七层 tcp/ip五层 -物理层 -网线.光纤 -数据链路层 -网卡 - ...
- Python网络协议(osi七层协议)
一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...
- OSI七层与TCP/IP五层网络架构详解
引用自:http://www.2cto.com/net/201310/252965.html OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天 ...
- OSI七层与tcp/ip四层
1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...
- OSI七层与TCP/IP五层网络架构
OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...
- OSI七层与TCP/IP四层(小结)
OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层,也被依次称为 OSI 第一层.第二层.⋯⋯. 第七层. 各层功能简介 1 ...
- OSI七层和TCP/IP四层的关系、TCP与UDP、HTTP、Socket
HTTP(应用层协议):超文本传输协议,HTTP协议是建立在TCP协议之上的一种应用. HTTP协议详细解释 2Http详解 TCP(面向连接的传输层协议):transmission control ...
- 协议 - OSI七层网络协议模型
摘自:https://www.cnblogs.com/oneplace/p/5611094.html 互联网协议 本文全文转载阮一峰老师的两篇文章,自己做了一些添加内容 参考:互联网协议入门(一) 互 ...
随机推荐
- Windows Graphics Programming Win32 GDI and DirectDraw第六章疑问
<Windows Graphics Programming Win32 GDI and DirectDraw>6.1节中有这样的描述: The Windows NT/2000 graphi ...
- Spring集成RabbiMQ-Spring AMQP新特性
上一篇<Spring集成RabbitMQ-使用RabbitMQ更方便>中,我们只需要添加响应jar的依赖,就可以写一个Spring集成RabbitMQ下非常简单收发消息的程序. 我们使用的 ...
- SpringMVC入门--编写一个SpringMVC小程序
一.SpringMVC的优势 Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一.Spring3.0 后全面超越 Struts2,成为最优秀的 M ...
- 【Tomcat】shell获得war包
功能: 将maven项目打包复制到tomcat/webapps set git=C:\Users\zhengwenqiang\git set tomcat=e:\tomcat7.0.64 c: cd ...
- java 面试,java 后端面试,数据库方面对初级和高级程序员的要求
本内容摘自 java web轻量级开发面试教程 对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面. l 第一,针对一类数据库(比如MySQL.Oracle.SQL Server等 ...
- 转每天一个linux命令(14):head 命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
- Keep in Mind
Do not undermine your worth by comparing yourself with others.It is because we are different and eac ...
- Dom-创建标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 浅述 Java 并发
浅述 Java 并发 volatile volatile只能保证变量对各个线程的可见性,但不能保证原子性.关于 Java语言 volatile 的使用方法就不多说了,我的建议是 除了 配合packag ...
- Bootstrap-table使用记录(转)
HTML代码 /*index.cshtml*/ @section styles{ <style> .main { margin-top:20px; } .modal-body .form- ...