问题思考+概念考点总结

留一个思考题

设计一个中继服务器,转发客户A--->客户B的请求,并缩短TCP三次握手的时长,并且要求要保证安全性和完整性

概念点总结:

使用Socket建立网络连接的步骤

建立Socket连接至少需要一对套接字,其中一个运行与客户端,成为ClientSocket,另一个运行与服务端,成为ServerSocket' '套接字建立连接过程分为三个步骤:服务器监听,客户端请求,连接确认

1、服务器监听:服务器端的套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态,等待客户端的连接请求

2、客户端请求:指客户端的套接字提出请求,要连接目标服务器端的套接字

3、连接确认:当服务器端套接字的描述发给客户端,一旦客户端确认了次描述,双方就正式建立连接。

而服务器的套接字继续处于监听状态,继续接受其他客户端套接字的连接请求

网络由上往下分为:应用层、表示层、会话层、传输层、网路层、数据链路层、物理层。

socket是对TCP/IP协议的封装和应用,TCP/IP是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。

传输数据如果只使用传输层协议,没有应用层,便无法识别数据内容。

socket实际上是对TCP/IP协议的封装,Socket本省并不是协议,而是调用一个调用接口API。通过Socket,我们才能使用TCP/IP协议。

TCP/IP只是一个协议栈,就像操作系统的运行机制一样。必须要具体实现,同时还要对外提供操作接口。这个就像操作系统提供的标准的编程接口,比如win32编程接口一样。

网络上提供了一个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

实际上,传输层的TCP协议是基于网络层的IP协议的,而应用层的HTTP协议有事基于传输层的TCP协议的,而Scoket本身不算是协议,就像上面所说,它只是提供了一个阵地TCP或者是UDP编程的接口。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180118G0V89Z00?refer=cp_1026

扫码关注云+社区