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. url 编码方法

    这个方法用于把 字符串转换成url 的编码 第一个参数是 字符串,第二个参数是 指定的编码(UTF-8 ,GBK, gbk2312...) private string UrlEncode(strin ...

  2. IE-一根网线二台电脑上网

    1 直连线 使用交叉线(橙白 橙 (蓝白) (绿 绿白) ( 蓝)宗白 棕) 2 如果主机原本是用ADSL拔号上网的话,就在主机的网络连接下的宽带连接右击属性>高级,在“Internet 连接共 ...

  3. (贪心5.1.2)POJ 2287 Tian Ji -- The Horse Racing

    /* * POJ_2287.cpp * * Created on: 2013年10月9日 * Author: Administrator */ #include <iostream> #i ...

  4. Redis常用数据类型

    Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html     Redis最为常用的数据类型主要有以下五种: ●Str ...

  5. windows蓝屏代码大全及常见蓝屏解决方案

    对于以下的代码查询建议使用ctrl+F查询,而且很多蓝屏与黑屏的问题多是最近操作引起的,例如更新驱动,安装新的硬件.软件--把相关的配置调到最近的正常状况大多可以解决,确实不行时方可考虑重装系统,解决 ...

  6. SimpleDateFormat 转化毫秒到日期时,指定特定的时区

    http://blog.csdn.net/wangpeng047/article/details/8560690 影响TimeZone的因素: 1. 操作系统的时区设置. 2. 数据传输时时区设置. ...

  7. [IOS地图开发系类]2、位置解码CLGeocoder

      接第一步的操作,获取到地址信息经纬度后,我们可以对其进行解码,解码采用的CLGeocoder这个类,使用方式如下: 1.在ViewControlelr.m文件中声明一个CLGeocoder的属性, ...

  8. listbox icon

    . 实现过程 . . . 图 . 备注 . .关键点 . 相关链接 相关链接    相关链接 相关链接    相关链接. . 来自为知笔记(Wiz) 附件列表

  9. android94 样式和主题

    style.xml <resources xmlns:android="http://schemas.android.com/apk/res/android"> < ...

  10. swap函数的例子

    13.31为你的HasPtr类定义一个<运算符,并定义一个HasPtr的vector为这个vector添加一些元素,并对它执行sort.注意何时会调用swap. #include<iost ...