总线(BUS,即公共汽车,数据的公共传输路线)分类的方式有很多,如被分为外部和内部总线、系统总线和非系统总线等等,下面是几种最常用的分类方法。另外,总线的传输核心思想是多路复用:时分多路复用-TDMA/频分多路复用-FDMA/码分多路复用-CDMA。

  1. 按功能分
  • (1) 片总线(Chip Bus, C-Bus) 又称元件级总线,是把各种不同的芯片连接在一起构成特定功能模块(如CPU模块)的信息传输通路,它的宽度可以是8、16、32或64位。目前比较流行的几种内部总线技术:I2C总线、SCI总线等。

  • (2) 内总线(Internal Bus, I-Bus) 又称系统总线或板级总线,是微机系统中各插件(模块)之间的信息传输通路。例如CPU模块和存储器模块或I/O接口模块之间的传输通路。常用的有PC总线、AT总线(ISA总线)、PCI总线等。

  • (3) 外总线(External Bus, E-Bus)

  又称通信总线,是微机系统之间或微机系统与其他系统(仪器、仪表、控制装置等)之间信息传输的通路,如EIA RS-232C、IEEE-488等。

  其中的系统总线,即通常意义上所说的总线,一般又含有三种不同功能的总线,即数据总线DB、地址总线AB和控制总线CB。

  地址总线是专门用来传送地址的。在设计过程中,见得最多的应该是从CPU地址总线来选用外部存储器的存储地址。地址总线的位数往往决定了存储器存储空间的大小,比如地址总线为16位,则其最大可存储空间为216(64KB)。

  数据总线是用于传送数据信息,它又有单向传输和双向传输数据总线之分,双向传输数据总线通常采用双向三态形式的总线。数据总线的位数通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。在实际工作中,数据总线上传送的并不一定是完全意义上的数据。

  控制总线是用于传送控制信号和时序信号。如有时微处理器对外部存储器进行操作时要先通过控制总线发出读/写信号、片选信号和读入中断响应信号等。控制总线一般是双向的,其传送方向由具体控制信号而定,其位数也要根据系统的实际控制需要而定。

2.按传输方式

按照数据传输的方式划分,总线可以被分为串行总线和并行总线。从原理来看,并行传输方式其实优于串行传输方式,但其成本上会有所增加。通俗地讲,并行传输的通路犹如一条多车道公路,而串行传输则是只允许一辆汽车通过单线公路。目前常见的串行总线有SPI、I2C、USB、IEEE1394、RS232、CAN等;而并行总线相对来说种类要少,常见的如IEEE1284、ISA、PCI等。

3.按时钟信号方式分

按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,也就是说要用一根单独的线来作为时钟信号线;而异步总线的时钟信号是从数据中提取出来的,通常利用数据信号的边沿来作为时钟同步信号。

总线的带宽指的是单位时间内总线上传送的数据量,即每钞传送MB的最大数据传输率。

  总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念;总线的位宽越宽,数据传输速率越大,总线的带宽就越宽。

  总线的工作时钟频率以MHz为单位,它与传输的介质、信号的幅度大小和传输距离有关。在同样硬件条件下,我们采用差分信号传输时的频率常常会比单边信号高得多,这是因为差分信号的的幅度只有单边信号的一半而已。

       UDP协议     UDP 是 User Datagram Protocol(用户数据报协议)的英文缩写。 UDP 只提供一种基 本的、低延迟的被称为数据报的通讯。所谓数据报,就是一种自带寻址信息,从发送端走到接 收端的数据包。 UDP 协议经常用于图像传输、网络监控数据交换等数据传输速度要求比较高 的场合。

UDP数据报可分为首部和数据共两个部分。首部或者称为报头由四个域组成,每个域占用2个字节,报头共占用8个字节。

  1. UDP源端口号。为不同的应用保留其各自的数据传输通道,数据发送一方将UDP数据报通过源端口发送出去。
  2. UDP目的地端口,数据接收一方通过目标端口接收数据。
  3. 数据报的长度包括报头和数据部分在内的总字节数。用户数据报长度所占域的比特为16位,所以包含报头在内的数据报的最大长度为 65535 字节。不过,一 些实际应用往往会限制数据报的大小,有时会降低到 8192 字节。
  4. 校验值用来保证数据的安全。占两个字节,共16位。在数据发送方通过特殊的算法计算得出,传递到接收方之后还需要重新计算。传输过程中受到损坏,数值不会相符。检测到错误时,只是将损坏的消息段扔掉,或者给应用提供警告信息。

UDP一般分为三个部分,UDP发送模块,UDP接收模块和CRC校验模块。

MAC地址  IP地址  端口号

   

在网络中,按照用途可把网络地址分为如下四类:

①    物理地址:即MAC地址,如00-aa-00-62-c9-09。在数据链路层包裹在以太网头部,用来识别同一个链路中的不同计算机。

②    逻辑地址:即IP地址,如127.0.0.1。在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。

③    端口地址:应用进程端口号。在传输层包含在TCP/UDP头部中的,用于识别应用程序。

④    域名地址:万维网地址,取代IP地址方便记忆,如www.google.com。

