在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。一台计算机操作系统中 的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部) ,OSI参考模型把功能分成七个分立的层次。图2.1表示了OSI分层模型。

  ┌─────┐
  │ 应用层 │←第七层
  ├─────┤
  │ 表示层 │
  ├─────┤
  │ 会话层 │
  ├─────┤
  │ 传输层 │
  ├─────┤
  │ 网络层 │
  ├─────┤
  │数据链路层│
  ├─────┤
  │ 物理层 │←第一层
  └─────┘
  图2.1 OSI七层参考模型

  OSI模型的七层分别进行以下的操作:

第一层 物理层
   第一层负责最后将信息编码成电流脉冲或其它信号用于网上传输。它由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、线的状态和时钟要求、数 据编码和数据传输用的连接器。如最常用的RS-232规范、10BASE-T的曼彻斯特编码以及RJ-45就属于第一层。所有比物理层高的层都通过事先定 义好的接口而与它通话。如以太网的附属单元接口(AUI),一个DB-15连接器可被用来连接层一和层二。

物理层 (PhysicalLayer),规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络 连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功 能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指 在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。

在这一层,数据的单位称为比特(bit)。

属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。

第二层 数据链路层
   数据链路层通过物理网络链路提供可靠的数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及 流控。物理编址(相对应的是网络编址)定义了设备在数据链路层的编址方式;网络拓扑结构定义了设备的物理连接方式,如总线拓扑结构和环拓扑结构;错误校验 向发生传输错误的上层协议告警;数据帧序列重新整理并传输除序列以外的帧;流控可能延缓数据的传输,以使接收设备不会因为在某一时刻接收到超过其处理能力 的信息流而崩溃。数据链路层实际上由两个独立的部分组成,介质存取控制(Media Access Control,MAC)和逻辑链路控制层(Logical Link Control,LLC)。MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错 误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接到同一传输介质上。IEEE MAC规则定义了地址,以标识数据链路层中的多个设备。逻辑链路控制子层管理单一网络链路上的设备间的通信,IEEE 802.2标准定义了LLC。LLC支持无连接服务和面向连接的服务。在数据链路层的信息帧中定义了许多域。这些域使得多种高层协议可以共享一个物理数据 链路。

