网络互联参考模型(详解)

网络互联参考模型

1. 什么是协议

为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”

描述网络通信中“语言”规范的一组规则就是协议

例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语……

1.gif

数据通信协议的定义

决定数据的格式和传输的一组规则或者一组惯例

2. 协议分层

网络通信的过程很复杂:

数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读

为了降低网络设计的复杂性,将协议进行了分层设计

分层设计的意义:

1) 用户服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别

2) 而通信服务层的模块设计又可相对独立于具体用户应用要求的不同

例如:文件传输或电子邮件服务模块的设计,不必关心底层通信线路是光纤还是双绞线

邮局实例:

•    邮局对于写信人来说是下层

•    运输部门是邮局的下层

       --下层为上层提供服务

•    写信人与收信人之间使用相同的语言

•    邮局之间的约定

       --同层次之间使用相同的协议

2.gif

3. OSI的七层框架

 3.gif

数据的封装与解封装过程:

1)直观:

 4.gif

2)大体过程:

5.gif

3)协议描述

6.gif

4. TCP/IP协议参考模型

TCP/IP是20世纪70年代中期美国国防部为ARPANET开发的网络体系结构, TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互连层、传输层(主机到主机)、和应用层。

7.gif

4.1 TCP/IP各层对应的协议

 8.gif

4.2TCP/IP模型与OSI模型的比较

相同点:

1)两者都是以协议栈的概念为基础

2)协议栈中的协议彼此相互独立

3)下层对上层提供服务

不同点:

1)OSI是先有模型;TCP/IP是先有协议,后有模型

2)OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络

3)层次数量不同

4.3 TCP/IP各层介绍:

4.3.1 物理层-网络的基础

物理层是TCP/IP模型的最底层

1)功能:物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境, 它利用传输介质为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。

  包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。

9.gif

2)物理层的设备:

物理层的媒体包括架空明线平衡电缆光纤无线信道等。通信用的互连设备指DTEDCE间的互连设备。DTE既数据终端设备,又称物理设备,如计算机终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE──DCE,再经过DCE──DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头插座。LAN中的各种粗、细同轴电缆、T型接头、插头,接收器发送器,中继器等都属物理层的媒体和连接器。

3)物理层规定的特性

为了传输信号,物理层规定了以下这些特性:

机械特性:指明通信实体间硬件连接接口的机械特点
电气特性:规定了在物理连接上导线的电气连接及有关的电路的特性 
功能特性:指明物理接口各条信号线的用途(用法)

规程特性:指明利用接口传输位流的全过程及各项用于传输的事件发生的合法顺序

4.3.2数据链路层——以太网:

数据链路可以粗略地理解为数据通道。

1)功能:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。

数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。

  此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。

2)以太网工作在数据链路层

10.gif

4.3.3网络层

11.gif

定义了基于IP协议的逻辑地址

连接不同的媒介类型

选择数据通过网络的最佳路径

1) 功能:网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。

2) 网络地址: 网络层地址由两部分地址组成:网络地址和主机地址。网络地址是全局唯一的。

4.3.4 传输层

IP层提供点到点的连接

传输层提供端到端的连接

 12.gif

1)功能:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。

传输层传送的协议数据单元称为段或报文。

主要有传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(UserDatagram Protocol),它们都是建立在IP协议的基础上

   传输控制协议TCP提供可靠的面向连接服务,用户数据报协议UDP提供简单的无连接服务

 13.gif

4.3.5 应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等. 是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。

应用层协议可分为3类:

 (1)依赖于TCP的应用协议,如远程终端协议Telnet,文件传输型的电子邮件协议SMTP,文件传输协议FTP,超文本传输协议HTTP,外部网关协议BGP等。

(2)依赖于UDP的协议,例如单纯文件传输协议TFTP,简单网络管理协议SNMP,域名系统DNS,内部网关协议RIP,动态主机配置协议DHCP和引导程序协议BOOTP等。

(3)依赖于TCP和UDP的协议,如通信用管理信息协议CMOT。当然,一些没有标准化的建立在TCP/ IP协议簇之上的用户应用程序(或专用程序)也属于应用层。

14.gif

5.网络连接的时间

TCP建立连接,根据网络环境不同,使用的时间如下:

1、本机的话,通信内容直接走内存。

2、局域网走网卡,然后通过交换机,指定到相应主机。tcp建立3次握手,一般耗0.6毫秒左右。

3、外网通过网卡->路由器->互联网。

15.png

转自:http://blog.csdn.net/hguisu/article/details/7249611

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/3094

(0)
上一篇 2015-05-07 09:41
下一篇 2015-05-07 10:04

相关推荐

  • httpd及https

    1、建立httpd服务,要求: (1) 提供两个基于名称的虚拟主机:     www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log;   &nbs…

    2017-06-05
  • ​N25第三周作业

    第三周 一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@zf ~]# who | cut -d " " -f1  | sort | uniq -…

    Linux干货 2016-12-14
  • Iptables基础

       Firewall:防火墙,工作于主机或网络的边缘处,对于进出本主机或网络的报文根据事先定义好的检查规则左匹配检测,对于能够被规则所匹配到的报文进行相应的处理的组件。   防火墙可分为:硬件防火墙,在硬件级别实现部分功能的防火墙;软件防火墙,应用软件处理逻辑运行于通用硬件平台之上的防火墙;主机防火墙,服务范围为当前主机;网络…

    2017-06-19
  • Shell脚本编程(上)

        Shell脚本编程基础 Shell 脚本基础:包含一些命令或声明并符合一定格式的文本文件Shell 脚本用途:        1. 自动化常用命令        2. 执行系统管理和故障排除        3. …

    2017-04-16
  • LVS调度方法

    lvs scheduler:     根据其调度时是否考虑后端主机的当前负载,可分为静态方法和动态方法     静态方法:仅根据算法本身进行调度:         RR:Round Ronin 轮询         WRR:Weighted…

    Linux干货 2017-01-10
  • N22-第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 单词间跳转 w:下一个单词的词首 e:当前或后一个单词的词尾 b:当前或前一个单词的词首 行首行尾跳转: ^:跳转至行首的第一个非空白字符 0:跳转至行首 $: 跳转至行尾 句间跳转: ) ( 段落跳转: } { 字符编辑 x:删除光标所在处的字符 #x:删除光标所在处起始的#个字符 xp:交换光标所在处的字符与…

    Linux干货 2016-09-26