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

【网络编程】网络协议分层

 
阅读更多

概述

为了促进计算机网络的发展,国际标准化组织(ISO)在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型(OSI)。这个模型把网络通信的工作分为7层:物理层、数据链路层、网络层、转输层、会话层、表示层、应用层;每层完成的任务不同,物理层规定了通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。链路层在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输,在不可靠的物理介质上提供可靠的传输,完成物理地址寻址、数据的成帧、流量控制、数据的检错、重发。网络层将数据链路层的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息,选择合适的网间路由和交换结点,确保数据及时传送。传输层的数据单元也称为数据包,但TCP的数据单元称为段,而UDP的数据单元称为数据报,这个层负责获取全部信息,为上层提供端到端的透明的、可靠的数据传输服务。会话层称为对话层或会晤层,在会话层及以上的高层次中,数据传送的单位不在另外命名,统称为报文。会话层提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。表示层解决用户信息的语法表示问题。提供格式化的表示和转换数据服务,数据的压缩和解压缩,数据的加密和解密。应用层为操作系统或网络应用程序提供访问网络服务的接口。

因此,网络协议体系分层的基本思想是:使网络协议体系有统一的规定和规则;各层分别完成不同的任务,利于网络的维护,出现错误时,更方便管理人员按层验察错误。


OSI/RM(开放系统互联/参考模型)
共分7层,从高到低依次为:
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。


TCP/IP
共分4层,从高到低依次为:
应用层、传输层、网络层、网络接口层。
其中应用层对应 OSI/RM 中上三层;网络接口层有时也称做链路层或数据链路层,对应 OSI/RM 中的数据链路层;传输层和网络层分别对应 OSI/RM 中的传输层和网络层。


每个层的概念和作用

1) 物理层

物理层处于OSI参考模型的最低层,是利用物理传输介质为数据链路层提供物理连接,以便透明地传送比特流。物理层提供激活、维持、去活物理连接的所需机械特性、电气特性、功能特性、规程特性的手段。

连接设备:LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。转发器Repeater、集线器Hub、重发器(也称中继器或转发器)

示例:Rj45,802.3等。

2) 数据链接层

在物理层提供比特流传输服务的基础上,在通信的实体之间建立数据链路连接,传送以祯为单位的数据,采用差错控制、流量控制方法,使有差错的物理线路变成无差错的数据链路。纠错和流量控制是链路层的两个主要功能。

连接设备:网桥(也称桥接器)Bridge(可以进行两个网段之间的数据链路层的协议转换)

示例:ATM,FDDI等。

3) 网络层

网络层主要任务是通过路由算法,为分组通过通信子网选择最适合的路径。提供网络层对等实体建立、维持、终止网络连接的手段,并在网络连接上交换网络层协议数据单元,即分组。其中,一个重要功能是网络选路和寻址 。

连接设备:路由器Router、桥路器Brouter(网桥和路由器的混合系统)

示例:IP,IPX等。

4) 传输层

传输层的主要任务是向用户提供可靠的端到端服务,透明地传送报文。它向高层屏蔽了下层数据通信的细节,在通信子网中无传输层.流量控制(Flow control)是传输层的一个重要功能.

示例:TCPUDP,SPX。

5) 会话层

为会话连接提供手段,会话层的主要任务是组织两个会话进程之间的通信,并管理数据的交换。

示例:RPC,SQL等。

6) 表示层

表示层主要用于处理两个通信系统中交换信息的表示方式。它将要交换数据的抽象语法(适合于某一用户)转换为传送语法(适合于OSI内部使用)——公共表示方法.

示例:加密,ASII等。

7) 应用层

应用层是OSI参考模型中的最高层。应用层确定进程之间通信的性质,为用户应用进程访问OSI提供接口,并负责信息的语义表示,以满足用户的需要。

连接设备:网关Gateway(也称网间连接器、信关或联网机)(用来连接异种网络(包括不同的各类网络操作系统),实现网络之间协议的转换)

示例:Telnet,HTTP,FTP,WWW,NFS,SMTP等。

Internet的应用层协议很多,常见的有:

  • TELNET—— 远程登录协议
  • FTP —— 文件传输协议
  • SMTP —— 简单邮件传输协议
  • DNS —— 域名服务协议
  • NSP —— 名字服务协议
  • HTTP —— 超文本传输协议
  • SNMP —— 简单网络管理协议

