`
acen.chen
  • 浏览: 157328 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

OSI七层模型与 TCP/IP五层模型 TCP/UDP的区别

阅读更多
OSI七层模型与 TCP/IP五层模型 TCP/UDP的区别

OSI七层模型
OSI 中的层            功能                                                        TCP/IP协议族
应 用层                 文件传输,电子邮件,文件服务,虚拟终 端         TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层                 数据格式化,代码转换,数据加密                                    没有协议
会话 层                 解除或建立与别的接点的联系                                          没有协议
传输层                 提供端对端的接口                                                        TCP,UDP
网 络层                 为数据包选择路由                                                        IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层           传输有地址的帧以及错误检测功能                            SLIP,CSLIP,PPP,ARP,RARP,MTU
物 理层                 以二进制数据形式在物理媒体上传输数据                             ISO2110,IEEE802,IEEE802.2

***************************************************************************************************************

TCP/IP五层模型的协议

应用层
传输层:四层交换机、也有工作在四层的路由器

网络层:路由器、三层交换机

数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)

物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层

**************************************************************

除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别?

开放式 系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之
一。 开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:
·TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。
·TCP/IP协议中的传输层并不能总是保证在传 输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传 输。
TCP/UDP协议
TCP
(Transmission Control Protocol)和UDP(User Datagram
Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提 供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复
用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开 辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、
流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而 UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要
有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要 有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系
统)、TFTP(通用文件传输协议)等.
TCP/IP 协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点

*********************************************************

OSI是 Open System Interconnect的缩写,意为开放式系统互联。
OSI七层参考模型的各个层次的划分遵循下列原 则:
1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接 口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通 信。

第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和过程 的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特
性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在 物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距
离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和 DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操
作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE 双放在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二层:数据链路层 (DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的 传输,并进行各电路上的动作系列。  
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数 据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继 等。
第三层:网络层
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要 经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,
确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层 包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问 题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地
址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址 解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议 的代表包括:IP、IPX、RIP、OSPF等。
第四层:处理信息的传输层。第4层的数据单元也称作数据包 (packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段
(segments)而UDP协议的数据单元称 为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的
数据包和其它在传输过程中可能发生的危 险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中
传输层对上层屏蔽了通信传输系 统的具体细节。
传输层协议的代表包括:TCP、UDP、SPX等。
第五层:会话层。这一层也可以称 为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建 立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
第六层:表示层。这一层主要解决拥 护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数 据的压缩和解压缩, 加密和解密等工作都由表示层负责。
第七层:应用层。应用层为操作系统或网络应用程序提供 访问网络服务的接口。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
通过 OSI 层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机 A 上的应用程序要将信息发送到计算机B的应用程序,则计算机 A
中 的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层 (第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机 B 。计算机 B的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 B的应用层。最后,计算机 B 的应用层再将信息传送给应用程序接收端,从而完成通信过程

  OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。
对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控 制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI 层来说并不是必需的。 当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据 是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对 于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。
例如,如果计算机 A
要将应用程序中的某数据 发送至计算机 B ,数据首先传送至应用层。 计算机 A 的应用层通过在数据上添加协议头来和计算机 B
的应用层通信。所形成的信息单元包含协 议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B
的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协 议尾的添加而增加,这些协议头和协议尾包含了计算机 B
的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。
计算机 B
中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A
的数据链路层添加的协议头中的控制信息;然 后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,
再将剩余信息发送至上一层。应用层 执行完这些动作后,数据就被传送至计算机 B 中的应用程序,这些数据和计算机 A 的应用程序所发送的完全相同 。
一个 OSI 层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI 层与另一计算机系统的对应层进行通信。一个
OSI 模型的特定层通常是与另外三个 OSI 层联系:与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A
的数据链路层 应与其网络层,物理层以及计算机 B 的数据链路层进行通信。

*****************************************************************

OSI
七层模型的每一层都具有清晰的特征。基本来说,第七至第四层处理数据源和数据目的地之间的端到端 通信,而第三至第一层处理网络设备间的通信。另外,OSI
模型的七层也可以划分为两组:上层(层7、层6和层5)和下层(层4、层3、层2和层 1)。OSI
模型的上层处理应用程序问题,并且通常只应用在软件上。最高层,即应用层是与终端用户最接近的。OSI
模型的下层是处理数据 传输的。物理层和数据链路层应用在硬件和软件上。最底层,即物理层是与物理网络媒介(比如说,电线)最接近的,并且负责在媒介上发送
数据。

各 层的具体描述如下:
第七层:应用层

  • 定义了用于在网络中进行通信和数据传输的接口 - 用户程式;
  • 提供标准服务,比如虚拟终端、文件以及任务的传输和处 理;


第六层:表示层

  • 掩盖不同系统间的数据格式的不同性;
  • 指定独立结构的数据传输格式;
  • 数据的编码和解码;加密和解密; 压缩和解压缩


第五层:会话层

  • 管理用户会话和对话;
  • 控制用户间逻辑连接的建立和挂断;
  • 报告上一层发生的错误


第四层:传输层

  • 管理网络中端到端的信息传送;
  • 通过错误纠正和流控制机制提供可靠且有序的数据包传送;
  • 提供面向无连 接的数据包的传送;


第三层:网络层

  • 定义网络设备间如何传输数据;
  • 根据唯一的网络设备地址路由数据包;
  • 提供流和拥塞控制以防止网络资源 的损耗


第二层:数据链路层

  • 定义操作通信连接的程序;
  • 封装数据包为数据帧;
  • 监测和纠正数据包传输错误


第一层:物理层

  • 定义通过网络设备发送数据的物理方式;
  • 作为网络媒介和设备间的接口;
  • 定义光学、电气以及机械特性。

面向连接的TCP



“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。







图1



TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能 建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连 接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工 作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。 三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议 传输数据。


图2



我们来做一个实验,用计算机A(安装Windows 2000 Server操作系统)从“网上邻居”上的一台计算机B拷贝大小为8,644,608字节的文件,通过状态栏右下角网卡的发送和接收指标就会发现:虽然是 数据流是由计算机B流向计算机A,但是计算机A仍发送了3,456个数据包,如图2所示。这些数据包是怎样产生的呢?因为文件传输时使用了TCP/IP协 议,更确切地说是使用了面向连接的TCP协议,计算机A接收数据包的时候,要向计算机B回发数据包,所以也产生了一些通信量。


图3



如果事先用网络监视器监视网络流量,就会发现由此产生的数据流量是9,478,819字节,比文件大小多出10.96%(如图3所示),原因不仅在于 数据包和帧本身占用了一些空间,而且也在于TCP协议面向连接的特性导致了一些额外的通信量的产生。


面向非连接的UDP协议


“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方 手机号就OK了。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!


图4



UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其 实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例 如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发 回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也 正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。

附表:tcp协议和udp协议的差别



TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。TCP协议和UDP协议之间的差别如附表所示。
分享到:
评论

相关推荐

    OSI七层协议模型和TCPIP四层模型

    ### OSI七层协议模型与TCP/IP四层模型详解 #### 一、为何采用分层设计? 在探讨OSI七层模型与TCP/IP四层模型之前,我们首先要理解为什么网络协议会选择分层设计的方式。分层设计的核心优势在于它能够极大地简化...

    osi与TCP/ip模型精华快速记忆总结

    ### OSI与TCP/IP模型精华快速记忆总结 #### 第一部分:OSI七层模型...通过以上总结,我们可以清晰地了解OSI七层模型与TCP/IP四层模型在结构、功能以及协议方面的差异与联系,为学习和理解网络协议栈提供了坚实的基础。

    OSI模型(OSI模型与TCP/IP模型对比)

    TCP/IP模型与OSI模型类似,但只有四层,分别是网络接口层(对应OSI的物理层和数据链路层)、网络层(对应OSI的网络层)、传输层(对应OSI的传输层)和应用层(对应OSI的会话层、表示层和应用层)。TCP/IP模型更注重...

    TCP/IP协议详细介绍

    计算机网络体系结构通常参照OSI模型分为七层,但TCP/IP协议族采用了四层结构,即应用层、传输层、网络层和数据链路层。OSI模型注重理论上的通信协议功能,而TCP/IP更侧重于实际的程序实现。TCP/IP协议不仅包含TCP和...

    TCP/IP超全资料

    TCP/IP模型分为四层(在OSI七层模型的基础上简化而来):应用层、传输层、网络层和数据链路层。每一层都有其特定的功能和协议。 1. **应用层**:这是TCP/IP模型的最高层,包括HTTP(超文本传输协议)、FTP(文件...

    TCP-IP详解(卷一、二、三)超清pdf电子版

    卷一《协议》主要涵盖了网络的基础知识,包括网络的分层模型、OSI七层模型与TCP/IP四层模型的对比、IP协议、ICMP协议、ARP/RARP协议、子网划分与CIDR、网络地址转换NAT以及TCP和UDP协议。书中详细解释了网络数据传输...

    OSI和TCP_IP体系结构比较

    TCP/IP参考模型中没有会话层和表示层,TCP/IP实际上是一个协议族,包括100多个相互关联的协议,其中IP、TCP和UDP是最根本的三种协议。 OSI和TCP/IP都是计算机网络的体系结构模型,但它们之间存在着许多不同点。理解...

    计算机网络复习要点:掌握OSI与TCP/IP模型及其应用

    内容概要:本文档全面总结了计算机网络领域的复习要点,详细介绍了OSI七层模型和TCP/IP模型的层次结构及功能。针对网络协议,重点解析了TCP、UDP、IP的作用及应用场景,并阐述了数据传输机制和相关网络设备(如...

    TCP/IP详解卷1

    首先,书中详细介绍了网络分层模型,包括OSI七层模型和TCP/IP四层模型(或五层模型)。通过对比分析,读者可以理解每层的主要功能,如物理层的信号传输、数据链路层的帧封装、网络层的IP路由选择、传输层的TCP和UDP...

    TCP/IP协议详细介绍.docx

    TCP/IP 协议采用的分层模型与 OSI 参考模型类似,但有一些区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 TCP/IP 协议的...

    OSI的七层网络结构和TCPIP的五层结构

    通过对比OSI七层模型和TCP/IP五层模型,我们可以发现TCP/IP模型更加简洁实用,尤其是在互联网的实际应用中更为广泛。了解TCP/IP模型中的核心协议(如TCP、UDP、IP)以及基本概念(如IP地址、子网掩码)对于网络...

    追踪linux TCP/IP 代码运行_光盘文件1

    1. **TCP/IP协议栈结构**:TCP/IP协议栈通常分为四层(在OSI模型中为七层),包括链路层、网络层、传输层和应用层。在Linux中,这些层对应的模块分别是:链路层的网卡驱动、网络层的IP协议处理、传输层的TCP和UDP...

    TCP/IP_Protocol_Suite_4/e_Solutions

    它可能包含了对网络模型的详细解析,如OSI七层模型与TCP/IP四层模型的对比;对各层协议的工作原理的解释,如TCP的三次握手和四次挥手过程;还有可能涉及到IP地址的分配、子网掩码的计算、端口的作用、网络故障排查等...

    TCP/IP详解(协议和实现)

    1. **TCP/IP模型**:不同于传统的OSI七层模型,TCP/IP模型通常被划分为四层,分别是应用层、传输层、网络层和链路层。每一层都有特定的任务和协议,如应用层的HTTP、FTP,传输层的TCP和UDP,网络层的IP,以及链路层...

    TCP/IP高清电子书

    在这一部分,你会了解到OSI模型与TCP/IP模型的区别,理解网络接口层如何处理物理传输,如以太网和无线网络的工作方式。同时,书中详细介绍了网络层的重要协议——IP协议,包括IP地址、子网掩码、CIDR和路由选择等...

    TCP/IP教程TCP/IP基础

    1.2 TCP/IP参考模型 7 1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2...

    tcp/ip详解卷一卷二卷三

    卷一《协议》主要讲述了网络的基础知识,包括网络层次模型、OSI模型与TCP/IP模型的对比、网络接口层(链路层)的工作原理,如以太网、令牌环等。然后深入探讨了网络层,尤其是IP协议,以及ICMP、ARP、RARP等相关协议...

    tcp-ip三卷合集

    在《TCP/IP详解卷一:协议》中,读者将深入理解网络通信的核心协议,包括OSI模型和TCP/IP模型的对比,网络接口层(链路层)的工作原理,如以太网和令牌环网,以及网络层的IP协议,包括IP寻址、子网划分和IP路由。...

    OSI七层网络模型与TCP[归类].pdf

    《OSI 七层网络模型与TCP/IP 四层网络模型》详解 OSI(Open Systems Interconnection,开放式系统互联)七层模型是一种国际标准化的通信系统结构,它将网络通信的功能划分为七个层次,分别为: 1. 物理层...

Global site tag (gtag.js) - Google Analytics