美文网首页
TCP/IP协议

TCP/IP协议

作者: 图拉汪 | 来源:发表于2018-06-25 19:37 被阅读6次
    参考(照搬)
    https://www.cnblogs.com/jking10/p/5525519.html

    TCP

    Transmission Control Protocol 传输控制协议.
    主机对主机层的传输
    三次握手确认 建立一个连接

    位码

    tcp标志位,有6种
    SYN(synchronous):建立联机
    ACK(acknowledgement):确认
    PSH(push):传送
    FIN(finish):结束
    RST(reset):重置
    URG(urgent):紧急
    Sequence number(顺序号码)
    Acknowledge number: 确认号码

    三次握手

    第一次握手

    客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认

    第二次握手

    服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态

    第三次握手

    客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),服务器收到后,客户端和服务器进入ESTABLISHED状态,完成三次握手.

    断开连接经过四次握手

    就是服务器和客户端交互,最终确定断开

    HTTP

    http连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接.

    SOCKET原理

    套接字(socket)概念

    套接字是通信的基石,是支持tcp/ip协议的网络通讯基本操作单元
    它是网络通信过程中端点的抽象表示
    包含5种信息:
    连接使用的协议
    本地主机的IP地址
    本地进程的协议端口
    远地主机的IP地址
    远地进程的协议口

    建立socket连接

    建立连接至少需要一对套接字
    其中一个运行于客户端,称为ClientSocket
    另一个运行于服务器端,称为ServerSocket

    连接过程的三个步骤

    服务器监听:
    服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求
    客户端请求:
    客户端的套接字提出连接请求,要连接的目标是服务器端的套接字.为此,客户端的套接字必须首先描述它要连接的服务器的套接字,支出服务器套接字的地址和端口号,然后想服务器端套接字提出连接请求
    连接确认:
    当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了次描述,双方就正式建立连接.而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求

    SOCKET连接与TCP连接

    创建Socket 连接时,可以指定使用的传输层协议,当使用TCP连接

    Socket连接与HTTP连接

    网络通信中,客户端到服务器之间的通信要穿越多个中间节点,例如路由器,网关,防火墙,大部分防火墙默认会关闭长时间处于非活跃状态的连接,因此需要轮询告诉网络,该连接处于活跃状态.而HTTP连接使用的是"请求--响应"的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器才能回复数据,
    很多情况下,需要服务器端主动向客户端推送数据,保存客户端与服务器数据的实时与同步.

    IP 协议

    Internet Protocol(网络之间互连的协议)的缩写,中文简称'网协'.IP地址具有唯一性,根据用户性质的不同,可以分为5类

    相关文章

      网友评论

          本文标题:TCP/IP协议

          本文链接:https://www.haomeiwen.com/subject/qzdyyftx.html