rfc5245翻译--4

对此rfc的翻译正确性不做任何保证。按照它而导致的任何问题后果自负。转载请注明原地址。

对此rfc的翻译正确性不做任何保证。按照它而导致的任何问题后果自负。转载请注明原地址。

4.1.2候选优先级计算

媒体流的候选地址的优先级必须是唯一的,范围1-2^31-1。优先级将用来决定连接检测的顺序和候选地址的选择。

Agent应该用4.1.2.1节的方法计算优先级。并按4.1.2.2的原则选择计算参数。如果一个agent不用这个算法,双方会不协调而导致ICE完成时间变长。

4.1.2.1推荐方法

方法:Agent对各类型的候选地址设定偏好值,并且当agent是多IP的,为不同IP设置偏好值(译注:本地偏好)。然后两个偏好值混合起来计算候选地址的优先级。计算公式如下:

 

   priority =(2^24)*(type preference) +

             (2^8)*(local preference) +

             (2^0)*(256 - component ID)

类型偏好范围[0-126] 的整数,126最高0最低。相同类型候选的类型偏好值必须一样,不同类型候选的类型偏好值必须不同。对端自反地址偏好值必须高于服务器自反地址。注意通过4.1.1的过程后不可能获得对端自反地址;它通过ICE的连接检查获取。

本地偏好必须是[0-65535]的整数。65535最高。当只有一个IP,本地偏好应该被设置为65535。更一般的来说,一个媒体组件有多个类型相同的候选地址,每个候选地址的本地偏好必须唯一。这个只发生在多IP主机。如果是因为双栈(IPv6 +IPV4)原因导致的多IP(rfc3484),本地偏好应该一样。

组件ID范围[0-256]

4.1.2.2选择类型和本地偏好的原则

选择标准之一是媒体中继,如TURN,VPN,NAT的用法。如果媒体流发到那些候选地址,它在到达目的前会在中继中转。一类需要媒体中继的候选地址是中继地址(译注:TURN)。另类是从VPN获得的主机地址。使用媒体中继的成本高。建议优先级:主机候选地址126,服务器自反地址100,对端自反地址110,0中继地址0。如果是多IP主机,从VPN获得的地址的本地偏好(local preference)应该设为0

选择标准之二是IP的类型。(RFC3056)在双栈(IPv4+IpV6)主机上,优先选择IPv6,Ipv6失败选择Ipv4。这时IpV6的本地偏好优先值高,6转4地址优先级次之,4地址最低。

选择标准之三是安全性。比如用户通过VPN网络和内部客户相连,而和外网直接连通,用户希望和内部用户通话时优先选择VPN,这时VPN地址的本地优先级要提高。

选择标准之四是网络拓扑发现。在有中继时很有用当一个agent有个预先配置/动态发现的中继。这个候选地址的本地偏好值可以调高。

4.1.3删除冗余地址

冗余地址是指传输层地址相同BASE相同的候选地址。通常一个设备不在NAT后的话服务器自反地址和主机地址是冗余的。Agent应该删除低优先级的冗余地址

4.1.4选择默认候选

和不支持ICE对端通信的目的候选地址叫做默认候选;它也叫默认目标。如果和支持ICE的对端交互时没有选择默认候选,需要在ICE完成后需要一个update offer/answer,用来”修复”SDP来让默认候选和ICE选择的候选地址相同。

Agent必须为每个在使用的媒体流选个默认地址。在使用的媒体流没有0端口(rfc3264 用来拒绝媒体流)。甚至当如果媒体流a=inactive(RFC 4566)或者bandwidth值0时表明媒体流在使用。

建议根据对端连接的可能性来选择默认候选。建议默认候选顺序:中继地址,服务器自反地址,主机候选地址

4.2简易实现需要的

(未完待续)

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章