【华为HCIA】常用协议
以下均为二层传输层
TCP功能
1、切段 加快传输速率
2、收到确认 保障可靠性
3、重排序 切断后可以同时传输,运送到目的地重新排序
4、丢失重传 切断传输可能丢失,可以重传某个切断数据
5、数据去重 切断传输多出来的,可以去除
6、数据校验和 目的设备会与一个"验证码"匹配,匹配成功数据传输完成
UDP功能
发送数据报 不可靠 无连接的协议 由于udp传输模型很简单,不需要tcp握手
广泛用于实时视频、语音、实时游戏
TCP、UDP都在二层传输层上
TCP报文:
源 目
Seq:序列号,排序中使用此字段
ACK-N:确认序列号(32bit)
Header length(4):头部长度 Reserved(6):保留字段,6bit(000000),用来占位子用的 Control bit(6):控制位 Window(16): 窗口字段,用来调节TCP传输速率
Checksum(16):校验和 Urgent(16):与URG控制位配合使用,优先处理该字段xxx字节
Options:可变字段,一般普通的TCP报文都是20字节,这里可以添加一些高级功能,会导致TCP报文长度变化
固定长度20字节
TCP的控制位(Control bits 6bit):
功能关闭:0,功能打开:1
1、URG:紧急指针有效标识,与Urgent字段匹配使用,0该字段无效,1有效,优先处理前xxx个字节
2、ACK:与ACK-N字段匹配使用,通常都是置位(1)
3、PSH:与URG类似,优先(加急)处理一整个数据段
4、RST:重建连接标识,告诉对端设备希望重新建立TCP连接
5、SYN:用于发起TCP连接,初次建立连接都是置位(1)
6、FIN:用于断开TCP连接
UDP报文比较简单
TCP三次握手:
第一次握手:seq随机,ack-n确认序列号没有,syn第一次发起连接为置位(1),ack控制位因ack-n确认序列号没有,也为0
第二次握手:对端响应,seq随机,ack-n确认序列号为上一次请求序列号+1,syn对端第一次发起连接为置位(1),ack控制位因ack-n有东西了,所以为1
第三次握手:发起请求端seq是 响应端的ack-n+1,ack-n是上一次的seq+1再+1,syn不是第一次发起了为0,ack是1
syn己端发起对端的第一次连接为1,其他都为0
三次握手后进入正常传输工作流程:
正常传输中不需要seq+1了,要加上每次传输的数据data
四次挥手: