一、五层协议
二、IP数据报格式
1、版本:占4位,指IP协议的版本。目前广泛使用的是版本为4的【ipv4】
2、首部长度:占4位,最大表示15。单位是32位字【即4字节】
3、区分服务:占8位,用来获得更好的服务。一般情况下不使用。
4、总长度:首部和数据的长度之和。单位字节。占16位,因此数据报的最长长度:2^16 - 1=65535字节
5、标识:占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器+1,并赋值给标识字段。被分片的数据报,这个标识都是相同的。
6、标志:占3位。目前只有低两位有意义。
最低位MF(More Fragment)MF=1表示后面还有分片的数据报。MF=0表示这是若干数据报片的最后一个。
中间位DF(Don't Fragment):不能分片。只有当DF=0时才允许分片。
7、位偏移:占13位。片偏移指出:较长的分组在分片之后,某片在原分组中的相对位置。单位8字节。
三、TCP
网图
紧急URG:为1时,表明紧急指针有效。告诉发送方的TCP有紧急数据要传送。于是TCP将紧急数据插入到本报文段数据的最前面
确认ACK: 1时确认号字段才有效。0无效。TCP规定,在建立连接之后所有传送的报文段ACK=1
推送PSH:当两个应用进程进行交互的通信时,有时在一端的应用进程希望在键入一个命令之后立即既能够收到对方的响应。PSH=1。TCP接收方收到PSH=1的报文段,就尽快地交付接受应用进程,而不再等到整个缓存满了后再向上交付。
复位RST:RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。RST置1还用来拒绝一个非法的报文段或拒绝打开一个连接。
同步SYN:在建立连接时用来同步序号。SYN=1而ACK=0时表示这是一个连接请求报文段。若同意,则响应的报文段中SYN=1 ACK=1。SYN=1表示这是一个连接请求或者连接接受报文
终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已经发送完毕,并要求释放运输连接。
四、TCP : 三次握手、四次挥手
网图