计算机网络

计算机网络

1.计算机网络结构

在OSI标准的网络结构中,计算机网络被分为了七层结构。在TCP/IP结构体系中,网络被分为了四层网络结构。但是为了更好的理解计算机网络,我们一般选用五层网络结构进行学习。这五层网络结构从上至下,分别是应用层、传输层、网络层、数据链路层、物理层。

  • **应用层:**应用层协议是计算机进程与进程之间的通讯协议,常用的应用层协议有http、dns等。
  • **传输层:**传输层协议是为两台主机之间应用层通信提供可靠的通用的数据传输服务,常用的传输层协议有TCP、UDP。
  • **网络层:**网络层的任务是为主机之间的通信选择合适合理的数据链路,保证数据的及时送达,网络层的协议就是IP协议。
  • **数据链路层:**数据链路层的任务是将上层传递下来的信息封装成帧,并解析来自物理层的数据帧。在网络通信质量不是很好的年代,数据链路层也需要寄到保证可靠传输的作用。
  • **物理层:**物理层是真正的传输数据的媒介,他最大的任务是在传输过程中,抵抗外界的干扰。

TCP的三次握手与四次挥手

TCP进行三次握手是为了让客户端和服务端都确认对方与自己有接收和发送消息的能力。

  • **第一次握手:**客户端想服务端发送带有SYN位的消息,当服务端收到消息后,服务端确定客户端有发送消息的能力,服务端有接收消息的能力。
  • **第二次挥手:**服务端回应客户端一个带有SYN、与ACK位的消息,当客户端接收到有第二次挥手的信息后,客户端确定客户端有发送消息的能力、接收消息的能力、服务端有接收消息的能力、发送消息的能力。
  • **第三次挥手:**客户端向服务端回应一个带有ACK位的消息,服务端接收到第三次握手的消息之后,服务端确定自己有发送消息的能力、客户端有接收消息的能力。

TCP进行四次挥手是为了释放掉全双工的通信通道。

  • **第一次挥手:**客户端向服务端发送一个带有fin位的消息,表示客户端没有消息要发送给服务端了。
  • **第二次挥手:**服务端向客户端发送一个带有ACK的消息,表示服务端知道客户端没有消息要发送了。
  • **第三次挥手:**服务端康客户端发送一个带有fin位的消息,表示服务端没有消息要发送给客户端了。
  • **第四次挥手:**客户端向服务端发送一个带有ACK的消息,表示客户端知道服务端没有消息要发送了。

因为TCP是一个全双工的传输层通讯协议,所以需要进行四次挥手的操作分两次释放资源。在四次挥手操作之后,首先提出“分手”的一方需要保持一段时间的time-out,确定自己最后一次的响应有被对方接收到。

TCP 与UDP的区别

TCP是面向连接的、可靠的、基于字节流的传输层协议。UDP是无连接的、不可靠的、基于报文数据端的传输层协议。二者最大区别是TCP是可靠的但是速度慢的、UDP的不可靠的但是速度快的。因为UDP的特性,UDP适合应用与视频传输与即时通讯的领域。TCP为了保证可靠传输,需要进行三次握手、四次挥手、超时重传、滑动窗口、拥塞控制等一系列操作,所以难免会慢一些。

TCP保证可靠传输的机制

首先为了保证可靠传输,TCP在进行数据通信之前会进行三次握手的操作,进行三次握手确保双方都有接收与发送消息的能力是保证可靠传输的重要保障。在进行三次握手之后,客户端和服务端进入到全双工的数据通信过程。在数据通讯过程中,TCP协议会进行超时重传。超时重传机制又分为停止等待超时重传与连续超时重传。

  • **停止等待超时重传:**是指主动发送消息的一方在发送消息之后,就不再发送消息了,知道接收到来自接收放的响应才会继续发送消息,停止等待超时重传效率很低,消息在接收方与发送方之间传输的时间完全没有利用上。
  • **连续超时重传:**是指在发送方维护一个发送窗口,发送窗口中的消息都可以进行发送,接收方对连续接收到的最后一个分组进行回应,对不连续的分组不做处理。客户端在收到回应之后,重新调整自己的窗口进行下一次发送。

TCP的流量控制

TCP的流量控制,是指在TCP通信过程中,服务端会根据自己接收缓存的大小动态的调整自己的接收窗口大小,并在回应发送方时,会回应自己的接收窗口大小和希望接收的数据位置。当客户端接收到回应之后,会在接收窗口与拥塞窗口之间选择小的大小当作自己的发送窗口的大小,并在服务端希望接收的位置开始发送消息。

TCP的拥塞控制

在TCP通讯过程中,不只服务端可以改变接收窗口的大小,客户端也可以改变自己的拥塞窗口大小来进行拥塞控制。拥塞控制是为了防止一次发送的数据过多导致网络拥塞的技术。拥塞控制有慢开始、拥塞避免、快恢复、快重传四个算法组成。

  • **慢开始:**在通信开始的时,客户端不会首先就选择一个很大的窗口大小进行数据通信,在刚开始的时候,客户端只会发送一个数据分组的数据,如果没有发生网络拥塞,会逐渐的成指数级的扩大自己的发送窗口大小。
  • **拥塞避免:**客户端不会不止境的成指数级扩大自己的发送窗口大小,当发送窗口的大小增加的一定大小之后,默认是16分组,就会进入到拥塞避免阶段,在这个阶段,发送方会将发送窗口逐渐加一。
  • **快恢复:**随着发送窗口的增加,不可避免的一定会发生网络拥塞,当发生网络拥塞之后,会进入到快恢复阶段,发送窗口的大小不会立刻的变成1,而是会变成发生网络拥塞的窗口大小的一半,之后继续进行拥塞避免的阶段。
  • **快重传:**在整个传输过程中,不需要等到最大哦超时时间再进行数据的重传,而是当收到连续三次同一个数据的响应之后,就可以进行数据的重传。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值