TCP协议总结

参考资料《TCP/IP Protocol Suit, Edition 4》

IP协议

Internet Protocal, 提供了面向IP的连接协议。不过是不可靠的。

 

TCP

Transimission Control Protocol.传输控制协议. 在网络分层中属于第四层,传输层。

传输层主要的点包括:

  1. 端口, IP + 端口 = socket,IP数据在IP头部数据报中。
  2.  发送方有发送缓存,接收方有接受缓存。TCP支持双工,因此这两种缓存同时存在于一台TCP节点上。
  3. 窗口和数据序号,发送方和接收方的窗口滑动以及ACK机制。
  4. 3次握手建立连接
  5. 超时机制,包括确认超时(比如丢失)和连接超时(主动关闭TCP连接)
  6. 数据校验
  7. TCP支持窗口大小调整,在ACK中可以告知发送方调整窗口大小
  8. 拥塞控制,没太细看。主要是重试会导致网络拥塞,拥塞算法可以优化。

 

TCP性能

性能涉及到的东西比较多,比如:

  1. 建立TCP连接比较耗时,如果可以的话,尽可能复用连接。
  2. 建立TCP连接会消耗计算机资源,通过一些测试工具如jmeter可以做连接数的压力测试
  3. 动态调整窗口大小
  4. 提高TCP连接的效率,比如Nagle算法,避免网络有太多的 小数据包,将他们缓冲成大数据包再发送。

HTTP与TCP

http协议基于TCP协议。一般情况下,每次http都会建立一条TCP连接,http请求完成后,释放连接。

可以使用http 头部来保存长连接

connection: keep-alive

keep-alive: max 5, timeout 120 max表示请求的次数,timeout表示超时时间

 

长连接设置不当会对服务器资源造成浪费

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值