Internet提供的服务有:

  • 远程登录telnet——TELNET协议
  • 文件传输ftp——FTP协议
  • 电子邮件E-mail——SNMP协议
  • 网络新闻news——NNTP协议
  • 以菜单方式浏览信息Gopher
  • 按内容自动查找WAIS
  • 全球范围的超媒体信息浏览服务WWW


网络协议分层的优点

1) 灵活性好

当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消,更容易管理。

2) 各层之间是独立的

在各层间标准化接口,允许不同的产品只提供各层功能的一部分某一层不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂度就下降了。

3) 易于实现和维护

这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已经被分解为若干个相对独立的子系统, 减少复杂性,允许更容易编程改变或快速评估。

4) 能促进标准化工作

因为每一层的功能及其所提供的服务都已有了精确的说明,较低的层为较高的层提供服务。


参考资料

http://baike.baidu.com/view/736180.htm?fr=aladdin

http://baike.baidu.com/view/3501759.htm?fr=aladdin

http://yejioushao.blog.163.com/blog/static/699041832008718052379/

http://course.cug.edu.cn/computernet/CH_1/CH_1_3.HTM

http://www.2cto.com/net/201308/238189.html

分享到:
评论

相关推荐

    《网络编程与分层协议设计基于Linux平台实现》.(刘飚).[PDF]

    《网络编程与分层协议设计基于Linux平台实现》.(刘飚).[PDF]

    网络编程与分层协议设计基于linux平台实现

    网络编程与分层协议设计基于linux平台实现课程资料,包括课后习题答案、源代码

    网络编程与分层协议设计刘飚书中各章节完整代码

    网络编程与分层协议设计 刘飚 各章代码(完整) ,书中各章节完整代码

    linux网络编程-宋敬彬-part1

    第2篇 Linux用户层网络编程 第5章 TCP/IP协议族简介 138 5.1 OSI网络分层介绍 138 5.1.1 OSI网络分层结构 138 5.1.2 OSI的7层网络结构 139 5.1.3 OSI参考模型中的数据传输 140 5.2 TCP/IP协议栈 141 ...

    网络编程课堂笔记

    Unix TCP/IP 分层协议以及基于Linux的socket套接字网络编程学习笔记。

    linux网络编程-宋敬彬-part3

    第2篇 Linux用户层网络编程 第5章 TCP/IP协议族简介 138 5.1 OSI网络分层介绍 138 5.1.1 OSI网络分层结构 138 5.1.2 OSI的7层网络结构 139 5.1.3 OSI参考模型中的数据传输 140 5.2 TCP/IP协议栈 141 ...

    linux网络编程-宋敬彬-part2

    第2篇 Linux用户层网络编程 第5章 TCP/IP协议族简介 138 5.1 OSI网络分层介绍 138 5.1.1 OSI网络分层结构 138 5.1.2 OSI的7层网络结构 139 5.1.3 OSI参考模型中的数据传输 140 5.2 TCP/IP协议栈 141 ...

    论基于linux平台的跨区域企业安全网络方案.pdf

    论基于linux平台的跨区域企业安全网络方案.pdf

    CH12-C#之网络编程.md

    1. 理解网络的分层架构 2. 理解网络编程Socket的基本概念 3. 理解网络编程的TCP/IP协议 4. 掌握Socket编程

    Visual C++6.0网络编程技术

    第一章 Internet 网络编程基础知识 1 1.1 Internet的网络结构 1 1.1.1 网络拓扑结构 1 1.1.2 以太网技术 3 1.1.3 其他高速网络技术 4 1.1.4 Internet整体结构 6 1.2 网络分层模型和TCP/IP协议 7 1.2.1 OSI 模型 7 ...

    Linux网络通信编程socket

    首先介绍网络编程的概念,即网络协议分层,旨在帮助读者对网络建立初步的、全面立体的认识,其次介绍包括协议、端口、地址等;最后介绍应用非常广泛的传输控制协议(Transmission Control Protocol,TCP)和用户数据...

    linux 网络编程源代码

    1.1 网络的历史.......................................................................................................1 1.2 OSI 模型........................................................................

    Java网络编程(第三版)中文版.part11.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part06.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part07.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part09.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part01.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part03.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part02.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

    Java网络编程(第三版)中文版.part04.rar

    Java网络编程(第三版)中文版(不看后悔) JAVA Network Programming,Third Edition 原出版社: O'Reilly 作者: (美)Elliotte Rusty Harold [作译者介绍] 译者: 朱涛江[同译者作品] 林剑 丛书名: O'...

Global site tag (gtag.js) - Google Analytics