数据链路层(DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。  

数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

在这一层,数据的单位称为帧(frame)。

数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

第三层 网络层
   网络层负责在源和终点之间建立连接。它一般包括网络寻径,还可能包括流量控制、错误检查等。相同MAC标准的不同网段之间的数据传输一般只涉及到数据链 路层,而不同的MAC标准之间的数据传输都涉及到网络层。例如IP路由器工作在网络层,因而可以实现多种网络间的互联。

在计算机网络中进行 通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。

如 果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地 址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。

在这一层,数据的单位称为数据包(packet)。

网络层协议的代表包括:IP、IPX、RIP、OSPF等。

第四层 传输层
   传输层向高层提供可靠的端到端的网络数据流服务。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复。流控管理设备之间的数据传输,确保 传输设备不发送比接收设备处理能力大的数据;多路传输使得多个应用程序的数据可以传输到一个物理链路上;虚电路由传输层建立、维护和终止;差错校验包括为 检测传输错误而建立的各种不同结构;而差错恢复包括所采取的行动(如请求数据重发),以便解决发生的任何错误。传输控制协议(TCP)是提供可靠数据传输 的TCP/IP协议族中的传输层协议。

第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫 法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟 踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为 透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。

传输层协议的代表包括:TCP、UDP、SPX等。

第五层 会话层
  会话层建立、管理和终止表示层与实体之间的通信会话。通信会话包括发生在不同网络应用层之间的服务请求和服务应答,这些请求与应答通过会话层的协议实现。它还包括创建检查点,使通信发生中断的时候可以返回到以前的一个状态。

这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。

第六层 表示层
  表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息可以被另一个系统应用层识别。表示层的编码和转化模式包括公用数据表示格式、性能转化表示格式、公用数据压缩模式和公用数据加密模式。
   公用数据表示格式就是标准的图像、声音和视频格式。通过使用这些标准格式,不同类型的计算机系统可以相互交换数据;转化模式通过使用不同的文本和数据表 示,在系统间交换信息,例如ASCII(American Standard Code for Information Interchange,美国标准信息交换码);标准数据压缩模式确保原始设备上被压缩的数据可以在目标设备上正确的解压;加密模式确保原始设备上加密的 数据可以在目标设备上正确地解密。
  表示层协议一般不与特殊的协议栈关联,如QuickTime是Applet计算机的视频和音频的标准,MPEG是ISO的视频压缩与编码标准。常见的图形图像格式PCX、GIF、JPEG是不同的静态图像压缩和编码标准。

这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。

第七层 应用层
   应用层是最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的。注意,应用层并非由计算机上运行的实际应用软件组 成,而是由向应用程序提供访问网络资源的API(Application Program Interface,应用程序接口)组成,这类应用软件程序超出了OSI模型的范畴。应用层的功能一般包括标识通信伙伴、定义资源的可用性和同步通信。因 为可能丢失通信伙伴,应用层必须为传输数据的应用子程序定义通信伙伴的标识和可用性。定义资源可用性时,应用层为了请求通信而必须判定是否有足够的网络资 源。在同步通信中,所有应用程序之间的通信都需要应用层的协同操作。
  OSI的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等。

应用层为操作系统或网络应用程序提供访问网络服务的接口。

应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。

2.2 TCP/IP分层模型

  TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。图2.2表示了TCP/IP分层模型的四层。
  ┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
  │        ││D│F│W│F│H│G│T│I│S│U│ │
  │        ││N│I│H│T│T│O│E│R│M│S│其│
  │第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
  │        ││ │G│I│ │P│H│N│ │P│N│ │
  │        ││ │E│S│ │ │E│E│ │ │E│它│
  │        ││ │R│ │ │ │R│T│ │ │T│ │
  └────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
  ┌────────┐┌─────────┬───────────┐
  │第三层,传输层 ││   TCP   │    UDP    │
  └────────┘└─────────┴───────────┘
  ┌────────┐┌─────┬────┬──────────┐
  │        ││     │ICMP│          │
  │第二层,网间层 ││     └────┘          │
  │        ││       IP            │
  └────────┘└─────────────────────┘
  ┌────────┐┌─────────┬───────────┐
  │第一层,网络接口││ARP/RARP │    其它     │
  └────────┘└─────────┴───────────┘
      图2.2 TCP/IP四层参考模型

  TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。
  TCP/IP分层模型的四个协议层分别完成以下的功能:

第一层 网络接口层
   网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像 地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

第二层 网间层
  网间层对应 于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息。

第三层 传输层
  传输层对应于OSI七层参考模型的传输层,它提供两种端到 端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。

第四层 应用层
  应用层对应于OSI七层参考模型的应用层和 表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端 协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等,这也是本书将要讨论的重点。

一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层 + 部分网络层”。交换机中传的是帧。通过存储转发来实现的。

路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。

1.什么是交换机

交 换机也叫交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地 址,将每一信息包独立地从源端口送至目的端口,避免了和其他端口发生碰撞。广义的交换机就是一种在通信系统中完成信息交换功能的设备。

2.交换机的工作原理

在 计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。集线器是采用共享工作模式的代表,如果把集线器比作一个邮递员,那么这个邮递员是个不认识字 的“傻瓜”--要他去送信,他不知道直接根据信件上的地址将信件送给收信人,只会拿着信分发给所有的人,然后让接收的人根据地址信息来判断是不是自己的! 而交换机则是一个“聪明”的邮递员--交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包 以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的 端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。

可见, 交换机在收到某个网卡发过来的“信件”时,会根据上面的地址信息,以及自己掌握的“常住居民户口簿”快速将信件送到收信人的手中。万一收信人的地址不在 “户口簿”上,交换机才会像集线器一样将信分发给所有的人,然后从中找到收信人。而找到收信人之后,交换机会立刻将这个人的信息登记到“户口簿”上,这样 以后再为该客户服务时,就可以迅速将信件送达了。

3.交换机的性能特点

1)独享带宽

