下列关于BGP的说法中错误的是()。
A.BGPbgp使用udp协议传输报文是一种动态路由bgp使用udp协议传输报文
B.BGP用于不同自治系统间的可达性信息交换
版权声明:本文为博主原创文章未经博主允许不得转载。 /sinat_/article/details/
1、面向有连接(TCP):
在发送数据之前需要在收发主机之间连接一条通信线路。在面向有连接的方式下必须茬通信传输前后,专门进行建立和断开连接的处理TCP 不提供广播或多播服务,由于 TCP 要提供可靠的、面向连接的传输服务因此不可避免地增加了许多的开销。这不仅使bgp使用udp协议传输报文数据单元的首部增大很多还要占用许多的处理机资源。
2、面向无连接(UDP):
面向无连接型则不要求建立和断开连接发送端可于任何时候自由发送数据。接收端也永远不知道自己会在何时从哪里收到数据接收端在收到 UDP 报文後,不需要给出任何确认虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式
UDP是一种无连接的、不可靠的传输层bgp使用udp协议傳输报文,在完成进程到进程的通信中提供了有限的差错检验功能设计比较简单的UDPbgp使用udp协议传输报文的目的是希望以最小的开销来达到網络环境中的进程通信目的。
Protocol的缩写即用户数据报bgp使用udp协议传输报文,主要用来支持那些需要在计算机之间高速传输数据的网络应用包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDPbgp使用udp协议传输报文。UDP不失为一项非常实用和可行的网络传输层bgp使用udp协议传输报文UDPbgp使用udp协议传输报文不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地因此称为不可靠bgp使用udp协议传輸报文。UDP使用IPbgp使用udp协议传输报文作为数据传输机制的底层bgp使用udp协议传输报文
UDP用户数据报传输过程中的封装与拆封:
UDP报文称为一个用户数據报,它分为两部分:头部和数据区报文头部中包含有源端口和目的端口、报文长度以及UDP检验和。
源端口和目的端口(端口是用来指明數据的来源(应用程序)以及数据发往的目的地(同样是应用程序))字段包含了16比特的UDPbgp使用udp协议传输报文端口号它使得多个应用程序鈳以多路复用同一个传输层bgp使用udp协议传输报文及UDPbgp使用udp协议传输报文,仅通过端口号来区分不同的应用程序
长度(length)字段记录了该UDP数据包嘚总长度(以字节为单位),包括8字节的UDP头和其后的数据部分最小值是8(报文头的长度),最大值为65535字节
UDP校验和(Checksum)的内容超出了UDP数據报文本身的范围,实际上它的值是通过计算UDP数据报及一个伪包头而得到的。校验和的计算方法与通用的一样都是累加求和。
UDP检验和嘚检验范围:
伪首部并非TCP&UDP数据报中实际的有效成分伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中提取的既不向下传送也不向上递交,而仅仅是为计算校验和
这样的校验和,既校验了TCP&UDP用户数据的源端口号和目的端口号以及TCP&UDP用户数据报的数據部分又检验了IP数据报的源IP地址(数据源设备)和目的地址。伪报头保证TCP&UDP数据单元到达正确的目的地址
因此,伪报头中包含IP地址并且莋为计算校验和需要考虑的一部分最终目的端根据伪报头和数据单元计算校验和以验证通信数据在传输过程中没有改变而且到达了正确嘚目的地址。
UDP数据报在IP报文中的封装:
如图所示在IP数据报中UDP数据报存放于IP首部之后,UDP首部占据了8个字节之后为UDP数据。
IP数据报是基于IP的網络中最基本的数据单元形式在国际互联网络中的众多中间节点路由器,可以识别并转发该种数据报提供给IP数据报最优的路径选择。具体的IP数据报格式如图5所示:
IP数据报严格划分为多个字段并且规定了相应字段的内容:
1)bgp使用udp协议传输报文版本:4位,表示该IP数据报所采用嘚具体版本类型确定是IPv4还是IPv6,目前我们使用的是IPv4版本;
2)首部长度:4位可表示的最大数值是15个单位(一个单位是4个字节),首部长度的最小值為5;
3)服务类型字段:TOS字段8位,其中第0位至第2位组合表示优先级别第3位至第5位分别表示时延、吞吐量、可靠性第6为表示最小费用的路由,苐7位保留未用;
4)总长度字段:16位指的是整个IP数据报的长度,是以字节为单位的这要区别于首部长度的单位定义,利用首部长度和该字段鈳以计算出实际的数据内容的起始位置和长度IP数据报最长可达65535字节,但大多数的网络在传输时都需要对其进行分片主机也要求不能接收超过576字节的数据报; IP发送模块完成IPbgp使用udp协议传输报文功能,该模块接收来自传输层的数据单元然后打包为IP数据报向下层发送。如果待发送的IP数据报的数据长度超过1480个字节IP发送模块将对该数据报进行分片,其中最后一帧数据长度介于1到1480个字节一旦前一帧发送完毕,紧接著发送下一帧
5)标识字段:16位,唯一标识主机发送的每一份数据报通常每发送一份报文它的值就会加1,用于区分不同的分组便于分片後的重装;
6)标志字段:FLAG字段,3位其中第1位表示是否允许分片,第2位表示是否最后一段报文;
7)生存时间字段:英文缩写为TTL, 8位设置数据报的生存时间,表示IP数据报最多可以经过的路由器的个数每经过一个路由器转发数据报,数据报的TTL值就会减1, TTL的初始值由源主机设置通常设为32戓64;
8)bgp使用udp协议传输报文字段:IPbgp使用udp协议传输报文利用该字段对多个IP数据报进行分用,区分是哪一个bgp使用udp协议传输报文向IPbgp使用udp协议传输报文传送的字段;bgp使用udp协议传输报文字段对应的bgp使用udp协议传输报文如表1所示
10)首部校验和:16位,根据IP首部计算的检验和码对一个IP首部进行校验,如果发现数据出现差错IP就丢弃该数据报,但不产生差错报文而由上层bgp使用udp协议传输报文去发现丢失的数据报并进行重传
11)源IP地址和目的IP地址:均为32位,分别表示数据源主机的IP地址和数据目的主机的IP地址;
12)任选项:是数据报中的一个可变长的可选信息该字段一直都以犯位为界限在必要的时候插入值为0的填充字节,保证IP首部始终是32位的整数倍
Unit,最大传输单元)来限制所能传输的数据包大小MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头如以太网的MTU为1500字节,实际上数据帧的最大长度为1512字节其中以太网数据帧的帧头为12芓节。当发送的IP数据报的大小超过了MTU时IP层就需要对数据进行分片,否则数据将无法发送成功
IP分片发生在IP层,不仅源端主机会进行分片中间的路由器也有可能分片,因为不同的网络的MTU是不一样的如果传输路径上的某个网络的MTU比源端网络的MTU要小,路由器就可能对IP数据报洅次进行分片而分片数据的重组只会发生在目的端的IP层。
在IP首部有4个字节是用于分片的如下图所示。前16位是IP数据报的标识同一个数據报的各个分片的标识是一样的,目的端会根据这个标识来判断IP分片是否属于同一个IP数据报中间3位是标志位,其中有1位用来表示是否有哽多的分片如果是最后一个分片,该标志位为0否则为1。后面13位表示分片在原始数据的偏移这里的原始数据是IP层收到的传输的TCP或UDP数据,不包含IP首部
需要注意的,在分片的数据中传输层的首部只会出现在第一个分片中,如下图所示因为传输层的数据格式对IP层是透明嘚,传输层的首部只有在传输层才会有它的作用IP层不知道也不需要保证在每个分片中都有传输层首部。所以在网络上传输的数据包是囿可能没有传输层首部的。需要注意的在分片的数据中,传输层的首部只会出现在第一个分片中如下图所示。因为传输层的数据格式對IP层是透明的传输层的首部只有在传输层才会有它的作用,IP层不知道也不需要保证在每个分片中都有传输层首部所以,在网络上传输嘚数据包是有可能没有传输层首部的
在网络编程中,我们要避免出现IP分片那么为什么要避免呢?原因是IP层是没有超时重传机制的如果IP层对一个数据包进行了分片,只要有一个分片丢失了只能依赖于传输层进行重传,结果是所有的分片都要重传一遍这个代价有点大。由此可见IP分片会大大降低传输层传送数据的成功率,所以我们要避免IP分片
对于UDP包,我们需要在应用层去限制每个包的大小一般不偠超过1472字节,即以太网MTU(1500)—UDP首部(8)—IP首部(20)
对于TCP数据,应用层就不需要考虑这个问题了因为传输层已经帮我们做了。在建立连接的三次握手的过程中连接双方会相互通告MSS(Maximum Segment Size,最大报文段长度)MSS一般是MTU—IP首部(20)—TCP首部(20),每次发送的TCP数据都不会超过双方MSS的朂小值所以就保证了IP数据报不会超过MTU,避免了IP分片