TCP报文段的首部格式
TCP首部的最小长度是20字节
- 紧急URG:当URG=1时,出现了错误,表示紧急终止
- 确认ACK:当ACK=1时,告诉我要建立连接了,需要还你一个ACK确认,相当于回应
- 推送PSH:当PSH为1时,就尽快把这个数据包交付应用层
- 复位RST:当RST为1时,表明TCP连接出现严重差错,必须释放接连,重新建立运输连接
- 同步SYN:在连接建立时用来同步序号,当SYN为1时,表示这是一个连接请求或连接接受报文
- 终止FIN:当FIN为1时,表示此报文段的发送方的数据已发送完毕,并要求释放运输 连接
TCP的三次握手
TCP的建立连接的过程叫作握手,握手需要在客户和服务器之间交换三个TCP报文段
过程
第一次
第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号。
第二次
第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
简述具有五层协议的网络体系结构
1、应用层,是通过在应用进程之间进行交互来实现特定的网络应用。
2、运输层,是负责在两台主机的进程之间的通信提供传输的服务。传输层有两个协议,TCP和UDP。
3、网络层,是负责为分组网络中的不同主机提供通信服务,并通过选择合适的路由将数据传递到目标主机。网络层一般又叫IP层,因为这一层的协议是IP协议。
4、数据链路层通常简称为链路层。它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关,在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装程帧。
5、物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。数据反映到物理层,就是数字的1和0。
数据包分片
1发送一个数据部分为1300字节的数据,MTV=500字节,求MF? DF? 偏移量?
- MTV:为运输一次的容量
- MF:为1后面还有数据,为0后面没有数据
- DF:0为允许进行分片,1为不允许(一般不出现)
- 偏移量:(每一次容量)初始编号/8
MTV=IP头部(20) + 数据部分(480)
第一个数据
- 偏移量 = 0/8 = 0
- MF = 1
- DF = 0
第二个数据
- 偏移量 = 480/8 = 60
- MF = 1
- DF = 0
第二个数据
- 偏移量 = 960/8 = 120
- MF = 0 (后面没有数据了)
- DF = 0
TCP与UDP的区别
TCP是传输控制协议
UDP是用户数据报协议
- TCP是可靠的的传输方式 UDP是不可靠的传输方式
- TCP有连接 UDP是无连接的
- TCP有超时重发,流量控制 UDP没有
- TCP使用环境高,UDP适用于快速传输,量大,安全保障不是特别高的情况
- TCP有序号,确认号 UDP只有长度,校验,(它们的头部是不一样的)
- TCP有三次握手 UDP没有
TCP与UDP的相同点
它们都是传输层,它们都需要打开服务端口号
局域网划分
- 基于端口划分
- 基于MAC划分
- 基于IP子网划分
- 基于协议划分
- 基于策略划分