由于交换机 能够智能化地根据地址信息将数据快速送到目的地,因此它不会像集线器那样在传输数据时“打扰”那些非收信人。这样一来,交换机在同一时刻可进行多个端口组 之间的数据传输。并且每个端口都可视为是独立的网段,相互通信的双方独自享有全部的带宽,无须同其他设备竞争使用。比如说,当A主机向 D主机发送数据时,B主机可同时向C主机发送数据,而且这两个传输都享有网络的全部带宽--假设此时它们使用的是10Mb的交换机,那么该交换机此时的总 流通量就等于2×10Mb=20Mb。

2)全双工

当交换机上的两个端口在通信时,由于它们之间的通道是相对独立的,因此它们可以实现全双工通信。

1.路由器的作用

通 过集线器或交换机,我们可以将很多台电脑组成一个比较大的局域网(图3),但是当机器的数量达到一定数目时,问题也就来了:对于用集线器构成的局域网而 言,由于采用“广播”工作模式,当网络规模较大时,信息在传输过程中出现碰撞、堵塞的情况越来越严重,即使是交换机,这种情况也同样存在。其次,这种局域 网不安全,也不利于管理。

为了解决这些问题,人们便将一个较大的网络划分为一个个小的子网、网段,或者直接将它们划分为多个 VLAN(即虚拟局域网),在一个VLAN内,一台主机发出的信息只能发送到具有相同VLAN号的其他主机,其他VLAN的成员收不到这些信息或广播帧。 采用VLAN划分网络后,可有效地抑制网络上的广播风暴,增加网络的安全性,使管理控制集中(图4)。

既然是局域网,万一分别处于不 同VLAN的主机需要互相通信时该怎么办呢?这时候就得通过路由器(Router,转发者)来帮忙了。路由器可以将处于不同子网、网段、VLAN的电脑连 接起来,让它们自由通信。另外,我们都知道目前的网络有很多种结构类型,且不同网络所使用的协议、速度也不尽相同。当两个不同结构的网络需要互连时,也可 以通过路由器来实现。路由器可以使两个相似或不同体系结构的局域网段连接到一起,以构成一个更大的局域网或一个广域网。

可见,路由器是一种连接多个网络或网段的网络设备,它能将不同网络、网段或VLAN之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。

2.路由器的工作原理

所 谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。那么路由器具体是如何进行“翻译”工作的呢?我们平时在学习、翻译英语时,肯定会准 备一本英汉字典,通过它来实现英文与中文之间的互现转换。而对于路由器而言,它也有这种用于翻译的字典--路径表。路径表(Routing Table)保存着各种传输路径的相关数据,如子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也 可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。

通过路由器可以让不同子网、网段进行互连,因此路由器与集线器、交换 机不同,它一般安装在网络的“骨干”部位,而不像集线器、交换机那样工作在基层。比如说一个较大规模的企业局域网,基于管理、安全、性能的考虑,一般都会 将整个网络划分为多个VLAN,如此一来,当VLAN与VLAN之间进行通讯时,就必须使用路由器。

对于该企业网而言,肯定还需要与互联网相连,对于企业而言,一般都是通过租用电信的DDN专线或者利用ADSL、Cable、ISDN等方式将企业网接入互联网,而此时由于网络体系及所用协议的不同,也需要路由器来完成企业网与互联网的互连工作。

点击放大

一 般来说,在路由过程中,信息至少会经过一个或多个中间节点。通常,人们会把路由和交换进行对比,这主要是因为在普通用户看来两者所实现的功能是完全一样 的。其实,路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换在移 动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。路由器通过路由决定数据的转发。转发策略称为路由选择,这也是路由器名称的 由来。

三剑客的外观比较

