TCP & UDP

网友投稿 271 2022-10-14


TCP & UDP

1.TCP和UDP的区别:1)TCP是面向连接的,UDP是无连接的,即发送数据之前不需要建立连接2)TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失、不重复且按序到达。UDP尽最大努力交付,即不保证可靠交付3)TCP传输效率相对较低,UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信4)TCP连接只能是点对点、一对一的。UDP支持一对一、一对多、多对一、多对多的交互通信。2.TCP的可靠 & 提高性能 机制:1)确认应答机制:TCP将每个字节的数据都进行了编号,即为序列号,每一个ACK都带有对应的确认序列号,会告诉发送者,我已经收到了哪些数据,下一次从哪里开始发。2)超时重传机制:分两种情况:(1)主机B在规定的时间内没有及时收到主机A发送的报文。(2)主机A未收到B发来的确认应答,会触发超时重传,即再次发送相同的包。在Linux中,超时以500ms为一个单位进行控制,每次判定超时重发的超时时间都是500ms的整数倍,以指数形式递增,累计到一定的重传次数,TCP认为网络或者对端主机出现异常,强制关闭连接。3)滑动窗口:因为一发一收的方式性能较低,那么一次发送多条数据,就可以提高性能。窗口大小指的是无需等待确认应答而可以继续发送数据的最大值。例如窗口大小是4000个字节,则发送前四个段的时候,不需要等待任何ACK,直接发送。收到第一个ACK后,滑动窗口向后移动,继续发送第五个段的数据,以此类推(窗口越大,网络的吞吐率越高)。4)流量控制:发送端可以根据接收端的处理能力,来决定发送端的发送速度。5)拥塞控制:慢启动机制,先发少量的数据,探探路,摸清当前的网络拥堵状态,再决定按照多大的速度传输数据。拥塞窗口的增长速度是指数级别增长的,当到达阈值后,就会按照线性方式增长。当TCP开始启动的时候,慢启动阈值等于窗口最大值。在每次超时重发的时候,慢启动阈值会变成原来的一半,同时拥塞窗口置1.6)延迟应答:如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小。因此,可以等待接收端将接收到的数据处理之后再进行应答。这样网络吞吐量就越大,传输效率也越高。延迟应答也有数量限制,一般每隔2个包就应答一次。时间限制,一般超过200ms就应答一次。7)捎带应答3.TIME_WAIT为什么是2MSL?MSL是TCP报文的最大生存时间,因此TIME_WAIT持续存在2MSL的话,就能保证在两个传输方向上的尚未被接收或迟到的报文段都消失,同时也在理论上保证最后一个报文可靠到达。4.CLOSE_WAIT:一般而言,对于服务器上出现大量的CLOSE_WAIT状态,原因就是服务器没有正确的关闭,导致四次挥手没有正确完成。5.解决IP地址不够用的三种方法:1)动态分配IP地址:只给接入网络的设备分配IP地址2)NAT技术:能够将私有IP通信时转换成全局IP3)IPV6:IPV6与IPV4是两个互不相干的协议,彼此不兼容。IPV6用16字节128位来表示一个IP地址。6.ARP协议:建立了主机IP地址和MAC地址的映射关系。工作流程:1)原主机发出ARP请求,询问“IP地址是...的主机的硬件地址是多少“,并将这个请求广播到本地网段。2)目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给原主机,将自己的硬件地址填写到应答包中。3)每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效。下次还要发ARP请求来获得目的主机的硬件地址。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:企业级(园区)ONU的使用
下一篇:HashMap实现保存两个key相同的数据
相关文章

 发表评论

暂时没有评论,来抢沙发吧~