计算机网络学习笔记--TCP报文

UDP是一个数据包传输

而传输控制协议TCP是将数据分段,分成多个数据包来传输。

流量控制,避免网络拥塞

点到点通信,IP地址+端口代表一个点(socket)。

全双工通信,同时发和收数据。发数据后要有反馈。确认收到,流量控制,如果数据处理不过来,就减慢数据传送的速度。

面向字节流传输。

可靠传输:超时重传、确认包丢失、确认包迟到等情况。停止等待协议,一种自动重传方式。

但是,信道利用率低,等待时间长。等待时间是往返时间RTT加接收(发送)确认包时间Ta。有用时间是发送数据的时间Td。信道利用率=Td/(Td+RTT+Ta)

提高信道利用率,使用流水线传输。发送窗口中的数据包,连续发送,不用等待确认后再发送下一个数据包。窗口中的数据包需要收到确认后才能从缓存中删除。

累积确认。一个确认包来确认收到的连续的数据包。

TCP首部:

目标端口、源端口

序号:数据部分的首个字节在整个文件的位置。

确认号:对方要发第几个字节开始的数据包给自己,意味着前面的字节已收到,在对方的缓冲中可以删除。

数据偏移:4位。确定报文的首部长度。1位代表4个字节,首部最大长度为4X15=60个字节,固定首部的长度为20字节。

Urg =1时优先发送,不需要在缓存中排队。

Ack =0时确认号无效,=1时确认号有效

Syn 同步,用于建立会话。 请求建立会话:ack=0syn=1,没有数据,序号=0,确认号=0

响应:syn=1ack=1,确认号=1,序号=0

 

Syn攻击:通过任意源IP地址不断向目标主机发送请求建立TCP连接来攻击目标主机(xp系统)

Land攻击:通过让目标地址请求与自身建立TCP连接,使目标主机瘫痪。

Psh 优先将接收的数据直接给应用程序,在缓存中不需要排队。urg对应

Rst重新建立TCP连接

Fin数据传完,释放连接。

你可能感兴趣的:(计算机网络)