计算机网络
DHCP协议
dhcp协议名为动态主机配置协议,主要是为新加入计算机网络中的计算机自动配置ip地址,这样一台主机就可以即插即用,不需要人工配置ip地址。
TCP/UDP区别
TCP和UDP都是传输层中的协议。
TCP面向连接提供可靠的数据传输服务,UDP面向非连接不提供可靠的数据传输服务。
TCP面向字节流数据,传输慢。UDP面向报文数据,传输快。
http和https区别
http是超文本传输协议,https是具有安全性的SSL加密传输协议。
http的端口是80,https的端口是443。
get和post的区别
从功能上来讲,get一般从服务器上来获取资源,post一般用来更新服务器上的资源。
从安全性上来讲,post的安全性要比get的安全性高,因为get请求提交的数据将明文出现在URL上,而post请求参数则被包装到请求体中,相对更安全。
从请求大小来看,get请求的长度受限于浏览器或服务器对URL长度的限制,允许发送的数据量比较小,post请求是没有大小限制的。
csma/cd
csma/cd是载波监听多路访问/冲突检测方法,其基本思想是:当一个节点要发送数据时,首先监听信道,如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止发送,等待一段随机的时间后,重新开始尝试发送数据。
ipv4与ipv6
ipv6比ipv4更安全,而且存储空间更大,ipv4长度为32位(4个字节),ipv6长度为128位(16个字节)。
子网掩码与ip地址
在互联网中有多台主机,为了区分主机,人们给每台主机分配了一个专门的地址作为标识,称为ip地址。
子网掩码的作用是用来区分网络上的主机是否在同一网络段内,子网掩码不能单独存在,必须结合ip地址一起使用,子网掩码只有一个作用,就是将某个ip地址划分为网络地址和主机地址
同步通信和异步通信
同步通信是通信双方先建立同步,双方的时钟必须调整到一个频率,主要有两种同步方式。
一种是全网同步,用一个非常精确的主时钟对全网所有结点的时钟进行同步。
另一种是准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输,同步通信数据率较高,但实现代价也较高。
异步通信在发送字符时,发送字符之间的时间间隔时任意的,接收端时刻做好接收的准备,发送端可以在任意时刻开始发送字符,因此必须在每个字符开始和结束的地方加上标志,开始位与停止位。
异步通信也可以用帧作为发送的单位。异步通信的通信设备简单,便宜,但传输效率低
数据链路层组装成帧的方法
字符计数法。在帧头部使用一个计数字段来表明帧内字符数。
首尾定界法。使用特定字符表示帧的开始和结束。
违规编码法。信号传输过程中采用违规的编码来表示帧的开始和终止。
滑动窗口流量控制
在任意时刻,发送方都维持一组连续的发送帧的序号,称为发送窗口,同时接收方也维持一组连续的接受帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小代表在还未收到对方确认信息的情况下,发送方最多还可以发送多少个数据帧。在接收方,只有收的数据帧的序号落入接收窗口内,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律丢弃。
后退N帧协议流量控制
在后退N帧式ARQ中,发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收信息帧之后的所有未被确认的帧,或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方不得不重传该出错帧及最后的N个帧,接收方只按顺序接收帧。
选择重传协议流量控制
为了进一步提高信道利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便收下发送序号不连读但仍处在接收窗口中的那些数据帧,等到所缺序号的数据帧收到后,再一并送交主机。
在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时后,缓冲区的帧就会重传,另外该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错,就会发送一个否定帧NAK给发送方,要求发送方对NAK中的指定帧进行重传。
可靠传输机制
数据链路层的可靠传输机制是考确认和超时重传两种机制完成。
确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。
超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到传送的数据帧的确认帧那么就重新发送该数据帧,知道发送成功为止。
介质访问控制
csma(载波监听多路访问)
非持续式: 如果介质空闲,开始发送。如果介质忙,则等待一个随机分布的时间,然后重复之前的步骤
1-持续式:如果介质空闲,开始发送。如果介质忙,就一直监听,直到空闲立即发送。
p-持续式:经侦听,如果介质空闲,则以p的概率发送,以(1-p)的概率的延迟一个时间单元再发送。
ppp协议
ppp协议也叫点到点协议,是为在同等单元之间传输数据包建立的的简单链路设计的链路层协议。
ppp协议提供全双工操作,按照数据传输数据包,设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据。
- ppp协议具有动态分配ip地址的能力,允许在连接时刻协商ip地址。
- ppp支持多种网络协议,比如tcp/ip,netbeui等。
- 没有重传介质,网络开销小,速度快。
- ppp可以进行身份验证。
- ppp可以用于多种类型的物理介质上,如串口线,电话线,光纤,同样适用于interet接入。
hdlc协议
hdlc协议统一使用帧格式,采用零比特插入法,全双工通信,吞吐率高,在未收到应答帧时,可连续发送信息帧。
采用CRC帧校验序列,可防止漏帧,提高信息传输的可靠性。
中继器 集线器 网桥 交换机
中继器工作在物理层,用来连接两个速率相同且数据链路层协议相同的网段,功能是消除数字信号在基带传输中由于经过一长段电缆而造成的失真和衰减,使信号的波形和强度达到所需的要求,原理是信号再生。
集线器是工作在物理层,相当于一个多接口中继器,可以将多个结点连接成一个共享式局域网,但任何时候都只能有一个结点通过公共信道发送数据。
网桥工作在数据链路层,可以互联不同的物理层,不同的MAC子层及不同速率的以太网。网桥具有过滤帧及存储转发帧的功能,可以隔离冲突域,不能隔离广播域
交换机工作在数据链路层,相当于一个多端口的网桥,是交换式局域网的核心设备,允许端口之间建立多个并发连接,实现多个结点之间的并发传输。交换机一般工作在全双工方式,有的局域网交换机采用存储转发方式进行转发,也有的交换机采用直通交换方式。
路由器
路由器主要完成两个功能,路由选择和分组转发。
路由选择。按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改编所选择的路由。
分组转发。路由器根据转发表将用户的IP数据报从合适的端口转发出去。路由表是根据路由选择算法得出的,而转发表是从路由表中得到的。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。在讨论路由选择的原理时,往往不去区分转发表和路由表,而是笼统地使用路由表一词。
距离-向量路由算法
在距离-路由算法中,所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点,这种路由选择表包含每条路径的目的地和路径的代价。
算有结点都必须参与距离向量交换,以保证路由的有效性和一致性,也就是说,所有的结点都监听从其他结点传来的路由选择更新信息,并根据情况更新路由表。
被通告一条新的路由,该路由在本结点的路由表中不存在,系统加入新路由。
发来的路由有条到达某个目的地的路由,该路由与当前路由相比有较短的距离。此种情况下,就使用经过路由信息的结点的新路由替换路由表中到达那个目的地的现有路由。
链路状态路由算法
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息,他们执行下述两项任务。
首先,主动测试所有邻接结点的状态。两个共享一条链接的结点是相邻结点,它们连接到同一条链路,或者连接到同一广播型物理网络。然后定期地将链路状态传播给所有其他结点。
距离-向量路由算法与链路状态路由算法比较:在距离-向量路由算法中,每个结点仅与它的直接邻居交谈,它为它的邻居提供从自己到网络中所有结点的最低费用估计。在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交谈,但它仅告诉他们与它直接相连的链路的费用。距离-向量路由算法有可能遇到路由环路等问题。
路由信息协议(RIP)
路由信息协议是一种分布式的基于距离向量的路由选择协议。
路由信息协议允许一条路径最多包含15个路由器,因此距离等于16时,它表示网络不可达。可见路由信息协议只能用于小型网络。距离向量路由可能可能出现环路的情况,规定路径上的最高跳数的目的是为了防止数据报不断循环在环路上,减少网络拥塞的可能性。
路由信息协议默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息,以便自动建立并维护路由表。
开放最短路径优先(OSPF)
OSPF是使用分布式链路状态路由算法的典型代表,也是内部网关协议IGP的一种。
OSPF向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法。而RIP仅向自己相邻的几个路由器发送信息。
发送的信息是与本路由器相邻的所有路由器的链路状态,链路状态说明本路由器和哪些路由器相邻及该链路状态。但是RIP发送的信息时本路由器知道的所有信息,是一整个路由表。
拥塞控制
拥塞控制和流量控制是有区别的,拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,即接收端控制发送端,它所要做的是已知发送端发送数据的速率,以便接收端来得及接收。
慢开始算法
在TCP刚刚连接好并开始发送TCP报文段时,先令拥塞窗口cwnd=1,每收到一个对新报文段的确认后,将cwnd加1,用这样的方法逐步增大发送方的拥塞窗口cwnd,可使分组注入网络的速率更加合理。使用慢开始算法后,每经过一个传输轮次,拥塞窗口cwnd就会加倍,这样慢开始一直把拥塞窗口cwnd增大到一个规定的慢开始门限,然后改用拥塞避免算法。
拥塞避免算法
发送端的拥塞窗口cwnd每经过一个往返时延就增加一个最大报文长度的大小,使cwnd按线性规律缓慢增长,当出现一次超时,慢开始门限等于当前cwnd的一半。
快重传
快重传技术使用了冗余ACK来检测丢包的发生。同样,冗余ACK也用于网络拥塞的检测。快重传并非取消重传计时器,而是在某些情况下更早地重传丢失的报文段。当发送方连续收到三个重的ack报文时,直接重传对方尚未收到的报文段,而不必等到那个报文段设置的重传计时器超时。
快恢复
发送端收到连续三个冗余ACK时,执行乘法减小算法,把慢开始门限设置为出现拥塞时发送方的cwnd的一半。与慢开始不同的是,它把cwnd的值设置为慢开始改变后的数值,然后开始执行拥塞避免算法使拥塞窗口线性增大。