美文网首页
面试总结--->UDP&TCP

面试总结--->UDP&TCP

作者: 谢尔顿 | 来源:发表于2018-10-11 09:31 被阅读12次

UDP和TCP是传输层的协议。

  • UDP是面向无连接的,TCP是面向连接的;
  • UDP是基于数据报发送数据的,一个一个地发,一个一个地收;TCP是面向字节流的。
  • TCP是可以拥塞控制的,当它意识到报丢弃了或者网络的环境不好了,就会根据情况调整自己的行为。而UDP就不会,应用让发就发。
  • TCP是一个有状态服务,它可以精确的记着发送了没有,接收到没有,发送到那个了,应该接收哪个了。而UDP则是无状态服务,不管发送的有没有接收成功。

UDP的包头

当发送的UDP包到达目标机器后,发现MAC地址匹配,于是就取下来,将剩下的包传给处理IP层的代码,把IP头取下来,发现目标IP匹配。在IP头里有个8位协议,这里可以判断是数据是TCP还是UDP,最后根据TCP或者UDP头的格式将数据解析出来,解析出来的数据根据UDP包头里的端口号交给相应应用程序。

UDP使用场景

  1. 需要资源少,在网络情况比较好的内网,或者对于丢包不敏感的应用。
  2. 不需要一对一沟通,建立连接,而是可以广播的应用。UDP的不面向连接的功能,可以使得可以承载广播或者多播的协议。
  3. 需要处理速度快,时延低,可以容忍少数丢包的应用。

TCP的包头

除了有源端口号和目标端口号未,还以下:

  • 包的序号,编号是为了解决乱序的问题;
  • 确认序号,发出去的包应该有确认,要不然不知道对方有没有收到,如果没有收到就应该重新发送,直到送达,这个可以解决不丢包的问题。
  • 状态位,SYN是发起一个连接,ACK是回复,RST是重新连接,FIN是结束连接等,TCP是面向连接的,因而双方要维护连接的状态,这些状态位的包的发送,会引起双方的状态变更。
  • 窗口大小,TCP要做流量控制,通信双方各声明一个窗口,标识自己当前能够处理的能力。

要掌握TCP协议,重点应该关注以下几个问题:

  • 顺序问题;
  • 丢包问题;
  • 连接维护;
  • 流量控制;
  • 拥塞控制;

TCP的三次握手

三次握手

一开始客户端和服务器端都处于CLOSED状态,先是服务器主动监听某个端口,处于LISTEN状态。然后客户端主动发起连接SYN,之后处于SYN-SENT状态,服务器端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RCVD状态,客户端收到服务器端发送的SYN和ACK之后,发送ACK的ACK,之后处于ESTABLISHED状态,因为它一发一收成功了,服务端收到ACK的ACK之后,处于ESTABLISHED状态,因为它也一发一收了。

TCP四次挥手

四次挥手
四次握手

参考文章:
TCP协议(上):因性恶而复杂,先恶后善反轻松

相关文章

  • 面试总结--->UDP&TCP

    UDP和TCP是传输层的协议。 UDP是面向无连接的,TCP是面向连接的; UDP是基于数据报发送数据的,一个一个...

  • 网络相关之UDP的特点、UDP的报文结构及差错检测

    推荐阅读:备战2020——iOS全新面试题总结 TCP(Transmission Control Protocol...

  • 计算机网络

    TCP 的那些事儿(上) TCP 的那些事儿(下) 计算机网络之面试常考 Carson_Ho总结

  • 面试总结--->Socket

    Socket编程进行的是端到端的通信,往往意识不到中间经过多少局域网,多少路由器,因而能够设置的参数,也只能是端到...

  • 网络基础知识

    [面试∙网络] TCP/IP(一):数据链路层 [面试∙网络] TCP/IP(二):IP协议 [面试∙网络] TC...

  • TCP/UDP HTTP 考察点

    最近面试总被问到网络的知识,在这里把我觉得要记录的总结下来。 TCP/UDP 首先 网络层次模型图如下 TCP/U...

  • 计网 TCP/UDP 部分高频面试题大集合

    找工作面试,经常会被问到 UDP 和 TCP,今天给大家总结其中的核心高频面试题,再有面试官问你相关的知识点,看这...

  • 2018-09-19

    网络面试集 一、TCP/UDP 1、UDP与TCP的区别 TCP(TransmissionControl ...

  • TCP连接建立和断开

    面试了几家公司,发现TCP是常问的内容,总结一波。说得不对的地方,欢迎评论指出。 1. TCP状态转换图 这张图在...

  • 网络层面试题

    主要参考:[面试∙网络] TCP/IP(六):HTTP 与 HTTPS 简介[面试∙网络] TCP/IP(五):T...

网友评论

      本文标题:面试总结--->UDP&TCP

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