日常小记_计算机网络
1、TCP和UDP的区别
1)TCP提供面向连接的传输,通信前要先建立连接;UDP提供无连接的传输。
2)TCP提供可靠的传输;UDP提供不可靠的传输。
3)TCP面向字节流的传输,因此它能将信息分割成组,并能在接收端将其重组;UDP是面向数据报的传输,没有分组开销。
4)TCP提供流量控制和拥塞控制机制;UDP不提供。
2、ARP是地址解析协议,工作原理是:
1)每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2)当源主机要发送数据时,首先检查ARP列表中是否有对应目的主机IP地址的MAC地址,若有,则直接发送数据,若无,就向本网段的所有主机发送ARP数据包,该数据包包含的内容:源主机IP地址、源主机MAC地址、目的主机IP地址。
3)当本网段的所有主机收到该ARP数据包时,首先检查数据包中的目的主机IP地址是否是自己的IP地址,若不是,则忽略该数据包,若是,则首先从数据包中取出源主机IP地址和MAC地址写入ARP列表,若已存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4)源主机收到ARP响应包后。将目的主机IP地址和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
3、为什么采用三次握手,若采用两次握手是否可以。
采用三次握手是为了防止失效的连接请求报文突然又传送到主机B因而产生错误。
若采用两次握手:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。但又这样一种特殊情况:主机A第一次发送的连接请求并未丢失,而是因为网络节点导致延迟到达主机B,主机B以为又是主机A发起的新连接,于是主机B同意连接,并向主机A发回确认,但此时主机A根本不理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
4、TCP怎样进行流量控制,拥塞控制
TCP使用滑动窗口进行流量控制。
拥塞控制:防止过多的数据注入到网络中,这样可使网络中的路由器或链路不至于阻塞。拥塞控制是一个全局性的过程,而流量控制是点对点的控制。
拥塞控制的方法:
1)慢开始与拥塞避免(无论是在慢开始阶段还是拥塞避免的阶段,只要发送方判断网络出现拥塞,就把慢开始门限设置为出现拥塞时的发送窗口的一半。然后把拥塞窗口设置为1,执行慢开始算法);
2)快重传与快恢复
快重传要求接收方在收到一个失序的报文段后就立即发出重复确认。快重传规定:发送方只要连续收到三个重复确认就应当立即重传对方没有收到的报文段。
与快重传配合使用的是快恢复算法:1.当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限设为发送窗口的一半;2.考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。即此时不执行慢开始算法,而是使用快恢复算法,将拥塞窗口(cwnd)设置为ssthresh的大小,然后执行拥塞避免算法。