美文网首页
TCP UDP协议两个重要的网络原理

TCP UDP协议两个重要的网络原理

作者: 古巷挂青灯 | 来源:发表于2019-06-14 18:02 被阅读0次

TCP UDP协议

TCP: 传输控制协议  面向连接的网络协议  同步  (在线传输数据)
             优点:传输数据更加可靠安全
             缺点:传输效率较低
             应用场景:浏览页面 邮件
UDP:用户报文协议  五连接的网络协议      异步    (离线传输数据)
                    优点:传输效率更快
            缺点:数据可靠性较差
            应用场景:视频的网站 语音
TCP两个重要网络原理
       结论:
       1)ACK确认控制字段会贯穿通讯整个过程
       2) TCP协议在进行通讯时候,只有处于established状态才能传输数据
       
       三次握手:
       1)发送TCP数据包,包含SYN=1控制字段,请求建立连接
       2)发送TCP数据包,包含ACK=1 SYN=1控制字段,确认连接建立
       3)发送TCP数据包,包含ACK=1控制字段,最后进行确认
       4)数据传输的过程
       
       四次挥手:
       1) 发送TCP数据包,包含FIN=1 ACK=1控制字段,请求断开连接
       2)发送TCP数据包,包含ACK=1控制字段,断开连接请求被确认
       3)发送TCP数据包,包含FIN=1 ACK=1控制字段,确认请求断开连接
       4)发送TCP数据包,包含ACK=1控制字段,最后进行确认
       问题1:为什么是四次挥手
       传输层接收到断开请求,需要向会话层进行汇报
       确保数据传输完毕后,才能发出断开请求
       
       
       问题2:可以不可以出现三次挥手
       第二次挥手过程的ack没有发出 没有收到
       直接收到了第三次挥手的信息
       
       
       问题3:四次挥手时候,为什么要有time_wait
       为了让通讯对端主机,可以由LAST_ACK状态接收到ACK确认信息,变为最后closed

01. TCP协议中11种状态集转换

三次握手的过程中有哪些状态
第一步:服务端 开启网络服务,创建端口信息 closed -- listen

[root@huahua ~]# netstat -lntup|grep sshd
    tcp   0   0 0.0.0.0:22  0.0.0.0:*   LISTEN      2235/sshd  --- socket条目信息
    
[root@huahua ~]# netstat -an|grep tcp   
    tcp   0     52 10.0.0.200:22           10.0.0.1:2489           LAST_ACK
    协议             源地址   源端口       目标地址  目标端口
    结论:socket条目信息必须是唯一的
    
   tcp         0       0 10.0.0.200:22          10.0.0.1:3566           LAST_ACK
    tcp        0      52 10.0.0.200:22          10.0.0.1:2489           LAST_ACK
    tcp        0      0 10.0.0.200:22           10.0.0.1:2419           LAST_ACK
    tcp        0      0 10.0.0.200:22           10.0.0.1:3564           LAST_ACK
    tcp        0      0 10.0.0.200:22           10.0.0.1:3143           LAST_ACK
                                                         65535          LAST_ACK

第二步:客户端 发出syn请求建立连接数据包 closed -- syn_sent

  • 一次握
    第三步:服务端 接收syn请求建立连接数据包
  • 二次握手 发出ack syn数据包信息 listen -- syn_rcvd
    第四步:客户端 接收ack syn数据包信息
  • 三次握手 发出ack数据包信息 syn_sent -- established
    第五步:服务端 接收ack数据包信息
  • 发送真正数据信息 syn_rcvd -- established

四次挥手过程:
第一步:客户端

  • 发出fin ack请求断开连接数据包 established --- fin_wait1
    第二步:服务端
  • 接收fin ack请求断开连接数据包
  • 发出ack确认信息 established --- close_wait
    第三步:客户端
  • 接收到ack确认信息 fin_wait1 --- fin_wait2
    第四步:服务端
  • 发出fin ack信息 close_wait --- last_ack
    第五步:客户端 接收fin ack信息
  • 发出ack确认信息 fin_wait2 --- time_wait
    第六步:服务端
  • 接收ack确认信息 last_ack --- closed
    第七步:客户端
  • 等待了120秒(TTL 生存周期) time_wait --- closed

02. 网络中两个重要协议原理

```  DNS协议  --- 域名解析
    已知域名,可以获得IP地址信息
    建立 域名 IP地址的对应关系
```ARP协议  
    建立 IP地址 和 mac地址的对应关系
    构建出主机ARP表 交换机也会构建mac表 
    目标作用:尽可能减少局域网广播产生
    ARP分为动态 静态
    动态:主机经常发生变化的地方
    静态:IDC数据中心

相关文章

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • 测试工程师技术面问题汇总

    协议类问题 Q:TCP协议和UDP协议的区别是什么?A:TCP协议和UDP协议都是传输层两个非常重要的协议,它们之...

  • Socket

    Socket通信原理 TCP/IP协议族包括传输层、网络层、链路层 TCP、UDP、IP、ICMP、IGMP、AR...

  • 网络

    网络 1.TCP / UDP 协议 TCP (Transmission Control Protocol)和UDP...

  • TCP UDP协议两个重要的网络原理

    TCP UDP协议 01. TCP协议中11种状态集转换 三次握手的过程中有哪些状态第一步:服务端 开启网络服务,...

  • day 27 操作系统基础网络章节

    TCP/UDP协议说明 TCP协议三次握手过程原理 TCP协议四次挥手过程原理 问题: TCP十一种状态集转换 三...

  • 网络编程面试题总结

    网络编程知识→ tcp、udp、http、https 等常用协议tcp协议:传输控制协议(TCP,Transmis...

  • 网络编程(一)

    TCP协议与UDP协议是运输层的两个重要的协议,通过这两个协议来进行两台计算机通信. 套接字 soket是网络驱动...

  • 计网学习第五章——运输层

    一、知识点分布 1、运输层的两个协议?UDP,TCP2、可靠传输的工作原理?停止等待协议、连续ARQ协议3、TCP...

  • 计算机网络02 - 传输层

    目录 TCP协议和UDP协议TCP首部TCP连接管理UDP首部 1. TCP协议和UDP协议 TCP协议:面向连接...

网友评论

      本文标题:TCP UDP协议两个重要的网络原理

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