Packet Tracer入门

一,交换机概况

  交换机工作在OSI(开放系统互联参考模型)数据链路层,接入交换机的任意两个网络节点(网络设备)都是独享带宽的。

二,交换机原理

  交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的MAC地址,并把它添加入内部MAC地址表中。

三,交换方式

  (1)存储转发:交换机收到数据帧将其存储在缓存区,分析数据帧,获取与目的地址相关的信息(这个过程中会执行错误检查),并从合适的端口把帧数据发送出去。
  (2)直通转发:交换机收到数据后立即处理数据(不能进行错误检查),即使传输没有完成。交换机只读取帧数据的MAC信息,方便确定数据从哪个端口出去。
  (3)碎片分离:这是介于前两者之间的一种解决方案。它检查数据包的长度是否够64个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节,则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发方式快,但比直通式慢。

四、二层、三层、四层交换机的区别

  二层交换机:二层交换机工作在7层模型中的数据链路层,分析数据包中的 MAC信息,根据MAC信息转发数据。如果没有目的地址的MAC信息,交换机将广播获取目的MAC地址记录在MAC表,方便下次转发数据(这就是交换机的学习功能)。
  三层交换机:在传统二层交换机的基础上采用了网络层的转发技术。我们知道不同网络的主机通信一般需要路由器转发,如果只是将一个局域网划分成多个子网,子网间通信采用路由器,那这些子网间的通信效率就会因为路由器的接口低速,复杂而大大降低。这时就需要三层交换机中的IP分析功能,将不同网段的主机快速链接起来。他的快速源于他借用了二层的高宽带背部总线。
  四层交换机:它在转发数据的时候不只分析数据的MAC,IP,还需要分析数据的端口号(port)。

转自:http://blog.csdn.net/lianghe_work/article/details/44625865

Linux网络应用编程之交换机概述的更多相关文章

  1. Linux高级编程--08.线程概述

    线程 有的时候,我们需要在一个基础中同时运行多个控制流程.例如:一个图形界面的下载软件,在处理下载任务的同时,还必须响应界面的对任务的停止,删除等控制操作.这个时候就需要用到线程来实现并发操作. 和信 ...

  2. Linux高级编程--06.进程概述

    进程控制块 在Linux中,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,它通常包含如下信息: 进程id.系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非 ...

  3. Linux网络应用编程之集线器(Packet Tracer仿真)

    Packet Tracer入门 一,集线器概况 对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上. 工作于OSI(开放式系统互联参考模型)的最底层(物理层) ...

  4. linux系统编程(一)概述

    glibc库封装了linux系统调用,并提供c语言接口 所以学习linux系统编程,主要参考glibc库系统调用相关api 一.进程控制: fork 创建一个新进程 clone 按指定条件创建子进程 ...

  5. 很全的linux网络编程技巧

    本文转载自:http://www.cnblogs.com/jfyl1573/p/6476607.html 1. LINUX网络编程基础知识 1 1.1. TCP/IP协议概述 1 1.2. OSI参考 ...

  6. Linux socket 编程中存在的五个隐患

    前言:         Socket API 是网络应用程序开发中实际应用的标准 API.尽管该 API 简单,但是   开发新手可能会经历一些常见的问题.本文识别一些最常见的隐患并向您显示如何避免它 ...

  7. Linux 系统编程 学习:06-基于socket的网络编程1:有关概念

    Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. ...

  8. linux进程编程:子进程创建及执行函数简介

    linux进程编程:子进程创建及执行函数简介 子进程创建及执行函数有三个: (1)fork();(2)exec();(3)system();    下面分别做详细介绍.(1)fork()    函数定 ...

  9. Linux系统编程@进程通信(一)

    进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...

随机推荐

  1. freemaker分页备忘

    思路:定义一个freemaker宏,接收参数.然后在freemaker页面上import这个文件,把参数传进来在server端渲染. 分页标签:pager.ftl <#-- 自定义的分页指令. ...

  2. BOM 和 JavaScript 中的 trim

    今天遇到一个 IE7 下 JSON.parse 失败的问题.经过排查发现:服务端某个配置文件编码是 UTF-8 + BOM,输出的字符串最开始包含了 BOM 字符,不是合法的 JSON. IE7 不支 ...

  3. PHP windows下命令行用法 学习

    php -v  查看版本 php -r "$a = 1; var_dump($a);"  执行php代码 php -r "var_dump($argv);" a ...

  4. 使用freemarker生成html

    http://herryhaixiao.iteye.com/blog/677524 由于freemarker这个技术很久很久就有了,注释我就没写得很详细了,相信大家都看得懂.下面就直接上代码以及一些代 ...

  5. J2EE之ServletContext读取资源文件

    ServletContext读取资源文件内容的方式有两种: 方法1. public void doGet(HttpServletRequest request, HttpServletResponse ...

  6. Android 软件开发之 PreferenceActivity 中的组件

    1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的 ...

  7. FastJSON应用前测试--转载

    FastJSON 应用前测试   FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能.   ...

  8. ANT的安装和配置(windows)

    1.下载:到ANT官方网站http://ant.apache.org/下载最新版本,解压后即可.2.配置环境变量:我的电脑----属性-----高级----环境变量      如:ANT_HOME:C ...

  9. 写个 Hello World 而已,要不要这么震撼?!

    Atom 编辑器的一个插件,可以让你写代码的时候体验狂拽酷炫的效果! 如果来点音乐.再配上机械键盘的话,写代码是不是爽到爆呢? 这货全名叫: activate-power-mode atom pack ...

  10. DNS 和 IPv6 配置攻略

    Windows 2003 DNS配置攻略 http://lgzeng2360.blog.51cto.com/275998/161908/ http://ask.zol.com.cn/q/21861.h ...