计算机网络相关

本文详细介绍了TCP和UDP的区别,包括连接、可靠性和效率等方面的对比,以及TCP的三次握手和四次挥手过程。此外,还讨论了DNS的工作原理,包括域名结构、服务器类型和解析过程。最后,探讨了HTTP和HTTPS协议,强调了它们在安全性、效率和数据传输上的差异。
摘要由CSDN通过智能技术生成

1.TCP和UDP

1.TCP和UDP的特点、区别、优缺点

传输控制协议 TCP–提供面向连接的,可靠的数据传输服务。

用户数据协议 UDP–提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)。

UDP 的主要特点

(1)UDP 是无连接的;(2)UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);(3)UDP 支持一对一、一对多、多对一和多对多的交互通信;(4)UDP 是面向报文的;(5)UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如直播,实时视频会议等);(6)UDP 的首部开销小,只有8个字节,比TCP的20个字节的首部要短。   

UDP的应用场景:实时视频会议、QQ聊天、在线视频、网络语音电话

TCP 的主要特点

(1)TCP 是面向连接的。(2)TCP 提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达;(3)每一条 TCP 连接只能有两个端点,每一条TCP连接只能是点对点的(一对一);(4)TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据;(5)面向字节流。TCP 中的“流”(Stream)指的是流入进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。

TCP的应用场景:文件传输(准确高要求高、但是速度可以相对慢)、邮件的发送与接收。

区别

  1. 面向连接VS无连接
    TCP建立一个连接需要3次握手IP数据包,断开连接需要4次握手。另外断开连接时发起方可能进入TIME_WAIT状态长达数分钟(视系统设置,windows一般为120秒),在此状态下连接(端口)无法被释放。
    UDP不需要建立连接,可以直接发起。
  2. 可靠VS不可靠
    TCP利用握手、ACK和重传机制,udp没有。
    1,校验和(校验数据是否损坏);
    2,定时器(分组丢失则重传);
    3,序列号(用于检测丢失的分组和重复的分组);
    4,确认应答ACK(接收方告知发送方正确接收分组以及期望的下一个分组);
    5,否定确认(接收方通知发送方未被正确接收的分组);
    6,窗口和流水线(用于增加信道的吞吐量)。(窗口大小:无需等待确认应答而可以继续发送数据的最大值)
  3. 有序性
    TCP利用seq序列号对包进行排序,udp没有。
  4. 面向字节流vs面向报文
    • 面向报文
      面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。(一个upd的最大报文长度2^16-1-20-8,20是ip报文头,8是udp报文头)
    • 面向字节流
      面向字节流的话,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流。TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。如果应用程序一次只发送一个字节,TCP也可以等待积累有足够多的字节后再构成报文段发送出去。
  5. tcp有流量控制,udp没有
  6. tcp的头部比20bytes,udp8bytes
  7. tcp是点对点,udp可以是多对多

TCP的优缺点:

TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。

UDP的优缺点:

UDP的优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。

UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

2.TCP为什么可靠?

依赖于三种机制:确认和重传机制,流量控制,拥塞控制

(1)确认重传机制

当发送错误的时候,会发生:

a、超时重传机制

发送方发送的报文中含有序列号,每当发送一个报文后,就启动一个计时器(RTO),该计时器的时间一般是有当前网络来决定的,一个RTT(往返时间)指的是当一个报文从发送到接收到对应的ACK标志的时间,RTO的决定一般是发送方尝试发送几个报文,然后取平均RTT时间来决定计时器的值。 当发送一个报文以后,发送方在计时范围以内,如果没有接收到相应的ACK确认报文,那么发送方就会重传该报文。

b、快速重传机制

该机制指的是,发送方一直发送报文,不会每发一次报文就都要等待到这个报文的ACK标志才发送下个报文。 当接收方发送接受的序列号不对的时候,发送连续的3个ACK标志,告诉发送方,这个报文在传输过程中出现了丢包。发送方如果接收到某个相同序列号的三个ACK报文,那么此时立马重发该报文,不用等待计时器的时间结束。

(2)流量控制(滑动窗口&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值