计算机网络复试笔记

计算机网络的主要功能

  • 硬件资源共享
  • 软件资源共享
  • 用户间信息交换
  • 分布式处理

主机间的通信方式:CS/P2P

在这里插入图片描述

计算机网络的主要性能指标

  • 带宽 网络的通信线路所能传送数据的能力

  • 时延(Delay) 总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延 (1) 排队时延分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。 (2) 处理时延主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错 检验或查找适当的路由等。 (3)传输时延(发送时延) 结点将分组所有比特推向链路所需的时间。(4)传播时延电磁波在信道中传播所需要花费的时间

  • 时延带宽积 指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特,因此又称以比特为 单位的链路长度,即时延带宽积 =
    传播时延 * 信道带宽。

ISO/OSI参考模型和TCP/IP模型在这里插入图片描述

OSI参考模型7层
TCP/IP 4层

在这里插入图片描述

在这里插入图片描述

为什么不采用“两次握手”建立连接呢?
为了防止两次握手情况下已失效的连接请求报文段突然又传送到服务器而产生错误。

例如:
客户A 向服务器B 发出TCP 连接请求,第一个连接请求报文在网络的某个结点长时间滞留, A 超时后认为报文丢失,千是再重传一次连接请求, B 收到后建立连接。数据传输完毕后双方断开连接。而此时,前一个滞留在网络中的连接请求到达服务器B, 而B 认为A 又发来连接请求,此时若使用“三次握手”,则B 向A 返回确认报文段,由于是一个失效的请求,因此A 不予理睬,建立连接失败。若采用的是“两次握手”,则这种情况下B 认为传输连接已经建立,并一直等待A 传输数据,而A 此时并无连接请求,因此不予理睬,这样就造成了B的资源白白浪费。

TCP连接的建立
在TCP 连接建立的过程中,要解决以下三个问题:

  1. 要使每一方都能够确知对方的存在。
  2. 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项、时间戳选项及服务质量等)。
  3. 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

解释TCP/IP的三次握手和四次挥手
三次握手:

  1. 客户机的TCP 首先向服务器的TCP 发送一个连接请求报文段。这个特殊的报文段中不含应用层数据,其首部中的SYN标志位被置为1 。另外,客户机会随机选择一个起始序号seq =x(连接请求报文不携带数据,但要消耗一个序号)。
  2. 服务器的TCP 收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP 连接分配TCP 缓存和变量。在确认报文段中, SYN 和ACK 位都被置为1, 确认号字段的值为x+ 1, 并且服务器随机产生起始序seq= y( 确认报文不携带数据,但也要消耗一个序号)。确认报文段同样不包含应用层数据。
  3. 当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。这个报文段的ACK 标志位被置1, 序号字段为x+ 1, 确认号字段ack=y+ 1 。该报文段可以携带数据,若不携带数据则不消耗序号。

[注]:
服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的,这就使得服务器易于受到SYN 洪泛攻击
在这里插入图片描述
四次握手释放连接

  1. 客户机打算关闭连接时,向其TCP 发送一个连接释放报文段,并停止发送数据,主动关闭TCP 连接,该报文段的FIN 标志位被置1, seq= u, 它等于前面已传送过的数据的最后一个字节的序号加1 (FIN 报文段即使不携带数据,也要消耗一个序号)。TCP 是全双工的,即可以想象为一条TCP 连接上有两条数据通路。发送FIN 报文时,发送FIN 的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。

  2. 服务器收到连接释放报文段后即发出确认,确认号是ack = u + 1, 而这个报文段自己的序号是V, 等于它前面已传送过的数据的最后一个字节的序号加1 。此时,从客户机到服务器这个方向的连接就释放了, TCP 连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。

  3. 若服务器已经没有要向客户机发送的数据,就通知TCP 释放连接,此时其发出FIN= 1 的连接释放报文段。

  4. 客户机收到连接释放报文段后,必须发出确认。在确认报文段中, ACK 字段被置为1, 确认号ack= w + 1, 序号seq= u + 1 。此时TCP 连接还未释放,必须经过时间等待计时器设置的时间2MSL 后, A 才进入连接关闭状态。
    在这里插入图片描述

为何不采用“三次握手“释放连接,且发送最后一次握手报文后要等待2MSL 的时间呢?(MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”)

  1. 保证A 发送的最后一个确认报文段能够到达B 。如果A 不等待2MSL, 若A 返回的最后确认报文段丢失,则B 不能进入正常关闭状态,而A 此时已经关闭,也不可能再重传。
  2. 防止出现“已失效的连接请求报文段“。A 在发送最后一个确认报文段后再经过2MSL可保证本连接持续的时间内所产生的所有报文段从网络中消失。

服务器结束TCP 连接的时间要比客户机早一些,因为客户机最后要等2MSL 后才可进入CLOSED状态。

拥塞控制的四种算法

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值