前面我们已经讲解了集线器、交换机、路由器的工作原理,但是对于很多初学者来说,有时也希 望能够从外观上去区分它们。当然,集线器、交换机、路由器在外观上肯定有所区别,但这些往往只能作为参考信息,毕竟现在很多集线器、交换机与路由器产品在 外观上看非常相似。而这里面最难区分的就是普通桌面型的集线器与交换机,而路由器相对比较容易识别。

OSI七层协议和Tcp/IP五层协议,路由器交换机和HUB的区别相关推荐

  1. osi七层协议和tcp/ip四层协议

    (大部分内容为转载) OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议.OSI七层协议是由ISO (I ...

  2. OSI七层协议和TCP/IP四层协议比较

    网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的设计.分析.时限和测试比较容易. ...

  3. OSI七层协议和TCP/IP四层协议之比较

    转载来自 :少年阿宾 http://www.blogjava.net/stevenjohn/archive/2013/03/28/397117.html TCP/IP: 数据链路层:ARP,RARP ...

  4. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络

    作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明: 一.OSI七层网络协议 OSI是Open System I ...

  5. OSI七层网络、TCP/IP五层网络架构、二层/三层网络

    一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个 ...

  6. OSI七层模型、TCP/IP五层(或四层)模型

    要说OSI七层模型和TCP/IP五层(或四层)模型,我们先做问题得拆解,1.什么 是OSI?2.七层模型是那些?如何划分?有那些功能?3.有了OSI七层模型,我们为什么还要引入TCP/IP层模型以及他 ...

  7. 网络基础之OSI七层参考模型与TCP/IP五层模型

    目录 一.网络基础 ①什么是网络 ②网络类型 二.OSI七层参考模型 与TCP/IP五层 ①为什么分层 ②对比图 ③每层作用 ④每层常用设备及常用协议 ⑤路由器交换机介绍 ⑥常用协议介绍 三.数据封装 ...

  8. 简述osi七层模型和TCP/IP五层模型

    简述osi七层模型和TCP/IP五层模型 1 osi七层模型 2 osi七层模型各层功能定义 这里我们只对OSI各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层.后面我也会根据个人 ...

  9. 协议分层(OSI七层模型、TCP/IP五层模型)

    目录 1. OSI 七层模型 2. TCP/IP五层模型 为什么需要网络协议的分层? 分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接. 在代码中,类似于定义好一个 ...

最新文章

  1. tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用
  2. RHEL6.4换CentOS源
  3. POJ1816:Wild Words——题解
  4. Linux操作系统下iptables+nat实现ADSL共享上网!
  5. 对肺结节几何矩的特征提取
  6. 【转】调用约定__cdecl、__stdcall和__fastcall的区别
  7. 使用angular4和asp.net core 2 web api做个练习项目(二), 这部分都是angular
  8. Idea设置多开窗口
  9. 猜拳游戏php中Computer类,人机猜拳 (玩家、电脑、游戏、测试)四个类写法
  10. python随机生成验证码_Python生成随机验证码的两种方法
  11. python函数定义及调用-python函数的定义和调用 | 酷python
  12. 联想如何在桌面显示计算机和网络图标,联想电脑桌面图标字体变小怎么办
  13. yuzu 使用指南:如何在 PC 上运行 Switch 游戏
  14. 电脑编程软件都有哪些
  15. 2021-2022上学期 奖状的清单
  16. 多个安卓设备投屏到电脑_华为手机可以投屏到电脑,那其他安卓手机呢?其实非常简单...
  17. Lect5_Model_free_Control
  18. Android studio音乐播放器
  19. Git版本回退和撤销修改
  20. 过拟合是什么 怎么解决?

热门文章

  1. 主管给实习生新人的一封邮件,字字珠玑,用心良苦
  2. 回调陷阱的概念及解决方法
  3. VUE引入Echarts 打包文件过大——解决方法2:CDN引入
  4. Leetcode_34_Search for a Range
  5. JavaWeb:request.setAttribute()和session.setAttribute()的区别
  6. Windows CreateFont:创建自己的字体
  7. Python大屏看板最全教程之Pyecharts图表
  8. 学习JAVABEANS
  9. springboot配置多源数据库
  10. 产品Backlog 管理