首页系统综合问题嵌入式linux网络编程—学TCPIP网络的看过来,终于有人讲清楚了

嵌入式linux网络编程—学TCPIP网络的看过来,终于有人讲清楚了

时间2023-01-23 08:32:09发布分享专员分类系统综合问题浏览325

今天小编给各位分享authority的知识,文中也会对其通过嵌入式linux网络编程—学TCPIP网络的看过来,终于有人讲清楚了和嵌入式技术与应用等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • 嵌入式linux网络编程—学TCPIP网络的看过来,终于有人讲清楚了
  • 嵌入式技术与应用
  • 关于嵌入式的问题
  • 求编写一个基于TCPIP的文件传输系统,在linux下运行,用C编写 有客户端和服务器端 求高人棒棒忙
  • 一、嵌入式linux网络编程—学TCPIP网络的看过来,终于有人讲清楚了

    本文主要给大家分享网络七层概念之链路层,后续章节会跟大家讲述物理层、

    传输层、应用层等,欢迎学习嵌入式网络编程的朋友关注、转载和发表评论!

    (绝对的好文,建议先收藏和转载!)

    本文的主要内容为:

    链路层提供的服务

    链路层子层

    网络适配器

    曼彻斯特编码

    LAN 地址和 ARP

    mac 地址

    ARP 地址解析协议

    术语

    以太网

    以太网基础

    以太网分类和发展

    WLAN(无线局域网)

    集线器、网桥和交换机

    集线器

    网桥

    交换机

    PPP(Point-to-Point Protocol)点到点协议

    链路层协议用来在单段链路上传输分组。链路层协议定义了在链路两端的主机之间交互的分组格式

    (PDU),以及当发送和接受分组时这些节点采取的动作。链路层协议交换的数据单元为帧frame),每个链路层帧通常封装了一个网络层的数据报。

    当发送和接收帧时,链路层协议所采取的动作包括差错检测、重传、流量控制和随机访问。链路层 协议包括以太网、802.11WLAN、令牌环和 PPP;在很多场合下 ATM 也视作链路层协议。

    网络层的任务是端到端的将袁术层报文段从源主机传送到目的主机,而链路层协议的任务是节点到 节点的将网络层的数据报传送通过路径中的单段链路。链路层的一个重要特点是数据报在路径的不同链 路上可能由不同链路层协议处理。例如:数据报在第一段链路上可能由以太网处理,在最后一段链路上 可能由 PPP 处理,在中间的所有链路上有帧中继处理。不同的链路层协议提供的服务可能是不同的。例如:链路层协议可能提供、也可能不提供可靠的交付。因此网络层必须能够在各段链路层提供异构服务 的情况下,完成端到端的工作。

    4.1.1 链路层提供的服务

    TCP/IP 协议族中链路层的作用主要有 3 个:

    1. 为 IP 模块发送和接收 IP 数据帧;

    2. 为 ARP 模块发送请求和接收应答;

    3. 为安全准入模块发送和接收控制信息。而链路层协议提供的服务包括

    · 成帧:所有的链路层协议都在网络层数据报传送到链路上之前,用链路层帧将其封装。帧 由一个数据字段和若干首部字段组成,网络层数据报就插在数据字段中。(帧可能也包括尾部字段;然而我们把首部字段和尾部字段合并成为首部字段。)该帧的结构由数据链路协议规定。

    · 链路访问:媒体访问控制(MAC)协议定义了帧在链路上传输的规则。对于一端只有一个发送方、另一端只有一个接收方的点对点链路,MAC 协议比较简单(或者不存在),即任何时候只要链路空闲,发送方都能够发送帧。更有趣的情况是多个节点共享一个广播链路, 即所谓的多路访问问题。

    · 可靠传输:当链路层协议提供可靠的传输服务时,它保证将每个网络层的数据报无差错地通过链路层。和运输层可靠的数据传输服务(TCP)类似,链路层可靠的传输服务是通过确认和重传来获得。

    · 流量控制:流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。流量控制可以有效的防止由于网 络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行。

    · 差错检测:当帧中的一个比特作为 1 传输时,接收方节点可能错误地判断为零,反之亦然。这种比特差错是由信号衰减和电磁干扰噪声导致的。因为转发有差错的数据报是没有意义的,许多链路层协议提供一种机制以检测是否存在一个或多个差错。这是通过发送节点在帧中设置差错检测比特,让接收方节点进行差错检测来实现的。

    · 差错纠正:差错纠正和差错检测类似,区别在于接收方不仅能检测是否帧中引入了差错, 而且能够准确地判断帧中的差错出现在哪。

    · 半双工与全双工:采用全双工传输时,链路两端的节点可以同时传输分组。采用半双工传输时,节点不能同时传输和接收。

    4.1.2 链路层子层

    IEEE802 系列标准把数据链路层分成 LLC(Logical Link Control,逻辑链路控制)和 MAC(Media Access Control,媒介接入控制)两个子层。LLC 子层在 IEEE802.2 标准中定义,为 802 标准系列共用; 而 MAC 子层协议则依赖于各自的物理层。IEEE802.15.4 的 MAC 层能支持多种 LLC 标准,通过 SSCS(Service-Specific Convergence Sublayer,业务相关的会聚子层)协议承载 IEEE802.2 类型一的 LLC 标准,同时也允许其他 LLC 标准直接使用 IEEE802.15.4 的 MAC 层的服务。

    划分 LLC 与 MAC 子层原因

    · 局域网基本上采用共享介质环境,从而数据链路层必须考虑介质访问控制机制;

    · 介质访问控制机制与物理介质、物理设备和物理拓扑等涉及硬件实现的部分直接有关;

    · 分为两个子层,可保证层服务的透明性,在形式上保持与 OSI 模型的一致性。

    · 使整个体系结构的可扩展性更好,以备将来接受新的介质与介质访问控制方法。

    · LLC 逻辑链路控制子层

    LLC 子层在 IEEE802.2 标准中定义,为 802 标准系列共用;而 MAC 子层协议则依赖于各自的物理层。IEEE802.15.4 的 MAC 层能支持多种 LLC 标准,通过 SSCS(Service-Specific Convergence

    Sublayer,业务相关的会聚子层)协议承载 IEEE802.2 类型一的 LLC 标准,同时也允许其他 LLC 标准直接使用 IEEE802.15.4 的 MAC 层的服务。

    数据链路层的 LLC 子层用于设备间单个连接的错误控制,流量控制,数据报的分段与重组,数据报的顺序传输。

    与 MAC 层不同,LLC 和物理媒介全无关系。媒介是 CSMA/CD 的 802.3 还是 802.5 的令牌环都没关系。它在 LAN 中是独立的 802.2。在 LLC 之上的网络层可以是无连接、响应的无连接或面向连接的不同业务。

    LLC 用业务接入点 SAP 访问上层协议,有了 SAP,站点就能在 LLC 层只用一个接口同时与几个高层协议玩。一个 SAP 是简单的地址或协议 ID,内容则为空的 LLC 帧。LLC 协议数据单元(LLCPDU)即 LPDU。它包括:DSAP(目的 SAP)/SSAP(源 SAP);一个定义吞吐量优先级的控制域(Controlfield);和含带数据的信息域。在接收方,DSAP 例如协议 ID 就是消息要被递送的,通常 DSAP 和 SSAP 是一样的,因为两端只有在同种协议间才能通信。例如当 SAP 为 AA,代表 SNAP(子层接入协议)。SNAP 是个非标准化的,或厂商特定的协议,用于接入协议的业务。例如当 SAP 为 06,则代表 IP 协议;当 SAP 为 FO,代表 NetBIOS(网络基本输入/输出协议)。SAP 为 FF 表示广播的 Global 协议。

    · MAC 介质访问控制子层

    MAC 主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC 协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送 到物理层;在接收数据的时候,MAC 协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至 LLC(逻辑链路控制)层。

    不管是在传统的有线局域网(LAN)中还是在目前流行的无线局域网(WLAN)中,MAC 协议都被广泛地应用。在传统局域网中,各种传输介质的物理层对应到相应的 MAC 层,目前普遍使用的网络采用的是 IEEE 802.3 的 MAC 层标准,采用 CSMA/CD 访问控制方式;而在无线局域网中,MAC 所对应的标准为IEEE 802.11,其工作方式采用 DCF(分布控制)和 PCF(中心控制)。

    CDMA2000 一 1x 系统中引入 MAC 子层是为了实现在空中接口容量范围内,允许话音、电路型数据和分组型数据业务的组合且同时传送。在 MAC 子层还采用了 QoS 机制来平衡并发的多个服务的不同 QoS 要求。MAC 子层必须按照物理层信道的定时要求,及时地向物理层中特定信道发送数据或从那里接收数据。在 CDMA20000—1 x 中,MAC 子层承担如下两个重要功能, (1)"尽力发送(Best EffortDelivery)"由无线链路协议(RLP)"尽力而为"地保证传输的可靠性,在无线链路上实现适度的可靠传输。 (2)复用(Mux)和 QoS 控制:通过协滴由多业务产生的、有冲突的发送业务到物理信道的请求,以及为接人请求安排合适的优先级.来确保实施事先阱商好的 QoS 级别。 MAC 子层还要完成具体的逻辑信道到物理信道的映射,尽管这个映射可能在 MAC 子层以上的层中已经定义了,但最终的转换过程是在 MAC 子层和物理层之间发雉的。 由图 6~4 可知,MAC 子层包含 3 个主要部分:信令无线突发协议(sRBP)、无线链路协议(RLP)以及复用及 QoS 单元。其 SRBP 和 RLP 分刖完成信令信息和业务信息的"尽力传送"功能, 保证信令和业务的传送;复用及 QoS 单元实现将上层数据映射到物理层,以及将物理层收到的数据转发到相应的上层。 1 SRBP SRBP 用于将短数据突发以及信令提交给复用单元,它在 MAC 子层中是一个刑信令消息提供无连接协议的实体。它与复用单元中公共信道(前向同步信道、寻呼信道、前向公共控制信道、反向接人信道等)的操作相关联,并控制随机接人信道的接人过程。

    4.1.3 网络适配器定义

    将计算机、工作站、服务器等设备连接到网络上的通信接口装置。在很多情况下,它是一个单独的网络接口卡(NIC),即"网卡"。

    网络适配器又称网卡或网络接口卡(NIC),英文名 NetworkInterfaceCard。网络适配器的内核是链路层控制器,该控制器通常是实现了许多链路层服务的单个特定目的的芯片,这些服务包括成帧,链 路接入,流量控制,差错检测等。网络适配器是使计算机联网的设备,平常所说的网卡就是将 PC 机和

    LAN 连接的网络适配器。网卡(NIC) 插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输。它的主要技术参数为带宽、总线方式、电气接口方式等。

    网络类型:

    现在比较流行的有以太网,令牌环网,FDDI 网等,选择时应根据网络的类型来选择相对应的网卡。

    传输速率:

    应根据服务器或工作站的带宽需求并结合物理传输介质所能提供的最大传输速率来选择网卡的传输速率。以以太网为例,可选择的速率就有 10Mbps,10/100Mbps,1000Mbps,甚至 10Gbps 等多种,但不是速率越高就越合适。

    总线类型:

    计算机中常见的总线插槽类型有:ISA、EISA、VESA、PCI 和 PCMCIA 等。在服务器上通常使用 PCI 或 EISA 总线的智能型网卡,工作站则采用可用 PCI 或 ISA 总线的普通网卡,在笔记本电脑则用 PCMCIA 总线的网卡或采用并行接口的便携式网卡。

    网卡支持的电缆接口:

    网卡最终是要与网络进行连接,所以也就必须有一个接口使网线通过它与其它计算机网络设备连接 起来。不同的网络接口适用于不同的网络类型,目前常见的接口主要有以太网的 RJ-45 接口、细同轴电缆的 BNC 接口和粗同轴电 AUI 接口、FDDI 接口、ATM 接口等。

    (1) RJ-45 接口:这是最为常见的一种网卡,也是应用最广的一种接口类型网卡,这主要得益于双绞线以太网应用的普及。

    (2) AUI 接口:这种接口类型的网卡对应用于以粗同轴电缆为传输介质的以太网或令牌网中,这种接口类型的网卡目前更是很少见。

    (3) FDDI 接口:这种接口的网卡是适应于 FDDI(光纤分布数据接口)网络中,这种网络具有100Mbps的带宽,但它所使用的传输介质是光纤。

    (4) BNC 接口:这种接口网卡对应用于用细同轴电缆为传输介质的以太网或令牌网中,目前这种接口类型的网卡较少见,主要因为用细同轴电缆作为传输介质的网络就比较少。

    (5) ATM 接口:这种接口类型的网卡是应用于 ATM(异步传输模式)光纤(或双绞线)网络中。它能提供物理的传输速度达 155Mbps

    网络适配器的主要作用

    1 它是主机与介质的桥梁设备

    2 实现主机与介质之间的电信号匹配

    3 提供数据缓冲能力

    4 控制数据传送的功能(网卡一方面负责接收网络上传过来的数据包,解包后,将数据通过上的总 线传输给本地计算机;另一方面它将本地计算机上的数据打包后送入网络。)

    图 4-1 网络适配器

    如上图所示,适配器的主要部分是总线接口和链路接口。总线接口负责和适配器父节点通信。它在适配器和父节点之间传输数据和控制信息。链路接口负责实现链路层协议。除了将数据报形成帧和接收电路。对于常用的链路层技术(例如以太网)链路接口使用能够在是芯片市场上买到的芯片组来实现。

    4.1.4 曼彻斯特编码

    曼彻斯特编码(Manchester Encoding),也叫做相位编码(PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。曼彻斯特编码被用在以太网媒介系统中。曼彻斯特编码提供一个简单的方式给编码简单的二进制序列而没有长的周期没有转换级别,因而防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。在这个技术下,实际上的二进制数据被传输通过这个电缆,不是作为一个序列的逻辑 1 或 0 来发送的(技术上叫做反向不归零制(NRZ))。

    相反地,这些位被转换为一个稍微不同的格式,它通过使用直接的二进制编码有很多的优点。曼彻斯特编码,常用于局域网传输。在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从低到高跳变表示"1",从高到低跳变表示"0"。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。

    图 4-2 曼彻斯特编码

    4.2 LAN 地址和 ARP

    网卡虽然有很多种,不过,有一点是一致的,那就是每块网卡都有一个世界惟一的 ID 号,也叫做MAC(Media Access Control)地址。MAC 地址被烧录于网卡的 ROM 中,就像是我们每个人的遗传基因密码 DNA 一样,即使在全世界也绝对不会重复。MAC 地址用于在网络中标识电脑的身份,实现网络中不同电脑之间的通信和信息交换。

    4.2.1 mac 地址

    在局域网中,硬件地址又称为物理地址,或 MAC 地址。 802 标准所说的"地址"严格地讲应当是每一个站的"名字"或标识符。 但鉴于大家都早已习惯了将这种 48 位的"名字"称为"地址",所以本书也采用这种习惯用法,尽管这种说法并不太严格。

    IEEE 的注册管理机构 RA(Registration Authority ) 负责向厂家分配地址字段的前三个字节(即高位 24 位)。地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符, 必须保证生产出的适配器没有重复地址。一个地址块可以生成 224 个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48。"MAC 地址"实际上就是适配器地址或适配器标识符EUI-48。

    MAC 地址字段可以采用两种形式之一:6B 全球范围,2B 单位范围

    · 地址块:地址字段的前 3 个字节(高 24 位)由 IEEE 统一分配给厂商,低 24 位由厂商分配

    · 地址类型标识:地址字段的第一字节的最低位 I/G 0 -- 单个站地址; 1 -- 组地址

    · 地址范围标识:地址字段的第一字节的最低第二位 G/L 0 -- 局部管理; 1 -- 全局管理

    图 4-3 mac 地址

    适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

    · 如果是发往本站的帧则收下,然后再进行其他的处理。

    · 否则就将此帧丢弃,不再进行其他的处理。

    "发往本站的帧"包括以下三种帧:

    · 单播(unicast)帧(一对一)

    · 广播(broadcast)帧(一对全体)

    · 多播(multicast)帧(一对多)

    所有的适配器可识别广播和单播帧,第一字节的最低位为 I/G 位,I/G=0 是单播,I/G=1 广播。比如 01-00-5E-A0-B1-C3。IEEE 实际分配 23 位地址。

    4.2.2 ARP 地址解析协议

    ARP,即地址解析协议,实现通过 IP 地址得知其物理地址。在 TCP/IP 网络环境下,每个主机都分配了一个 32 位的 IP 地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把 IP 地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的 32 位IP 地址转换成为 48 位以太网的地址。这就需要在互连层有一组服务将 IP 地址转换为相应物理地址,这组协议就是 ARP 协议。

    图 4-4 LAN 内 arp 请求

    图 4-5 arp 请求数据包

    图 4-6 arp 查询

    图 4-7 ARP 请求

    图 4-8 ARP 响应

    图 4-9 接收方主机不再同一个链路

    基本功能

    在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的 MAC 地址。而在 TCP/IP 协议栈中,网络层和传输层只关心目标主机的 IP 地址。这就导致在以太网中使用 IP 协议时,数据链路层的以太网协议接到上层 IP 协议提供的数据中,只包含目的主机的 IP 地址。于是需要一种方法,根据目的主机的 IP 地址,获得其 MAC 地址。这就是 ARP 协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标 IP 地址转换成目标 MAC 地址的过程。

    另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的 MAC 地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过 ARP 协议获得的将不是目的主机的真实 MAC 地址,而是一台可以通往局域网外的路由器的某个端口的 MAC 地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为 ARP 代理(ARP Proxy)。

    ARP 流程

    在每台安装有 TCP/IP 协议的电脑里都有一个 ARP 缓存表,表里的 IP 地址与 MAC 地址是一一对应的。

    图 4-10 命令 arp –a

    以主机 A(192.168.1.5)向主机 B(192.168.1.1)发送数据为例。当发送数据时,主机 A 会在自己的 ARP 缓存表中寻找是否有目标 IP 地址。如果找到了,也就知道了目标 MAC 地址,直接把目标 MAC 地址写入帧里面发送就可以了;如果在 ARP 缓存表中没有找到目标 IP 地址,主机 A 就会在网络上发送一个广播,A 主机 MAC 地址是"主机 A 的 MAC 地址",这表示向同一网段内的所有主机发出这样的询问:"我是 192.168.1.5,我的硬件地址是"主机 A 的 MAC 地址".请问 IP 地址为192.168.1.1 的 MAC 地址是什么?"网络上其他主机并不响应 ARP 询问,只有主机 B 接收到这个帧时,才向主机 A 做出这样的回应:"192.168.1.1 的 MAC 地址是 00-aa-00-62-c6-09"。这样,主机 A 就知道了主机 B 的 MAC 地址,它就可以向主机 B 发送信息了。同时 A 和 B 还同时都更新了自己的 ARP 缓存表(因为 A 在询问的时候把自己的 IP 和 MAC 地址一起告诉了 B),下次 A 再向主机 B 或者 B 向 A 发送信息时,直接从各自的 ARP 缓存表里查找就可以了。ARP 缓存表采用了老化机制(即设置了生存时间 TTL),在一段时间内(一般 15 到 20 分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少 ARP 缓存表的长度,加快查询速度。

    RARP 反向地址解析协议

    反向地址解析协议用于一种特殊情况,如果站点被初始化后,只有自己的物理网络地址而没有IP 地址,则它可以通过 RARP 协议,并发出广播请求,征求自己的 IP 地址,而 RARP 服务器则负责回答。这样无 IP 的站点可以通过 RARP 协议取得自己的 IP 地址,这个地址在下一次系统重新开始以前都有效,不用连续广播请求。RARP 广泛用于获取无盘工作站的 IP 地址。

    4.2.3 术语

    · 冲突(Collision):

    · 数据冲突。当冲突发生时,物理网段上的数据都不再有效。

    · 冲突域:

    · 在同一个冲突域中的每一个节点都能收到所有被发送的帧。 影响冲突产生的因素:

    · 同一冲突域中节点的数量越多

    · 数据分组的长度

    · 网络的直径等因素

    解决方案:

    · 冲突影响以太网性能。由于冲突的存在使得传统的以太网在负载超过 40%时,效率将明显下降。

    · 使用网桥和交换机将网络分段,将一个大的冲突域划分为若干小冲突域。

    · 广播:

    · 在网络传输中,向所有连通的节点发送消息称为广播。

    · 广播域:

    · 网络中能接收任何一设备发出的广播帧的所有设备的集合。

    · 广播网络和广播的区别:

    · 广播网络指网络中所有的节点都可以收到传输的数据帧,不管该帧是否是发给这些节点。非目的节点的主机虽然收到该数据帧但不做处理。

    · 广播是指由广播帧构成的数据流量,这些广播帧以广播地址(地址的每一位都为"1")为目的地址,告之网络中所有的计算机接收此帧并处理它。

    4.3 以太网

    4.3.1 以太网基础

    以太网即 Ethernet 是 Xerox、DigitalEquipment 和 Intel 三家公司开发的局域网组网规范,于 80年代初首次出版,称为 DIX1.0。1982 年修改后的版本为 DIX2.0。这三家公司将此规范提交给 IEEE(电子电气工程师协会)802 委员会,经过 IEEE 成员的修改并通过,变成了 IEEE 的正式标准,并编号为IEEE802.3。Ethernet 和 IEEE802.3 虽然有很多规定不同,但术语 Ethernet 通常认为与 802.3 是兼容的。IEEE 将 802.3 标准提交国际标准化组织(ISO)第一联合技术委员会(JTC1),再次经过修订变成了国际标准 ISO8802.3。

    以太网。指的是由 Xerox 公司创建并由 Xerox,Intel 和 DEC 公司联合开发的基带局域网规范。以太网络使用 CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以 10M/S 的速率运行在多种类型的电缆上。以太网与 IEEE802·3 系列标准相类似。

    它不是一种具体的网络,是一种技术规范。

    以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的 电缆类型和信号处理方法。以太网在互联设备之间以 10~100Mbps 的速率传送信息包,双绞线电缆

    10BaseT 以太网由于其低成本、高可靠性以及 10Mbps 的速率而成为应用最为广泛的以太网技术。直扩的无线以太网可达 11Mbps,许多制造供应商提供的产品都能采用通用的软件协议进行通信,开放性最好。

    拓扑结构

    总线型:所需的电缆较少、价格便宜、管理成本高,不易隔离故障点、采用共享的访问机制,易造 成网络拥塞。早期以太网多使用总线型的拓扑结构,采用同轴缆作为传输介质,连接简单,通常在小规

    模的网络中不需要专用的网络设备,但由于它存在的固有缺陷,已经逐渐被以集线器和交换机为核心的 星型网络所代替。

    星型:管理方便、容易扩展、需要专用的网络设备作为网络的核心节点、需要更多的网线、对核心 设的可靠性要求高。采用专用的网络设备(如集线器或交换机)作为核心节点,通过双绞线将局域网中 的各台主机连接到核心节点上,这就形成了星型结构。星型网络虽然需要的线缆比总线型多,但布线和 连接器比总线型的要便宜。此外,星型拓扑可以通过级联的方式很方便的将网络扩展到很大的规模,因 此得到了广泛的应用,被绝大部分的以太网所采用。

    传输介质

    以太网可以采用多种连接介质,包括同轴缆、双绞线和光纤等。其中双绞线多用于从主机到集线器 或交换机的连接,而光纤则主要用于交换机间的级联和交换机到路由器间的点到点链路上。同轴缆作为 早期的主要连接介质已经逐渐趋于淘汰。

    接口的工作模式

    以太网卡可以工作在两种模式下:半双工和全双工。

    半双工:半双工传输模式实现以太网载波监听多路访问冲突检测。传统的共享 LAN 是在半双工下工作的,在同一时间只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低 以太网的效率。

    全双工:全双工传输是采用点对点连接,这种安排没有冲突,因为它们使用双绞线中两个独立的线路,这等于没有安装新的介质就提高了带宽。例如在上例的车站间又加了一条并行的铁轨,同时可有两列火车双向通行。在双全工模式下,冲突检测电路不可用,因此每个双全工连接只用一个端口,用于点对点连接。标准以太网的传输效率可达到 50%~60%的带宽,双全工在两个方向上都提供 100%的效率。

    以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中 发送的所有信息,因此,我们说以太网是一种广播网络。以太网的工作过程如下:

    工作步骤

    当以太网中的一台主机要传输数据时,它将按如下步骤进行:

    1、帧听信道上收否有信号在传输。如果有的话,表明信道处于忙状态,就继续帧听,直到信道空 闲为止。

    2、若没有帧听到任何信号,就传输数据

    3、传输的时候继续帧听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤 1(当冲突发生时,涉及冲突的计算机会发送一个拥塞序列,以警告所有的节点)

    4、若未发现冲突则发送成功,计算机会返回到帧听信道状态。

    注意:每台计算机一次只允许发送一个包,所有计算机在试图再一次发送数据之前,必须在最近一 次发送后等待 9.6 微秒(以 10Mbps 运行)。

    4.3.2 以太网分类和发展

    现在最常用的以太网技术包括 10Base2(它在总线拓扑中使用细同轴电缆,传输速率是 10Mbit/s)、

    10BaseT(它在星形拓扑中使用双绞铜线,传输速率为 10 Mbit/s)、100BaseT(它通常在星形拓扑中使用双绞铜线,速率为 100 Mbit/s)和吉比特以太网(它同时使用光纤盒双绞铜线,速率 1Gbit/s)。这些以太网技术由 IEEE802.3 工作组标准化。由于这个原因,以太网 LAN 经常被称为 802.3 以太网。

    转发器:也叫做网络转发器,是一类重建到来的电子、无线或光学信号的网络设备。有了物理媒体如以太网或 Wi-Fi ,数据传输在信号降级之前仅能跨越一个有限范围。转发器尝试来保护信号的完整性和扩展数据能够安全传输的距离。在网络互连时用在 ISO 物理层的中继系统。

    一、标准以太网

    开始以太网只有 10Mbps 的吞吐量,使用的是带有冲突检测的载波侦听多路访问( CSMA/CD, Carrier Sense Multiple Access/Collision Detection)的访问控制方法,这种早期的 10Mbps 以太网称之为标准以太网。以太网可以使用粗同轴电缆、细同轴电缆、非屏蔽双绞线、屏蔽双绞线和光纤等多种传输介质进行连接,并且在 IEEE 802.3 标准中,为不同的传输介质制定了不同的物理层标准, 在这些标准中前面的数字表示传输速度, 单位是"Mbps", 最后的一个数字表示单段网线长度(基准单位是 100m),Base 表示"基带"的意思, Broad 代表"带宽"。

    ·10Base-5 使用直径为 0.4 英寸、阻抗为 50Ω粗同轴电缆, 也称粗缆以太网, 最大网段长度为 500m, 基带传输方法, 拓扑结构为总线型; 10Base- 5 组网主要硬件设备有: 粗同轴电缆、带有 AUI 插口的以太网卡、中继器 、收发器、收发器电缆、终结器等。

    ·10Base-2 使用直径为 0.2 英寸、阻抗为 50Ω细同轴电缆, 也称细缆以太网,最大网段长度为 185m, 基带传输方法, 拓扑结构为总线型; 10Base- 2 组网主要硬件设备有: 细同轴电缆、带有 BNC 插口的以太网卡、中继器、T 型连接器 、终结器等。

    ·10Base- T 使用双绞线电缆, 最大网段长度为 100m, 拓扑结构为星型; 10Base- T 组网主要硬件设备有:3 类或 5 类非屏蔽双绞线、带有 RJ-45 插口的以太网卡、集线器、交换机、RJ-45 插头等。

    · 1Base- 5 使用双绞线电缆,最大网段长度为 500m,传输速度为 1Mbps;

    ·10Broad- 36 使用同轴电缆( RG-59/U CATV), 网络的最大跨度为 3600m, 网段长度最大为 1800m,是一种宽带传输方式;

    ·10Base-F 使用光纤传输介质,传输速率为 10Mbps;

    二、快速以太网

    随着网络的发展,传统标准的以太网技术已难以满足日益增长的网络数据流量速度需求。在

    1993 年 10 月以前,对于要求 10Mbps 以上数据流量的 LAN 应用,只有光纤分布式数据接口(FDDI) 可供选择,但它是一种价格非常昂贵的、基于 100Mpbs 光缆的 LAN。1993 年 10 月,Grand Junction公司推出了世界上第一台快速以太网集线器 Fastch10/100 和网络接口卡 FastNIC100, 快速以太网技术正式得以应用。随后 Intel、SynOptics、3COM、BayNetworks 等公司亦相继推出自己的快速以太网装置。与此同时,IEEE802 工程组亦对 100Mbps 以太网的各种标准,如 100BASE-TX、100BASE-T4、MII、中继器、全双工等标准进行了研究。1995 年 3 月 IEEE 宣布了 IEEE802.3u100BASE- T 快速以太网标准(Fast Ethernet),就这样开始了快速以太网的时代。

    快速以太网与原来在 100Mbps 带宽下工作的 FDDI 相比它具有许多的优点,最主要体现在快速以太网技术可以有效的保障用户在布线基础实施上的投资, 它支持 3、4、5 类双绞线以及光纤的连接,能有效的利用现有的设施。 快速以太网的不足其实也是以太网技术的不足,那就是快速以太网仍是基于 CSMA/ CD 技术,当网络负载较重时,会造成效率的降低,当然这可以使用交换技术来弥补。 100Mbps 快速以太网标准又分为:100BASE-TX 、100BASE-FX、100BASE-T4 三个子类。

    · 100BASE- TX: 是一种使用 5 类数据级无屏蔽双绞线或屏蔽双绞线的快速以太网技术。它使用两对双绞线,一对用于发送,一对用于接收数据。在传输中使用 4B/5B 编码方式,信号频率为 125MHz。符合 EIA586 的 5 类布线标准和 IBM 的 SPT 1 类布线标准。使用同 10BASE-T 相同的 RJ-45 连接器。它的最大网段长度为 100 米。它支持全双工的数据传输。

    · 100BASE - FX : 是一种使用光缆的快速以太网技术, 可使用单模和多模光纤( 62.5 和

    125um) 多模光纤连接的最大距离为 550 米。单模光纤连接的最大距离为 3000 米。在传输中使用 4B/ 5B 编码方式,信号频率为 125MHz。它使用 MIC/FDDI 连接器、ST 连接器或 SC 连接器。它的最大网段长度为 150m、412m、2000m 或更长至 10 公里,这与所使用的光纤类型和工作模式有关, 它支持全双工的数据传输。100BASE-FX 特别适合于有电气干扰的环境、较大距离连接、或高保密环境等情况下的适用。

    · 100BASE-T4:是一种可使用 3、4、5 类无屏蔽双绞线或屏蔽双绞线的快速以太网技术。100Base-T4 使用 4 对双绞线, 其中的三对用于在 33MHz 的频率上传输数据,每一对均工作于半双工模式。第四对用于 CSMA/CD 冲突检测。在传输中使用 8B/6T 编码方式,信号频率为 25MHz, 符合 EIA586 结构化布线标准。它使用与 10BASE-T 相同的 RJ-45 连接器,最大网段长度为 100 米。

    三、千兆以太网

    千兆以太网技术作为最新的高速以太网技术,给用户带来了提高核心网络的有效解决方案, 这种解决方案的最大优点是继承了传统以太技术价格便宜的优点。 千兆技术仍然是以太技术, 它采用了与 10M 以太网相同的帧格式、帧结构、网络协议、全/半双工工作方式、流控模式以及布线系统。由于该技术不改变传统以太网的桌面应用、操作系统,因此可与 10M 或 100M 的以太网很好地配合工作。升级到千兆以太网不必改变网络应用程序、网管部件和网络操作系统, 能够最大程度地投资保护。 为了能够侦测到 64Bytes 资料框的碰撞,Gigabit Ethernet 所支持的距离更短。Gigabit Ethernet 支持的网络类型,如下表所示:

    传输介质 距离

    千兆以太网技术有两个标准: IEEE802.3z 和 IEEE802.3ab。IEEE802.3z 制定了光纤和短程铜线连接方案的标准。IEEE802.3ab 制定了五类双绞线上较长距离连接方案的标准。

    1. IEEE802.3z

    IEEE802.3z 工作组负责制定光纤(单模或多模)和同轴电缆的全双工链路标准。IEEE802.3z 定 义 了 基 于 光 纤 和 短 距 离 铜 缆 的 1000Base-X , 采 用 8B/10B 编 码 技 术 , 信 道 传 输 速 度 为

    1.25 Gbit/s,去耦后实现 1000Mbit/s 传输速度。 IEEE802.3z 具有下列千兆以太网标准:

    · 1000Base-SX 只支持多模光纤, 可以采用直径为 62.5um 或 50um 的多模光纤,工作波长为 770-860nm,传输距离为 220-550m。

    · 1000Base-LX 多模光纤:可以采用直径为 62.5um 或 50um 的多模光纤,工作波长范围为1270-1355nm,传输距离为 550m。

    单模光纤: 可以支持直径为 9um 或 10um 的单模光纤, 工作波长范围为 1270-1355nm, 传输距离为 5km 左右。

    · 1000Base-CX 采用 150 欧屏蔽双绞线(STP),传输距离为 25m。

    2. IEEE802.3ab

    IEEE802.3ab 工作组负责制定基于 UTP 的半双工链路的千兆以太网标准,产生 IEEE802.3ab 标准及协议。IEEE802.3ab 定义基于 5 类 UTP 的 1000Base-T 标准, 其目的是在 5 类 UTP 上以

    1000Mbit/s 速率传输 100m。 IEEE802.3ab 标准的意义主要有两点:

    (1) 保护用户在 5 类 UTP 布线系统上的投资。

    (2) 1000Base-T 是 100Base-T 自然扩展, 与 10Base-T、100Base-T 完全兼容。不过, 在 5 类 UTP 上达到 1000Mbit/s 的传输速率需要解决 5 类 UTP 的串扰和衰减问题,因此,使 IEEE802.3ab 工作组的开发任务要比 IEEE802.3z 复杂些 。

    四、万兆以太网

    万兆以太网规范包含在 IEEE 802.3 标准的补充标准 IEEE 802.3ae 中, 它扩展了 IEEE802.3 协议和 MAC 规范使其支持 10Gb/s 的传输速率。除此之外,通过 WAN 界面子层(WIS: WAN interface sublayer),10 千兆位以太网也能被调整为较低的传输速率, 如 9.584640 Gb/s( OC-192), 这就允许 10 千兆位以太网设备与同步光纤网络(SONET) STS -192c 传输格式相兼容。

    · 10GBASE-SR 和 10GBASE-SW 主要支持短波(850 nm)多模光纤(MMF),光纤距离为 2m到 300 m 。

    10GBASE-SR 主要支持"暗光纤"( dark fiber), 暗光纤是指没有光传播并且不与任何设备连接的光纤。

    10GBASE-SW 主要用于连接 SONET 设备,它应用于远程数据通信。

    · 10GBASE-LR 和 10GBASE-LW 主要支持长波(1310nm)单模光纤(SMF),光纤距离为 2m到 10km (约 32808 英尺)。

    10GBASE-LW 主要用来连接 SONET 设备时,10GBASE-LR 则用来支持"暗光纤"( dark fiber)。

    · 10GBASE-ER 和 10GBASE-EW 主要支持超长波(1550nm)单模光纤(SMF),光纤距离为 2m到 40km (约 131233 英尺)。

    10GBASE-EW 主要用来连接 SONET 设备,10GBASE-ER 则用来支持"暗光纤"( dark fiber)。

    · 10GBASE-LX4 采用波分复用技术, 在单对光缆上以四倍光波长发送信号。系统运行在1310nm 的多模或单模暗光纤方式下。该系统的设计目标是针对于 2m 到 300 m 的多模光纤模式或 2m 到 10km 的单模光纤模式。

    4.4 WLAN(无线局域网)

    WLAN是以太网的无线电介质版本,以太网脱胎于ALOHA(1960年代由美国夏威夷大学主导研究的一 种共享无线网络技术,ALOHA是夏威夷原住民语Hello的意思),ALOHA就是一种无线技术,所以WLAN和ALOHA也有很深的渊源。WLAN标准化工作开始于1997年,而Richard写书是在1993年,所以当时他并没有研究这项技术。WLAN的标准化技术是由IEEE 802.11委员会领导的,通常我们认为WLAN = 802.11 = WiFi, 但最耳熟能详的是时髦的WiFi,稍微专业一点的知道WLAN,更专业的才知道802.11。

    WLAN的通信介质是同频无线电(通常被划分为不同频段的Channel信道),无线电是在自由空间传播的,无线电通信具备开放接入的特点,也是一种共享介质模型,因此也存在冲突的可能,WLAN解决多 点通信冲突的解决方法是CSMA/CA(载波监听、多点接入、冲突避免,Avoidance避免),为何不是CSMA/CD 呢,因为WLAN的无线信号在开放空间内传输,信号并不强(大多WLAN设备在开放空间全向覆盖半径为100m,特殊情况使用定向天线可达10km),能量容易被金属等材料吸收,有可能无法覆盖到空间,载波介质在空间中可能是断续的,而不是连续的,因而无法保证所有节点都可以互相监听,而以太网则在专 门的线缆内传递,线缆上的节点都能够进行监听,如上图中Infrastructure模式中终端4和终端2因为距 离较远可能就无法互相监听,也就检测不到冲突,因此无线电介质上多点接入的冲突主要是靠事先避免(Avoidance),而非事后检测(Detection)。在WLAN中,所有节点被称为station简称STA,在ad hoc(此为拉丁语,意为特殊)模式中,所有STA都是对等的,所以也叫Peer to Peer模式;在Infrastructure 模式中,有一个特殊的STA称为Access Point(无线接入点,简称AP),其余STA都要与AP建立连接,STA 之间的通信都要由AP转发。两种模式中,Infrastructure模式更加常见,WLAN在这种模式中也扩展出了极其丰富的应用。总体来说这两种模式的差别在于转发上:

    IEEE 802.11委员会针对WLAN所做的标准非常多,有涉及介质层面的802.11a/b/g/n,也有MAC层面的802.11i/e等等,除此之外,无线信号相关的射频理论知识也有一个非常庞大的体系,可以说比TCP/IP 框架复杂专业得多。限于能力和时间原因,不在本文中专门介绍,读者可以从已出版的书籍中找到相关 知识。

    WLAN连接模式。

    无线局域网的组网方式一:对等网络,又称Ad-Hoc方式

    由一组有无线网络接口的计算机组成。同一Ad-Hoc网络中的计算机要有相同的工作组名、ESSID 和密码。配置简单,在管理和预先设置方面没有要求。可以实现点对点与点对多点连接。但不能连接外部网络。适用于用户数相对较少的网络规模。以下图为例,因为信号强弱的缘故,STA1 无法检测到TA4,只能检测到STA2,那么STA1只能与STA2通信,而无法与STA3、4通信,也就是说ad hoc模式中,通信无法中转;

    图4-11 Ad-hoc方式

    无线局域网的组网方式二:基础结构网络

    最常见的无线局域网构建模式,又称Infrastucture方式。以AP为中心,实现对网络访问 集中控制。 其弱点是AP成为单故障点;可与有线网络结合起来使用。

    如下图中,所有的STA必须连接到AP,STA1、2、3、4皆连接到同一个AP,那么STA1要和STA4 通信时,即使STA1、STA4因为信号足够好,STA1也要讲数据帧交给AP来转发,也就是说Infrastructure模式中,所有数据都必须由AP进行中转,AP就是所谓的Infrastructure(基础设施)中的一部分,在WLAN中,完整基础设施的名称是distributed system分布式系统,现代的大型无线网络中,一个DS通常由若干AP以及连接这些AP的有线网络、AP控制器构成(AP控制 器可以控制若干个AP共同覆盖一个比较大的区域范围)。

    图4-12 基础结构网络

    · 为什么需要无线局域网?

    · 有线网络所存在的使用限制:

    · 具有空旷场地的建筑物内;

    · 具有复杂周围环境的制造业工厂、货物仓库内;

    · 机场、车站、码头、股票交易场所等一些用户频繁移动的公共场所内;

    · 缺少网络电缆而又不能打洞布线的历史建筑物内;

    · 受自然条件影响而无法实施布线的环境,如存在河道;

    · 在一些需要临时增设网络节点的场合,如体育比赛场地、展示会等

    · 支持无线局域网的技术标准主要有:

    · 蓝牙技术:手机或PDA为主要设计对象

    · HomeRF技术:主要服务为家庭无线网络

    · IEEE 802.11系列:无线局域网标准

    · 覆盖无线局域网的物理层和MAC子层:

    · 物理层标准规定了无线传输信号等基础规范,如802.11a、802.11b、802.11d、802.11g、802.11h 。

    · MAC子层标准包括802.11e、802.11f、802.11i。

    · IEEE 802.11系列:无线局域网标准

    · 红外线(IR)

    采用波长小于1μm的红外线作为传输媒体,有较强的方向性,受阳光干扰大。它支持1~2Mbit/s 数据速率,适于近距离通信。

    · 无线电波方式(具有覆盖范围大,抗干扰、抗噪声、抗衰减和保密性好的优点)

    · 直接序列式扩频(DSSS):支持1~2Mbit/s数据速率

    · 跳频扩展频谱(FHSS) :支持1Mbit/s数据速率

    · 采用带冲突避免的载波侦听多路访问(Carrier Sense Multiple Access/Collision Avoidation )协议 ,简称 CSMA/CA。

    · 在CSMA/CD基础上,引入了称为请求发送/清除发送(RTS/CTS)的机制。

    若发送目的地是无线节点,则当数据到达基站时,基站向无线节点发送一个RTS帧,请求一段用 来发送数据的专用时间。接收到RTS请求帧的无线节点将回应一个CTS帧,表示它将中断其他所有的通信 直到该基站传送数据结束。

    其他设备可监听到传输事件的发生,同时将在此时间段的传输任务向后推迟。这样,节点间传 送数据时发生冲突的概率就会大大的减小。

    无线局域网设备

    · 无线网卡:

    相当于有线网卡在有线局域网中的作用。按总线类型可分为适用于台式机的PCI接口的无线网 卡,适用笔记本的PCMCIA接口的无线网卡,笔记本和台式机均适用的USB接口的无线网卡。

    · 无线访问接入点(AP):

    无线局域网中进行数据发送和接收的集中设备,相当于有线网络中的集线器。

    通常,一个AP能够在几十至上百米的范围内连接多个无线用户。AP可以通过标准的Ethernet电缆 与传统的有线网络相联,从而可作为无线网络和有线网络的连接点。

    · 无线网桥:

    用于无线或有线局域网之间的无线互连。

    · 天线(Antenna) :

    将信号源发送的信号藉由天线传送至远处。

    天线有定向性(Uni-directional)与全向性(Omni-directional)之分,前者较适合于长距离使 用,而后者则较适合区域性之应用。

    · 无线路由器 :

    集成了无线AP的接入功能和路由器的第三层路径选择功能的无线连网设备。

    4.5 集线器、网桥和交换机

    一个机构(包括公司、大学和高中)通常包括许多部门,每个部门都有自己的以太网 LAN,并对它进行 管理。很显然,各个机构也希望各部门互联它们的 LAN 网段。在本节我们将考虑连接 LAN 的 3 中不同方法:集线器、网桥和交换机。

    4.5.1 集线器定义:

    集线器的英文称为"Hub"。"Hub"是"中心"的意思,集线器的主要功能是对接收到的信号进行 再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于 OSI(开放系统互联参考模型)参考模型第一层,即"物理层"。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用 CSMA/CD(一种检测协议)访问方式。

    集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软 件支持或只需很少管理软件管理的硬件设备。它被广泛应用到各种场合。集线器工作在局域网(LAN)环

    境,像网卡一样,应用于 OSI 参考模型第一层,因此又被称为物理层设备。集线器内部采用了电器互联, 当维护 LAN 的环境是逻辑总线或环型结构时,完全可以用集线器建立一个物理上的星型或树型网络结构。在这方面,集线器所起的作用相当于多端口的中继器。其实,集线器实际上就是中继器的一种,其区别仅在于集线器能够提供更多的端口服务,所以集线器又叫多口中继器。

    原理:

    我们知道在环型网络中只存在一个物理信号传输通道,都是通过一条传输介质来传输的,这样就存在各节点争抢信道的矛盾,传输效率较低。引入集线器这一网络集线设备后,每一个站是用它自己专用的传输介质连接到集线器的,各节点间不再只有一个传输通道,各节点发回来的信号通过集线器集中, 集线器再把信号整形、放大后发送到所有节点上,这样至少在上行通道上不再出现碰撞现象。但基于集线器的网络仍然是一个共享介质的局域网,这里的"共享"其实就是集线器内部总线,所以当上行通道与下行通道同时发送数据时仍然会存在信号碰撞现象。当集线器将从其内部端口检测到碰撞时,产生碰撞强化信号(Jam)向集线器所连接的目标端口进行传送。 这时所有数据都将不能发送成功,形成网络

    "大塞车"。

    正因为集线器的这一不足之处,所以它不能单独应用于较大网络中(通常是与交换机等设备一起分担小部分的网络通信负荷),就像在大城市中心不能有单车道一样,因为网络越大,出现网络碰撞现象的机会就越大。也正因如此,集线器的数据传输效率是比较低的,因为它在同一时刻只能有一个方向的 数据传输,也就是所谓的"单工"方式。如果网络中要选用集线器作为单一的集线设备,则网络规模最好 在 10 台以内,而且集线器带宽应为 10/100Mbps 以上。

    集线器除了共享带宽这一不足之处外,还有一个方面在选择集线器时必须要考虑到,那就是它的广播方式。因为集线器属于纯硬件网络底层设备,基本上不具有"智能记忆"能力,更别说"学习"能力了。它也不具备交换机所具有的 MAC 地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点,图示如图 2 所示。

    这种广播发送数据方式有两方面不足:(1)用户数据包向所有节点发送,很可能带来数据通信的不安全因素,一些别有用心的人很容易就能非法截获他人的数据包;(2)由于所有数据包都是向所有节点同时发送,加上以上所介绍的共享带宽方式,就更加可能造成网络塞车现象,更加降低了网络执行效率。

    特点:

    依据 IEEE 802.3 协议,集线器功能是随机选出某一端口的设备,并让它独占全部带宽,与集线器的上联设备(交换机、路由器或服务器等)进行通信。由此可以看出,集线器在工作时具有以下两个特点。

    (1) Hub 只是一个多端口的信号放大设备,工作中当一个端口接收到数据信号时,由于信号在从源端口到 Hub 的传输过程中已有了衰减,所以 Hub 便将该信号进行整形放大,使被衰减的信号再生(恢复)到发送时的状态,紧接着转发到其他所有处于工作状态的端口上。从 Hub 的工作方式可以看出,它在网络中只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送能力, 是—个标准的共享式设备。

    (2) Hub 只与它的上联设备(如上层 Hub、交换机或服务器)进行通信,同层的各端口之间不会直接进行通信,而是通过上联设备再将信息广播到所有端口上。由此可见,即使是在同一 Hub 的不同两个端口之间进行通信,都必须要经过两步操作:第一步是将信息上传到上联设备;第二步是上联设备再将 该信息广播到所有端口上。

    4.5.2 网桥

    定义:

    一种在链路层实现中继,常用于连接两个或更多个局域网的网络互连设备。网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言, 网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据 MAC 分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。

    网桥种类

    远程网桥: 由两个半桥构成

    透明网桥: 即插即用,支撑树算法

    源路由网桥:用于 802.5,发现帧发现路由功能:

    中继器、网桥以及路由器主要解决的是网络通信线路的连接问题,所以他们工作在 OSI 的第三层。中继器实现网络间物理层的互连。中继器从一个网络段上接受信号将之放大,重新定时后传送到另一个网络段上,以延长局域网的电缆长度。路由器是网络层的互连设备,不但可以用于局域网之间的互连, 还可以在广域网之间、广域网与局域网之间实现互连功能,它不仅可以存储和转发分组,还具有路径选择、多路重发和错误检测的功能。

    数据过滤和转发

    网桥的功能之一就是数据的过滤和转发。网桥首先要确定收到帧的目的设备是否在这个数据帧本身 所在的网段上。如果目的设备在这个网段上,网桥就不会将这个数据帧送到其他网桥端口,这就是一个 过滤的例子。过滤是对帧的处理过程,它阻止帧通过网桥。过滤有三种基本类型:

    · 目的地址过滤

    · 源地址过滤

    · 协议过滤自学习能力

    当一帧到达时,网桥必须决定将其过滤还是转发。如果要转发,则必须决定发送哪个局域网。此决 策通过查阅网桥中一张大型散列表里的目的地址来确定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。

    连接广域网络

    随着企业网的发展,网络覆盖的地理区域要求越来越广阔。网桥可以互连相距遥远的局域网,如下 图所示,这样就可以解决一些企业发展自己网络的需要。这种功能的实现是由广域网网桥来完成的。在 最开始我们就提到,广域网网桥也叫半网桥,他们成对的在一起工作。每个网桥的一个端口连接在租用 的线路上或者与一个 X25 网络相连。各个网桥相互合作,通过使用类似于 SDLC 或 HDLC 的协议经过点到点链路来路由数据帧,或使用 X25 经过公共网络路由数据帧。

    图 4-13 广域网网桥

    在通过广域网络进行互连时,必须考虑广域网接入时延和信息传送时延。显然广域网中传输距离越 长,信息传送延迟就越大,而相应的数据传输效率就越底,一般推荐,基于网桥的广域网络连接的计算 机网络覆盖距离不应该超过 20km 以保证较底的传输时延。广域网络访的访问时间在于网桥基于数据链路层工作,所以采用的点到点直达通道,一般不希望数据传输在广域网落中经过复杂的交换,这和路由

    器和网桥式路由器是不同的,即网桥中期望数据帧快速传输。

    设备管理

    · 配置管理 :这一功能包括,网络中所有网桥的操作和网桥的操作参数设置。网桥的操作有初

    始化、重置和关闭,网桥的操作参数设置包括过滤表的生存时间、帧传播延时控制。

    · 故障管理 :这一功能可以及时报告网络故障,并对网络故障进行修整。

    · 性能管理 :统计网桥各端口推进和数据帧的丢失数量。

    · 安全管理 :网桥可以通过一些设置以满足一定的安全需求。它可以设置不同的设备网桥访问时间,或者配置用户修改和访问网桥的参数。其中各厂家对于安全管理实现方式各不相同。

    网桥的工作原理

    数据链路层互联的设备是网桥(bridge),在网络互联中它起到数据接收、地址过滤与数据转发的作用,

    用来实现多个网络系统之间的数据交换。网桥的基本特征

    1.网桥在数据链路层上实现局域网互连;

    2.网桥能够互连两个采用不同数据链路层协议、不同传输介质与不同传输速率的网络

    3.网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信;

    4.网桥需要互连的网络在数据链路层以上采用相同的协议

    5.网桥可以分隔两个网络之间的通信量,有利于改善互连网络的性能与安全性。 网桥的局限性

    网桥具有迅速高效、自适应能力强的特点,同时,与其他工作在高层的网络互连设备相比较,它的 使用和安装都相对简单。但是网桥也存在问题,特别是在与广播帧相关的应用上。广播式通信所带来的 结果是整个网络都能看见存在于某对设备间的问题。

    4.5.3 交换机定义

    交换机(英文:Switch,意为"开关")是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音 交换机、光纤交换机等。

    原理

    工作在数据链路层。交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都 挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的

    MAC(网卡的硬件地址)的 NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的 MAC 若不存在,广播到所有的端口,接收端口回应后交换机会"学习"新的地址,并把它添加入内部 MAC 地址表中。使用交换机也可以把网络"分段",通过对照 MAC 地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的减少冲突域,但它不能划分网络层广播,即广播域。交换机在同一时刻可进行多个端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。当节点 A 向节点 D 发送数据时,节点 B 可同时向节点 C 发送数据,而且这两个传输都享有网络的全部带宽,都有着自己的虚拟连接。假使这里使用的是 10Mbps 的以太网交换机,那么该交换机这时的总流通量就等于 2×10Mbps=20Mbps,而使用 10Mbps 的共享式 HUB 时,一个 HUB 的总流通量也不会超出 10Mbps。总之,交换机是一种基于 MAC 地址识别,能完成封装转发数据包功能的网络设备。交换机可以"学习"MAC 地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达 目的地址。

    人工交换

    电信号交换的历史应当追溯到电话出现的初期。当电话被发明后,只需要一根足够长的导线,加上 末端的两台电话,就可以使相距很远的两个人进行语音交谈。

    电话增多后,要使每个拥有电话的人都能相互通信,我们不可能每两台电话机之间有拉上一根线。 于是人们设立了电话局,每个电话用户都接一根线到电话局的一个大电路板上。当 A 希望和 B 通话时, 就请求电话局的接线员接通 B 的电话。接线员用一根导线,一头插在 A 接到电路板上的孔,另一头插到B 的孔,这就是"接续",相当于临时给 A 和 B 拉了一条电话线,这时双方就可以通话了。当通话完毕后,接线员将电线拆下,这就是"拆线"。整个过程就是"人工交换",它实际上就是一个"合上开关" 和"断开开关"的过程。因此,把"交换"译为"开关"从技术上讲更容易让人理解。

    以太网交换机

    随着计算机及其互联技术(也即通常所谓的"网络技术")的迅速发展,以太网成为了迄今为止普 及率最高的短距离二层计算机网络。而以太网的核心部件就是以太网交换机。

    不论是人工交换还是程控交换,都是为了传输语音信号,是需要独占线路的"电路交换"。而以太 网是一种计算机网络,需要传输的是数据,因此采用的是"分组交换"。但无论采取哪种交换方式,交 换机为两点间提供"独享通路"的特性不会改变。就以太网设备而言,交换机和集线器的本质区别就在 于:当 A 发信息给 B 时,如果通过集线器,则接入集线器的所有网络节点都会收到这条信息(也就是以广播形式发送),只是网卡在硬件层面就会过滤掉不是发给本机的信息;而如果通过交换机,除非 A 通知交换机广播,否则发给 B 的信息 C 绝不会收到(获取交换机控制权限从而监听的情况除外)。

    目前,以太网交换机厂商根据市场需求,推出了三层甚至四层交换机。但无论如何,其核心功能仍 是二层的以太网数据包交换,只是带有了一定的处理 IP 层甚至更高层数据包的能力。

    光交换

    光交换是人们正在研制的下一代交换技术。目前所有的交换技术都是基于电信号的,即使是目前的 光纤交换机也是先将光信号转为电信号,经过交换处理后,再转回光信号发到另一根光纤。由于光电转 换速率较低,同时电路的处理速度存在物理学上的瓶颈,因此人们希望设计出一种无需经过光电转换的

    "光交换机",其内部不是电路而是光路,逻辑原件不是开关电路而是开关光路。这样将大大提高交换 机的处理速率。

    分类

    交换机的传输模式有全双工,半双工,全双工/半双工自适应交换机的全双工是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。全双工的好处在于迟延小, 速度快。

    提到全双工,就不能不提与之密切对应的另一个概念,那就是"半双工",所谓半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两辆车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。 早期的对讲机、以及早期集线器等设备都是实行半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。

    功能

    交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。目前交换机还具备 了一些新的功能,如对 VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。

    学习:以太网交换机了解每一端口相连设备的 MAC 地址,并将地址同相应的端口映射起来存放在交换机缓存中的 MAC 地址表中。

    转发/过滤:当一个数据帧的目的地址在 MAC 地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。

    消除回路:当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允 许存在后备路径。

    交换机除了能够连接同种类型的网络之外,还可以在不同类型的网络(如以太网和快速以太网)之 间起到互连作用。如今许多交换机都能够提供支持快速以太网或 FDDI 等的高速连接端口,用于连接网络中的其它交换机或者为带宽占用量大的关键服务器提供附加带宽。

    一般来说,交换机的每个端口都用来连接一个独立的网段,但是有时为了提供更快的接入速度,我 们可以把一些重要的网络计算机直接连接到交换机的端口上。这样,网络的关键服务器和重要用户就拥 有更快的接入速度,支持更大的信息流量。

    交换机的基本功能:

    1. 像集线器一样,交换机提供了大量可供线缆连接的端口,这样可以采用星型拓扑布线。

    2. 像中继器、集线器和网桥那样,当它转发帧时,交换机会重新产生一个不失真的方形电信号。

    3. 像网桥那样,交换机在每个端口上都使用相同的转发或过滤逻辑。

    4. 像网桥那样,交换机将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高

    了局域网的带宽。

    5. 除了具有网桥、集线器和中继器的功能以外,交换机还提供了更先进的功能,如虚拟局域网

    (VLAN)和更高的性能。 交换机与路由器的区别

    传统交换机从网桥发展而来,属于 OSI 第二层即数据链路层设备。它根据 MAC 地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于 OSI 第三层即网络层设备,它根据 IP 地址进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,由于交换机只须识别帧中 MAC 地址, 直接根据 MAC 地址产生选择转发端口算法简单,便于 ASIC 实现,因此转发速度极高。但交换机的工作机制也带来一些问题。

    1.回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。而路由器的路由协议没有这个问题,路由器之间可以有多 条通路来平衡负载,提高可靠性。

    2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配, 以平衡负载。而路由器的路由协议算法可以避免这一点,OSPF 路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。

    3.广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域, 广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。

    4.子网划分:交换机只能识别 MAC 地址。MAC 地址是物理地址,而且采用平坦的地址结构,因此不能根据 MAC 地址来划分子网。而路由器识别 IP 地址,IP 地址由网络管理员分配,是逻辑地址且 IP 地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是 用于连接不同的网络。

    5.保密问题:虽说交换机也可以根据帧的源 MAC 地址、目的 MAC 地址和其他帧中内容对帧实施过滤,但路由器根据报文的源 IP 地址、目的 IP 地址、TCP 端口地址等内容对报文实施过滤,更加直观方便。

    4.6 PPP(Point-to-Point Protocol)点到点协议

    有人经常把PPP和P2P混淆,其实了解字面意思后就知道二者之间风马牛不相及,PPP是一种链路层 协议,P2P则只是一种通信模型。之前介绍的以太网、WLAN都是多点接入链路技术,以太网尽管实现了 点到点介质,但链路依然是多点接入的。

    图 4-14 常见单链路 PPP

    图 4-15 扩展的多链路 Multi-Link PPP

    而PPP就是专门为点到点链路设计的协议,介质是点到点的,链路也是点到点的。如上图所示,PPP 的物理介质有可能不是连续的,但PPP链路建立之前要求先建立连续通信介质。这可能听起来有点危言耸听,怎么建立连续介质呢?我们忽略了人在网络中的重要性,网络是人设计的,当然我们有建立连续 介质的权利,比如电话,要求人拨电话号码,拨号就是一个建立连续介质的过程,可以说PPP链路和以太网很不一样的特点就是"按需接入",而以太网、WLAN都是"自由接入"特点,因此使用PPP协议的物理层通常是Modem、广域网专线这样的场景。PPP的链路层模型如下所示:

    图4-16 PPP链路层次模型

    · 媒介和物理层已经介绍了拨号(Dial-up)线路,该线路最明显的就是传统Modem拨号和它的升级版本ADSL Modem和3G拨号,以及虚拟拨号,既在以太网/WLAN上建立虚拟拨号链路,我们称为PPP over Ethernet,简称PPPoE;拨号线路的特点可以建立长距链路(如建立从南国广州到东北哈尔滨的链路),但是带宽小,而且不稳定,只能适合个人用户,如果是企业或者研究机 构,则要求带宽高一些,稳定的链路,这就是广域网中的串行线路,分同步、异步两种,目前 同步SDH线路应用广泛一些,有通常比较常见的带宽选项有2M、155M、622M、2.5G,当然带宽越高,要掏的银子也少不了;

    · PPP工作在链路层,最底层的是链路控制协议,Link Control Protocol,作用是建立、配置、测试网络数据连接,也就是说在物理层在人的干预下建立连续介质后,介质两端的LCP就要开工了,协商双方的参数是不是相互兼容,如果各种必要参数OK,那么LCP宣告PPP链路已经建立好了,把工作移交给上一层;

    · LCP的上一层是认证模块,这是一个由LCP协商出来的可选模块,共有2种认证方式:PAP

    (Password Authentication Protocol密码认证协议)和CHAP(Challenge Authentication

    Protocol挑战认证协议),这两种认证都采用用户名、密码认证,可以确认拨号者身份,两种协议的差别在于安全性,PAP在线路上传输用户名、密码的明文,CHAP则传送MD5计算后的摘要, 比较安全;认证一般用在个人使用拨号线路中,目的是确保受信拨号,认证完了也可以计费收钱,而串行线路是专线,也就是介质是无需拨号提前建好,专门给某两个终端使用,银子也是提前就付了的,使用专线的也基本上是大客户,认证没有必要;

    · 认证通过或者免认证后就是NCP(Network Control Protocol网络控制协议)进行最后的收尾了,NCP是一个家族的统称,PPP为不同的网络层协议专门制定NCP,如网络层是IPv4,那么就叫IPCP,如果是IPv6,那么就是IPv6CP,如果是OSI,那就叫OSICP,但OSI协议自出生就被IPv4 牢牢扼杀住,能一睹其芳容的机会很少,除OSI之外还有一些被IPv4/IPv6干废的网络层协议有

    DECnet、Appletalk等,它们都在PPP上有自己的NCP;NCP的作用是协商链路两侧终端的网络层地址信息、压缩之类的参数,NCP竣工后,网络层协议就可以在PPP链路上欢畅运行了。

    · PPP的主要扩展包括Multi-Link PPP(多链路PPP)、PPP压缩(Compression)等技术。

    一、嵌入式技术与应用

    如PDA手机,掌上电脑,在说开点,就是针对硬件做开发,写驱动..
    这个工资收入 相比于纯WEB开发要高一倍

    我给你找个文章吧呵呵.

    嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

    嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。

    一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support

    Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。

    另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

    从事嵌入式软件开发的好处是:

    (1)

    目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。

    (2)

    与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。

    (3)

    哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。土木学院有一个叫启明星的公司开发出一个好象叫“工程e”的掌上PDA(南校区门口有广告),施工技术人员用该PDA可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师,他开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。我记得00级2+2班当年有一组同学在学Windows程序设计课程时用VC++设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个软件做成PDA,估计会有些销路(上海火车站南广场的Macdonald便使用很漂亮的PDA给用户点食品,像摸像样的)。这些PDA的硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

    从事嵌入式软件开发的缺点是:

    (1)

    入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

    (2)

    这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多(小企业要搞自己的产品创业),知名大公司较少(搞嵌入式的大公司主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、Microtek、研华、华为、中兴通信、上广电等制造类企业)。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。由于我院以前毕业生以企业计算为主,所以我院与这些企业联系相对较少。我院正积极努力,目前已与其中部分公司建立了联系,争取今后能有我院同学到这些企业中实习或就业。

    (3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。

    我院同学若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,应是我们的强项。对于搞嵌入式软件的人,最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的):

    (1)掌握主流嵌入式微处理器的结构与原理

    (2) 必须掌握一个嵌入式操作系统

    (3)必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。

    嵌入式软件方面最重要的课程包括:

    (1)

    嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书

    (xxx

    Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。

    (2) 嵌入式操作系统类课程

    除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time

    Operating

    System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。目前最重要的RTOS主要包括:

    第一类、传统的经典RTOS:最主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。

    第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在ARM

    9上的,一般是将Linux

    2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM

    9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少,所以我院不将其作为教学重点,要学习就应学直接实用的,比如

    uClinux就很实用。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人;三是熟悉Linux内核裁减和优化的人。我院在该嵌入式Linux方面的课程系列是:本科生操作系统必修课,然后是Linux程序设计选修课,最后是嵌入式Linux系统选修课。我院在Linux方面目前已有较强力量,魏老师和张老师熟悉Linux开发,金老师和唐老师熟悉Linux系统管理。

    第三类、 Windows

    CE嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,著名的PDA嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?我院可能是全国高校中唯一一家开设专门的“Windows CE嵌入式操作系统“课程的学校,这主要是基于以下原因:我院本身前面便有Windows程序设计课程,同学学过VC++后再学WinCE,非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。很显然,嵌入式Linux永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国政府都在大力推LINUX已好长时间,但您能看到几个在PC机上真正使用LINUX的用户?据我观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多.嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑;

    二是微软亚洲研究院对我院WinCE课程的支持计划,我们也很希望将来我院能有同学通过微软的面试去实习。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,他们很需要精通WinCE的人。

    总结关于嵌入式操作系统类课程,若您觉得自己功底较深且能钻研下去,则可去学嵌入式Linux;若您觉得自己VC++功底较好且想短平快地学嵌入式开发,则我院的WinCE课程是最好的选择。

    (3) 嵌入式开发的其它相关软件课程

    搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:

    A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。为此,我院已预订了一位能开设数字图像处理课程的博士。

    B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无结通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。

    C、网络与信息安全技术:如加密技术,数字证书CA等。我院有这方面的选修课。

    D、DSP技术:DSP是Digital Signal

    Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。

    (4)嵌入式开发的相关硬件基础

    对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C++、数据结构和算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但重点应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。

    我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高的场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其FPGA/IP核实现技术,这方面的人目前市场上也很缺。

    题外话

    另外,能写驱动程序的人目前是非常紧缺的(驱动程序也可归于嵌入式范畴),包括桌面Windows中的DDK开发环境和WDM驱动程序。公司每时每刻都要推出新产品,每一个新产品出来了,要能被操作系统所使用,是必须写驱动程序的。写驱动程序就必须掌握操作系统(如Windows或Linux)的内部工作原理,还涉及到少量硬件知识,难度较大,所以这方面的人很难找。想成为高手的同学,也可从驱动程序方面获得突破。我可说一下自己的经历,三年前我曾短暂地在一家公司写过WinCE驱动程序(正是因为知道这方面的人紧缺,所以才要做这方面的事),尽管那以前从未做过驱动程序,应聘那个职位时正是看准了公司是很难招聘到这方面的人,既然都找不到人,驱动还得有人做,这正是可能有机会切入这一领域的大好机会。面试时大讲自己写过多少万行汇编程序,对计算机工作原理如何清楚,简历中又写着我曾阅读完两本关于Windows Driver Model的两本英文原版书,写过几个小型的驱动程序练习程序(其实根本没写过,我们的同学将来千万不要像我这样,早练就些过硬功夫,就不至于沦落到我这等地步,就不用像我那样去“欺骗”公司了,我这是一个典型的反面教材),居然一切都PASS(当然最重要的是笔试和面试问题还说得过去),这只能说明这一领域找人的困难程度。公司本就未指望找到搞过驱动的人,找个有相关基础的人就算不错了。做了以后,发现也并不是怎样难的。其实搞驱动程序的工作是很舒服的,搞完一个版本就会空一段时间,只有等公司新的芯片推出或新的OS出现后,才需要再去开发新一版驱动,那时有将近一个月时间空闲着在等WinCE .NET Beta版推出,准备将驱动程序升级到CE .NET上,现在在软件学院工作整日忙,无限怀念那段悠闲时光。

    很巧合,最近本人无意中再次体会到了嵌入式的迷人之处。上周我那用了3年的手机终于不能WORK了。此次更新,除要求有手机常见功能外,最好有MP3功能(现在很多英语听力都有MP3文件),最好有英汉词典,最好还能读WORD文档。最后选了个满足以上条件的最便宜的手机DOPOD 515(斩了我2.2K,但想想这也算自己对嵌入式事业的支持,这样便也想开了),算得上最低档的智能手机了。回来一查,手机的about显示,本手机Processor是ARM,其OS是MS Smartphone(即WinCE .NET 4.2),这么巧合,简直可做为学习嵌入式课程的产品案例了(等我们的WinCE课程开得有声有色后,希望能从微软研究院搞些Smartphone来开发开发)。有OS的手机果然了得,金山词霸、WORD、EXCEL、REGEDIT等居然都有smartphone版的,PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式,真是爽。完全可用Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆,MS总是财源滚滚。但我已发现国产的ARM+LINUX手机出现在市面上,价格只1.2K。

    在GOOGLE网上能搜索太多的关于嵌入式系统的讨论了,我刚发现一个非常不错,有很多有经验者谈自己的体会,投入到其中的论坛中,你会切身感到嵌入式学习的热潮。

    要么走ARM+WinCE,要么走ARM+LINUX,要么走ARM+VXWORKS。每个搞嵌入式的人都可选一条路,条条大路通罗马。

    二、关于嵌入式的问题

    从大方向上分,嵌入式分为硬件和软件两方面。
    嵌入式硬件有几个大方向:处理器和数字电路、弱信号和模拟电路、大功率电路、高频电路。做嵌入式硬件必然要精通处理器和数字电路了,但其他几个方向都了解一些,并至少精通其中的一两项。现在嵌入式的应用非常广泛,但几乎都是交叉学科,单纯的嵌入式不多,比如通讯视频等类型的应用,肯定需要高频的电路;而仪表检测设备上用嵌入式,一定会配合模拟电路使用;而变频调速并网发电等的应用,必然与大功率电路配合,也少不了模拟电路。
    嵌入式软件有几个大方向:底层软件、系统层软件、应用层软件,底层软件有底层驱动、高实时性软件、裸奔的嵌入式软件等,主要是与操作系统关系较小,与硬件关系密切的软件,做这种软件需要较好的硬件基础;系统层软件主要是系统的裁剪移植,常用的系统有linux、安卓、ucos-ii、vxworks等等很多,这也是培训机构最常做的培训,做这部分软件要有好的系统架构思想,较深入的操作系统理论;应用层软件是在嵌入式操作系统之上的软件,比如网络协议,用户界面等等,以软件为主,很少涉及硬件,做这种软件要熟悉软件工程、数据结构等。
    在大多数培训机构谈嵌入式就搞linux、搞安卓、搞网络,都往软件上靠,连百度知道的嵌入式分类都分到软件开发了,但实际嵌入式并不局限与这些,在很多需要高实时性高可靠性的系统中,嵌入式应用更广泛。
    至于个人想学嵌入式,最好还是选中硬件还是软件这个大方向,最好再找准小方向,做到在自己的小方向上学得深入,大方向上懂的得多,基础雄厚、专业精尖才是人才。

    三、求编写一个基于TCPIP的文件传输系统,在linux下运行,用C编写 有客户端和服务器端 求高人棒棒忙

    其实大家如果对tcp/ip网络编程这一块不是很熟悉的话,还有一个好办法就是直接编写IO 操作的程序,通过Xinetd来管理网络这一块,一样可以实现的,而且非常方便.
    这样就不需要别人帮你创建服务端了.

    至于客户端,没有办法,如果可以的话,可以采用tcp工具替代,当然这些都是歪路子.

    如果只是文件传输的话,就选用FTP原生的服务器吧,比自己折腾得稳定的多.

    关于authority的问题,通过《关于嵌入式的问题》、《求编写一个基于TCPIP的文件传输系统,在linux下运行,用C编写 有客户端和服务器端 求高人棒棒忙》等文章的解答希望已经帮助到您了!如您想了解更多关于authority的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    authority
    有言有味说单词(七百0五讲)repute[(正式)名誉/名声]-之解析 忘了电脑密码?菜鸟一学就会的密码清除办法