zoukankan      html  css  js  c++  java
  • 01:tcp/ip基本知识

    1.1 tcp常识

      1、网络七层

          

      2、TCP三层握手

    ####1、第一次握手
    # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认。
    
    ####2、第二次握手
    # 服务器收到请求后,必须确认客户的数据包。同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。
    
    ####3、第三次握手
    # 客户端收到服务器的SYN+ACK包,向服务器发送一个序列号(seq=x+1),确认号为ack(客户端)=y+1,此包发送完毕,
    # 客户端和服务器进入ESTAB_LISHED(TCP连接成功)状态,完成三次握手。
    三次握手
    #### 1、第一次挥手
    # 首先,客户端发送一个FIN,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u。
    
    #### 2、第二次挥手
    # 服务器收到这个FIN,它发送一个ACK,确认ack为收到的序号加一。
    
    #### 3、第三次挥手
    # 关闭服务器到客户端的连接,发送一个FIN给客户端。
    
    #### 4、第四次挥手
    # 客户端收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加一。
    # 首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
    四次挥手

        

      3、TCP与UDP比较

          1. TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

          2. TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;
                UDP尽最大努力交付,即不保证可靠交付

          3. Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。

          4. UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

          5. 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

          6. TCP对系统资源要求较多,UDP对系统资源要求较少。

          注:UDP一般用于即时通信(QQ聊天 对数据准确性和丢包要求比较低,但速度必须快),在线视频等

      4、tcp/udp相关协议

          1.  TCP:    STMP, TELNET, HTTP, FTP

          2.  UDP:    DNS,TFTP,RIP,DHCP,SNMP

  • 相关阅读:
    C++语法注意点
    T4+VSIX 打造Visual Studio 2010 中的Entity代码生成自定义工具
    如何构建安全的.net web应用系统
    在VS2010项目中引用Lib静态库(以Openssl为例)
    通过Handler实现ASP.NET WebForm自定义控件局部刷新
    一个简单的AOP框架学习
    sql 学习
    SQL Server 2005新特性之使用with关键字
    Memcache的资料
    Net通用基础框架学习
  • 原文地址:https://www.cnblogs.com/xiaonq/p/10470551.html
Copyright © 2011-2022 走看看