sock4、sock5是什么?为什么起的这个名字?工作原理?区别?优缺点?
希望得到详细解答,谢谢!
---------------------------------------------------------------
SOCKS5 是一个代理协议,它在使用 TCP/IP协议通讯的前端机器和服务器
机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet
网中的服务器,或者使通讯更加安全。
SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了
一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,
前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务
器将请求转发给真正的服务器。SOCKS5服务器在将通讯请求发送给真正服务器
的过程中,对于请求数据包本身不加任何改变。SOCKS5服务器接收到真正服务
器的响应后,也原样转发给前端。
因此,SOCKS5 协议是一种代理协议,对于各种基于 TCP/IP的应用层协议
都能够适应,几乎是万能的。它虽然不能理解自己转发的数据的内部结构,但
是它能够忠实地转发通讯包,完成协议本来要完成的功能。
SOCKS4 也是一个代理协议,同SOCKS5是一样的功能。
---------------------------------------------------------------
简单的端口数据传输代理
---------------------------------------------------------------
那为什么一个是‘4’而另一个是‘5’呢?他们有什么区别吗?
他们为什么以‘sock’命名呢?他们以‘sock’命名跟“套接字(Socket)”
有什么联系吗?
---------------------------------------------------------------
版本不同
---------------------------------------------------------------
Socks4代理只支持TCP协议,Socks5代理支持TCP和UDP协议,还支持各种身份验证机制,服务器端域名解析等。就是说,Socks4能干的Socks5都可以干,反过来就不行了
两者是有很大区别的:
Socks是个电路级网关,是DavidKoblas在1990年开发的。Socks在协议栈的TCP层上运行。与Winsock不同的是,Socks不要求应用程序遵循特定的操作系统平台,比如象Winsock那样遵循Windows。Socks代理与应用层代理、HTTP层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)
socket实际上是一个网络编程接口,用来让一个进程和其他的进程互通信息(IPC)。
---------------------------------------------------------------
大虾可否推荐几本介绍这方面内容的书?
---------------------------------------------------------------
看看tcp/ip协议吧