其他分享
首页 > 其他分享> > 通信导论-IP数据网络基础(1)

通信导论-IP数据网络基础(1)

作者:互联网

TCP/IP封装过程:

 端口号:服务器一般都是通过知名端口号(1~1023)来识别应用程序,(TCP)21、23、25,(UDP)53、69、161

TCP报文格式:

  1. 字节号:TCP把连接中发送的所有数据字节都编上号,产生一个随机数作为第一个字节的编号
  2. 序号字段:4字节,序号字段的值则指本段文段所发送的数据的第一个字节的序号,即表示报文段携带的第一个字节数据的编号
  3. 确认号字段:4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号,即把正确收到的最后一个字节的编号+1
  4. 首部长度:4字节,指出TCP首部共有多少个4字节,首部长度在20-60字节之间,该字段值在5-15(?)之间
  5. 紧急URG:当URG=1时,表明紧急指针字段有效,告诉系统此报文段中有紧急文段,应尽快传送(相当于高优先级的数据)
  6. 确认ACK:只有当ACK=1时确认号字段才有效,当ACK=0时,确认号无效
  7. 推送PSH(push):接收TCP收到PSH=1的报文段,就尽快的交付接收应用进程,而不再等到整个缓存就填满后再向上交付
  8. 复位RST(reset):当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,再重新建立传输连接
  9. 同步SYN:SYN=1表示这是一个连接请求或连接接受报文
  10. 终止FIN(finis):用来释放一个连接,FIN=1表明此报文段的发送端的数据已发送完毕,并要求释放传输连接,序号字段有效
  11. 窗口字段:发送端窗口是由接收端决定的,用来告知发送端接受端的缓存大小
  12. 校验和:检测受到损伤的报文段,检验和字段检验的范围包括首部和数据两部分,要在报文段的前面加上12字节的伪首部

单位换算:1 Byte=8bit;1KB=1024 B=1024 Byte=8*1024bit;1 MB=1024KB;1 GB=1024 MB;

10TB大约等于一个人脑的存储量

TCP的连接管理:面向连接的传输需要3个阶段,连接建立、数据传输、连接终止

TCP的三次握手(连接建立):

A客户

(主动打开)

连接请求报文段A→B,同步位SYN=1,序号seq=x(传送数据时第一个数据字节序号是x)

B服务器

(被动打开)

确认报文段A←B,同步位SYN=1,确认位ACK=1,确认号ack=x+1,自己选择序号seq=y
A→B,确认位ACK=1,序号seq=x+1,确认号ack=y+1,TCP连接已经建立

TCP的三次握手(连接释放):

A客户

(主动关闭TCP连接)

客户连接释放,连接释放报文段A→B,终止位FIN=1,序号seq=u

B服务器

(被动关闭)

确认报文段A←B,确认位ACK=1,确认号ack=u+1,自己选择序号seq=v,A到B的连接释放,TCP连接处于半关闭状态,B若发送数据,A任要接收
服务器连接释放,A←B,终止位FIN=1,序号seq=w,确认位ACK=1,确认号ack=u+1
A→B,确认位ACK=1,确认号ack=w+1,序号seq=u+1

TCP流量控制:让发送方的发送速率不要太快,纪要让接收方来得及接收,也不要使网络发生拥塞(滑动窗口协议)

注意:要求避免缩回窗口;接收端可以发送rwnd为0的报文段来暂时关闭窗口;不按序到达的数据先在接收窗口空着,收到后再按序交付

接收窗口(rwnd):由对方发送的包含确认的报文段中所给出的值(窗口大小取决于rwnd和cwnd 2个中较小的)

拥塞窗口(cwnd):由网络为避免拥塞而确认的值

2019-03-6 星期三

标签:字节,IP,报文,导论,TCP,确认,序号,数据网络,连接
来源: https://www.cnblogs.com/happy--hh/p/10508002.html