sip篇——服务器

上篇提到sip定义了如何管理整个会话过程,其实就是负责建立连接、监控和断开一个或多个参与者参与的会话,利用IP地址和协议建立网络会话,使得世界各地的人都可以通过互联网及时建立连接。

1.sip中的逻辑组件

基于sip协议建立的会话过程一般会包含以下这些元素。

1.1代理服务器

代理服务器就是我们所用的计算机设备在互联网中建立连接的中转站,也就是客户端与服务器端之间的桥梁。比如平时我们通过浏览器(客户端)想要访问某个网站或者想要查找什么内容,我们的计算机发送的网络请求会先到达代理服务器,然后转发至服务器端,最后返回我们需要的信息。互联网中的每台计算机都会有一个相对独立的IP地址 ,就像点外卖时填的地址,外卖员才能根据地址把我点的外卖送到我手里。代理服务器也有自己的IP地址和端口(可在客户端计算机上对其进行配置),所以当我们发出一个请求时,计算机会根据该IP地址先把请求发给代理服务器。

作用: 一是可以提高安全性和保证隐私,代理可以修改IP地址再进行发送,可以对我们要发送的数据进行加密,可以不让服务器端知道我们真实IP地址和其他一些信息 ,还可以作为网络防火墙,起到过滤和屏蔽恶意资源的作用;二是节约IP地址资源,降低网络维护成本;三是提高连接速率,若其缓存区有客户端所请求的信息,代理服务器会直接将其发送给用户,提高速率。

代理服务器可分为无状态代理和状态代理,状态代理可以存储接收到的请求和响应信息,需要时可以直接转发,提高会话速率,状态代理还具有重发请求的作用。

1.2DNS服务器

DNS(Domain Name Server)即域名服务器,负责将域名(主机名)翻译成IP地址,所以DNS主要包含有所属网段里的计算机的域名与IP地址相对应的数据库。域名就相当于我们每个人都有一个名字,是一个用户级的地址,而IP则是通信时需要用到的地址,它们都是作为每台计算机设备的唯一标识,所以需要进行通信时,代理服务器接收到的请求中,包含的是服务器端或被叫方的域名而不是IP地址,必须借助DNS将域名翻译成IP地址,然后才能根据该IP地址找到服务器端或被叫方。如果服务器端(被叫方)就在客户端(主叫方)所属域里(此处域指的是网段,也就是在同一个网段里),服务器端的域名通过DNS解析得出IP地址,然后代理服务器根据该IP地址直接转发请求,但若不在同一个域里,DNS会自动完成对下一个DNS的查询,然后在响应中指名下一个DNS的IP地址,代理服务器根据该IP地址将请求转发给服务器所属域的代理服务器,然后进行域名解析,根据解析出的IP地址将请求转发给服务器端。

1.3重定向服务器(Redirect Server)

重定向服务器不负责转发请求,只负责定位服务器端当前的地址,代理服务器接收到请求,将DNS域名解析的结果发送给重定向服务器,将定位到的服务器端当前位置返回给客户端代理服务器。对于分散式DNS服务器,当用户因为配置了错误的DNS服务器地址、配置的服务器出了问题或是用户离开了本地,通过重定向或是负载均衡的技术,会使请求发送至新指定的DNS服务器。

1.4位置服务器(Location)

位置服务器负责向代理服务器提供服务器端的信息,其里面存储的是注册服务器接收到的用户的地址信息。

1.5注册服务器

负责接收用户的注册请求,就像是我们出生时为我们注册身份证号的人员,让我们在这个世界上有了可以验证的身份,注册好的身份证号会被放入身份证号数据库中,位置服务器就相当于该数据库,注册的用户信息会被存储在位置服务器里,供后续查询使用。位置服务器和注册一般是同一台服务器。

1.6用户代理(User Agent)

用户代理UA就是上文提到的客户端、服务器端或主叫方、被叫方,也就是sip协议的会话终端。UA分为用户代理客户端UAC(User Agent Client)和用户代理服务器端UAS(User Agent Server)。

2.总结

sip会话过程一般包含用户代理、代理服务器、重定向服务器和注册服务器这四个元素,其中代理服务器、重定向服务器和注册服务器可以集成在同一个硬件上,可统称为sip服务器,可包含DNS或负载均衡等技术。其中的运行机制如下:

ca613ffa3e9c422a8c53dfeb535f44c0.png

(1)主叫方向被叫方发送的INVITE请求被送到本地的代理服务器1,INVITE请求里提供的地址是被叫方的域名

(2)代理服务器1通过DNS域名解析得到被叫方所属域的重定向服务器的IP地址,便将请求转发至该重定向服务器。代理服务器1进行DNS解析后,会先在本地的位置服务数据库中查询,若没有才将请求转发给重定向服务器,重定向服务器会 查询到服务器端当前就在其本地或当前不在本地,若其当前就在本地,重定向服务器会将该本地的代理服务器2的IP地址返回给代理服务器1,但若被叫方当前不在其本地,重定向服务器也会查询到其当前所在地,并将该地的代理服务器3的IP地址返回给代理服务器1

(3)代理服务器1都会根据返回的IP地址将请求转发给对应的代理服务器,该代理服务器就会查询当地的位置服务数据库,若查询到被叫方还在当前域的下一级域中,则继续转发请求至下一级域中的代理服务器,直到代理服务器在位置服务数据库中查询到了被叫方的IP地址。域名是层次化的管理方式,一个域名对应一个IP地址,层层往下就能找到所需要的IP地址,也就找到了被叫方。

(4)被叫方收到请求后,会沿着代理服务器的路线给主叫方返回响应,最后对话建立。

 

注: 为本人学习日志,如有错误,欢迎指正

2022.12.09

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值