zoukankan      html  css  js  c++  java
  • Tcp协议

    开场白

    Tcp/IP是一个协议族而不是一个协议,这是很多人错误的认识。

    常用的网络协议如下图所示:

    说明:网际层也称为网络层;网络接口层也称为链路层;

    TCP:是一种面向连接的、可靠的、基于字节流的传输层通信协议,确保数据送达目的地;

    UDP:用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

    ICMP:用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

    IGMP:网络组管理协议。主要用于建立和管理多播组,对IP分组广播进行控制。

    ARP:地址解析协议(IP转换MAC)。

    RARP:反向地址转换协议(MAC转换IP)。

     TCP/IP七层物理模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

     TCP/IP四层物理模型:应用层、传输层、网络层、链路层

    TCP三次握手

    文字描述

    1、客户端给服务器发送连接请求;

    2、服务端收到请求后告诉他已经准备好;

    3、客户端收到服务器发来的信息(已经准备好),再给服务器发送我已经收到信息。

    图片描述

    TCP四次挥手

    文字描述

    1、客户端关闭,并发送信息告诉服务器我已经关闭;

    2、服务器收到客户端的请求,并告诉他我已经收到;

    3、服务器关闭,告诉客户端已经关闭;

    4、客户端收到服务器关闭的信息,整个流程结束。

    图片描述

    TCP长连接和短连接

    短连接

    文字描述:

    1、客户端向服务器发送连接请求;

    2、服务器接收到请求,双方建立连接;

    3、客户端向服务器发送消息;

    4、服务器回应客户端;

    5、一次读写完成,此时双方任何一个都可以发起关闭操作,一般都是 client 先发起 close 操作。当然也不排除有特殊的情况。从上面的描述看,短连接一般只会在 client/server 间传递一次读写操作!

    图片描述:

    长连接

    1、客户端向服务器发送连接请求;

    2、服务器接收到请求,双方建立连接;

    3、客户端向服务器发送消息;

    4、服务器回应客户端;

    5、一次读写完成,连接不关闭

    6、后续读写操作...

    7、长时间操作之后client发起关闭请求

     图片描述:

    TCP半链接攻击

    简介

    tcp半链接攻击也称为:SYN Flood (SYN洪水)

    是种典型的DoS (Denial of Service,拒绝服务) 攻击

    效果就是服务器TCP连接资源耗尽,停止响应正常的TCP连接请求。

    正常的连接情况

    半链接攻击时的情况

    防止Dos攻击的措施

    1、确保服务器的系统文件是最新的版本,并及时更新系统补丁。
    2、关闭不必要的服务。
    3、限制同时打开的SYN半连接数目。
    4、缩短SYN半连接的time out 时间。
    5、正确设置防火墙
    6、禁止对主机的非开放服务的访问
    7、限制特定IP地址的访问
    8、启用防火墙的防DDoS的属性
    9、严格限制对外开放的服务器的向外访问
    10、运行端口映射程序祸端口扫描程序,要认真检查特权端口和非特权端口。
    11、认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击。
    12、限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露给黑客,无疑是给了对方入侵的机会。

  • 相关阅读:
    前端事件系统(四)
    前端事件系统(三)
    前端事件系统(二)
    前端事件系统(一)
    前端图片选择问题
    浅谈前端移动端页面开发(布局篇)
    诙谐论设计模式(一)——创建型设计模式
    总结三年未满的工作经历,写下自己对技术的坚持
    java内存优化牛刀小试
    将上下文融入知识图谱以进行常识推理
  • 原文地址:https://www.cnblogs.com/meichao/p/9516744.html
Copyright © 2011-2022 走看看