网络协议
文章平均质量分 67
dullet
这个作者很懒,什么都没留下…
展开
-
【网络协议】TCP的拥塞控制机制
通常在刚开始发送报文段时,先把拥塞窗口设置为一个最大报文段MSS的数值,而在每收到对上一轮报文段(,每次加倍后的报文段的个数,可能不止一个报文段)的确认后,就把拥塞窗口的数值。发送方维持一个拥塞窗口的状态变量,其大小取决于网络的拥塞程度,动态地变化,而发送窗口一般取拥塞窗口和对方给出的接收窗口的最小值。当拥塞窗口的值小于慢开始门限时,使用慢开始算法,一旦拥塞窗口的值大于慢开始门限的值,就改用拥塞避免算法。(有收到重复确认,说明后面的报文段都送达了,只有中间丢失的报文段没送达)。拥塞控制是一个全局性的过程。.原创 2022-08-08 20:00:00 · 544 阅读 · 0 评论 -
【网络协议】TCP中的四大定时器
以后每隔75秒发送一次,如果连续发送10次探测报文段后仍没有收到客户端的响应,服务器就认为客户端出现了故障,就可以终止这个连接。3、该探测报文发出后,会同时启动重传定时器,如果重传定时器的时间到期,还没有收到接收到发来的响应,则超时重传探测报文。2、对方在收到探测报文段后,在对该报文段的确认中给出现在的窗口值,如果窗口不为零,那么死锁的僵局就被打破了。在一定时间内没有收到对方的确认报文段,就重传发送的报文,并将计时器重置,如果收到确认报文,则撤销计时器。,则收到这个报文段的一方将坚持定时器的值。......原创 2022-08-08 15:52:44 · 380 阅读 · 0 评论 -
【网络协议】TCP的流量控制机制
设想一种情况,TCP接收方的缓存已满,而应用进程一次只从接收缓存中读取1字节(这样就使接收缓存空间仅腾出1字节),然后向发送方发送确认,并把窗口设置为1个字节(但发送的数据报为40字节长)。这样,网络的效率很低。我们考虑一种特殊情况,如果B在向A发送了零窗口报文段后不久,B的接收缓存又有了一些存储空间,于是B向A发送了一个rwnd=400的报文段,然而这个报文段在传送过程中丢失了,A就一直等待B发送非零窗口的报文通知,而B一直等待A发送数据,如果没有任何措施的话,这话死锁的局面会一直延续下去。...原创 2022-08-07 14:37:23 · 1782 阅读 · 0 评论 -
【网络协议】TCP的交互数据流和成块数据流
传输控制协议,位于传输层,提供一种可靠的,面向连接的数据传输服务应用程序被分割为适合传输的数据块,UDP不会,UDP只有与IP首部组成IP数据报时才会被IP分片。TCP发送一个报文段后,会启动一个计时器,如果固定时间内没有收到接收方的确认,则会重发一份报文段。TCP接收端收到发送端发送的数据报后,会返回一个确认,这个确认不是立即发送的,而是延迟后发送的。TCP会维持其首部和数据的校验和,这是一个端到端的校验和,如果接收端的校验和有差错,则会丢弃这个报文,发送端在超时后会重新发送。...原创 2022-08-07 14:36:29 · 467 阅读 · 0 评论 -
【网络协议】UDP协议
可以修改Traceroute来确定MTU,要做的是发送分组,不开启IP数据报分片,发送的第一个数据报长度与出口MTU相等,若返回ICMP差错报文,则减小MTU,直到确定出最小MTU。理论上IP数据报的最大长度为65535字节,因此理论上的UDP数据报的最大长度为65507(65535-20-8)字节,但是,大多数实现所提供的长度比这个最大值小。UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都会产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP校验首部和数据部分,TCP也是。...原创 2022-08-07 14:34:02 · 818 阅读 · 0 评论 -
【网络协议】TCP分段与IP分片
最后一点,对IP分片的数据报来说,即使只丢失一片数据也要重新传整个数据报(既然有重传,说明运输层使用的是具有重传功能的协议,如TCP协议)。当来自TCP报文段的某一段(在IP数据报的某一片中)丢失后,TCP在超时后会重发整个TCP报文段,该报文段对应于一份IP数据报(可能有多个IP分片),无法只重传数据报中的一个数据分片。分片传输的IP数据报不一定按序到达,IP首部的信息能让分片按序组装,IP数据报的分片与重组实在网络层中发生的。MSS是TCP里的一个概念(首部的选项字段中)。...原创 2022-08-07 14:31:03 · 1267 阅读 · 0 评论 -
【网络协议】ICMP协议、Ping、Traceroute
Traceroute使用ICMP报文和IP首部中的TTL字段,其原理很简单,开始时发送一个TTL字段为1的UDP数据报,而后每次收到ICMP超时报文后,再发送一个TTL字段加1的UDP数据报,以确定路径中的每个路由器,而每个路由器在丢弃UDP数据报时都会返回一个ICMP超时报文,最终到达目的主机后,由于ICMP选择了一个不可能的值作为UDP端口(大于30000)。ICMP是一个网络层的协议,用来传递差错报文和其它需要注意的信息,ICMP通常被IP层或更高层使用,它在IP数据报内传输。不是IP分片的第一片。.原创 2022-08-07 14:30:03 · 1133 阅读 · 0 评论 -
【网络协议】IP协议、ARP协议、RARP协议
前20个字节和选项是IP数据报的首部,前20个字节是固定的,可有可无,首部的每一行是32位,最高位在左边,为0bit,最低位在右边,为31bit,32bit按照以下顺序传输,0-7,8-15,16-23,24-31,这种传输顺序称为big endian,TCP/IP协议首部所有二进制都要求按照这种顺序传输,所以其又被称为网络字节序。,另外,子网对于子网内部的路由器是不透明的,也就是说IP数据报传到该网络的网关时,网关再将该数据报传送到子网的默认路由器上,最后通过该路由器再交付给该主机。...原创 2022-08-07 14:28:51 · 520 阅读 · 0 评论 -
【网络协议】数据链路层
ARP协议就是将ip地址转换为MAC地址,RAARP模块就是将MAC地址转换为ip地址,这两个都位于网络层,都具有各自的以太网数据帧类型(即传入以太网中要加上各自的MAC)TCP/IP支持多种不同的数据链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、FDDI、RS-232串行线路等,当今TCP/IP采用的主要局网技术是以太网。两台电脑进行网络通信要经过多个网络的数据链路层,不同网络的数据链路层的MTU又不同,所以要取路径中最小的MTU,这个MTU就被称为路径MTU。数据链路层主要有3个目的。...原创 2022-08-07 14:27:43 · 193 阅读 · 0 评论 -
【网络协议】TCP连接的建立和释放
如果这时候第一次发送的请求报文段延迟了一段时间后,又到了服务端,很显然,这本是一个早已失效的报文段,但是服务端收到后会误以为客户端又发出了一次连接请求,于是向客户端发出确认报文段,并同意建立连接。两端都发送FIN数据段,FIN=1,seq=i、FIN=1,seq=j,都进入FIN WAIT 1状态,再收到各自的ACK报文段,ACK=1,seq=j+1,ack=i+1、ACK=1,seq=i+1,ack=j+1,都进入TIME WAIT状态,等待2MSL后,进入CLOSED状态,最终释放整个TCP传输。...原创 2022-08-07 14:25:44 · 1482 阅读 · 0 评论 -
【网络协议】互联网协议入门(二)
因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。这个响应包的结构也是类似的,以太网标头的MAC地址是双方的网卡地址,IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方),UDP标头的端口是67(发出方)和68(接收方),分配给请求端的IP地址和本网络的具体参数则包含在Data部分。(2)后面的"IP标头",设置发出方的IP地址和接收方的IP地址。...原创 2022-08-07 14:23:06 · 105 阅读 · 0 评论 -
【网络协议】互联网协议入门(一)
确定了0和1的分组方式以太网协议。原创 2022-08-07 14:21:31 · 424 阅读 · 0 评论