主机A向主机B利用发送了一条消息,则在TCP head里包含了发送消息的应用的端口号以及接收方应用的端口号,传递给它的下一层,网络层会将TCP数据包封装起来再加自己的头部,IP头部里包含本地IP以及接收方IP等信息传递给数据链路层。数据链路层会再给加一个以太网头部,这里包含双方的mac地址。

                     以太网数据包会在其子网内部广播,如果接收方在其子网内,则在比对mac地址后直接接收数据。如果不在同一个子网内,以太网协议就不能实现数据传输了,而且因为以太网协议采取广播的方式发送消息,就算没有局限在子网内,如果给非常庞大的主机群广播消息是非常可怕的。这个时候就需要IP地址了,IP地址主要是用来区分哪些mac地址在同一个子网。找到目的主机所在子网之后再根据mac地址确认主机,IP层从IP首部确定数据包所用的协议之后将数据包交给对应的协议,再由协议来确认程序的端口号,从而实现了消息的传递

                   参见:mac地址、IP地址和端口号          https://www.cnblogs.com/Chilly2015/p/5720670.html                                                                        https://blog.csdn.net/guoping16/article/details/6584363

IP数据报数据格式

  1. 1-4字节   版本IPV4,首部长度占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值 是 60 字节。区分服务一般不使用。总长度占16位,因此数据报的最大长度为65535字节。
  2. 5-8字节   标识占16位,用来产生数据包的标识,标志(flag): 占 3 位,目前只有前两位有意义 MF 标志字段的最低位是 MF (More Fragment) MF=1 表示后面“ 还有分片” 。 MF=0 表示最后一个分片 DF 标志字段中间的一位是 DF (Don't Fragment) 只有当 DF=0 时才允许分片。片偏移: 占 12 位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单 位
  3. 9-12字节   生存时间占8位,记为 TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段 是由发送端初始设置一个 8 bit 字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255。协议占8位,1 表示为 ICMP 协议, 2 表示为 IGMP 协议, 6 表示为 TCP 协议, 17 表示为 UDP 协议。首部检验和: 占 16 位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计 算方法。
  4. 13-16字节    记录源地址
  5. 17-20字节    记录目的地址

接口与协议学习笔记-Ethernet UDP通信协议(一)的更多相关文章

  1. 接口与协议学习笔记-AMBA片上通信协议_APB_AHB_AXI_AXI4不同版本(二)

    随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最 ...

  2. 接口与协议学习笔记-USB协议_USB2.0_USB3.0不同版本(三)

    USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2.0目 ...

  3. HTTP协议学习笔记(一)

    HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定 ...

  4. HTTP协议学习笔记(四)

    HTTP协议学习笔记(四) 与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟主机实现多个域名 ...

  5. HTTP协议学习笔记(三)

    HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误 ...

  6. HTTP协议学习笔记(二)

    HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. H ...

  7. 网络协议学习笔记(四)传输层的UDP和TCP

    概述 传输层里比较重要的两个协议,一个是 TCP,一个是 UDP.对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议.由于面试的时候,这两个协议经常会被放在一起问,因而我在 ...

  8. TCP/IP详解学习笔记(6)-UDP协议

    1.UDP简要介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议. 2.UDP协议头 2.1.UDP端口号 ...

  9. 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理

    概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...

随机推荐

  1. 云端办公是 Office系统的未来方向么 ?

    云端办公是 Office系统的未来方向么 ? 话说随着互联网,HTML技术,云计算等技术的发展,越来越多的应用已经迁移到云端, 以我们熟悉的电脑游戏为例,从单机游戏,到网络游戏,再到网页游戏,基本就是 ...

  2. 深入浅出SharePoint2012——安装Report Service

    安装顺序 Microsoft .NET Framework 3.5 SP1 report service installation,pls SQLServer2008R2SP1-KB2528583-x ...

  3. August 27th 2017 Week 35th Sunday

    You can't be brave if you've only had wonderful things happen to you. 人生若只是有美好的境遇,那你也没办法学会勇敢. Wherea ...

  4. Alpha Scrum5

    Alpha Scrum5 牛肉面不要牛肉不要面 Alpha项目冲刺(团队作业5) 各个成员在 Alpha 阶段认领的任务 林志松:督促和监督团队进度,前端页面编写 林书浩.陈远军:界面设计.美化 吴沂 ...

  5. PAT——1058. 选择题

    批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多 ...

  6. 升级到 OS EI 后 cocoa pods

    安装: sudo gem install -n /usr/local/bin cocoapods 如果出现:pod :command not found 解决办法 S1:cd /Library/Rub ...

  7. F-stack及其Nginx、redis的编译安装

    F-stack简介 F-stack粘合了dpdk.用户态协议栈和nginx.redis,弥补了dpdk没有协议栈的不足,并用nginx.redis提供了一个调用应用程序的接口. Quick Start ...

  8. mysql 全量备份与增量备份

    全量备份[root@master adm]# cat DBfullBak.sh #!/bin/bash #use mysqldump to fully backup mysql data BakDir ...

  9. oracle的建表语句

    oracle数据库的建表语句,具体语法如下: CREATE TABLE tablename (column_name datatype [null,not null], column_name dat ...

  10. jdk1.8换成1.7

    电脑中装了jdk1.7,然后又装了1.8, 后来项目需要1.7,就把path环境变量中的java_home改成了1.7. 然后控制台输入java_version,后提示如下: Error: Regis ...