输层协议讲解
[TOC]
1.TCP协议和UDP协议
他们是TCP/IP协议簇的传输层协议
TCP(Transmission Control Protocol),即传输控制协议
UDP(User Datagram Protocol),即用户数据报协议
关键词:连接,可靠,目前数据传输大部分用的是TCP协议,在出现网路壅塞等特殊情况,会等等再走,可靠性高
全双工服务
2.TCP报文段格式
源端口号(16bits):发送端口
目标端口号(16bits):接收端口
序号(32bits):发送端对数据进行编号,便于接收端重组
确认号(32bits):用来确认发送端的信息
URG(1bit):紧急指针位,1表示开启,开启紧急指针(16bits)
ACK(bit):确认位
PSH(1bit):当PSH=1时,直接发往应用层,不经过缓存;(数据先放在缓存当中,在缓存里先后提取)
这两种并不会经常触发
RST(bit):重新建立连接时用上它
SYN:(1bit) 同步连接位,连接时SYN=1
FIN(1bit); 断开
窗口大小(16bits):指示接收到的数据大小,是可变的
校验和(16bits):校验作用
紧急指针(16bits):数据是否紧急
选项:做为保留
其中,ACK,SYN,FIN最重要(涉及到三次挥手和四次握手)
3.TCP三次握手
首先PC1发送【SYN=1(申请连接)】的报文段1【Seq(序号)=x】,
然后PC2接到这个报文段1后回复【ACK=1(确认知晓)并且SYN=1(也申请连接)】报文段2【Seq(序号)=y,Ack(确认号)=x+1,x+1,表示PC1对上个报文段1已接收到的的确认】;
最后PC1接收到PC2的报文段2后第二次向PC2发送【ACK=1(确认知晓)】报文段3【Seq(序号)=x+1,Ack(确认号)=y+1,y+1表示PC1对上个报文段2已接收到的的确认】;
这样TCP连接就建立了。
4.TCP四次挥手
PC1发起断开连接请求,也就是发送【FIN(断开)=1,ACK(确认知晓)=1】报文段1;
PC2接收到到报文段1后,会发送【ACK(确认知晓)=1】报文段2;
此时有两种情况,一种是PC2没有在向PC1传输数据,一种是PC2还有正在传输的数据,这里统一先发送一次【ACK(确认知晓)=1】报文段2,然后再发【FIN(断开)=1,ACK(确认知晓)=1】报文段3;
PC1收到报文段3,会发送【ACK(确认知晓)=1】报文段4;
此时TCP连接就这样关闭了
5.UDP协议介绍
6.常见协议及其端口
TFTP跟FTP类似,简单文件传输协议
NTP网络时间协议,很重要
FTP 文件服务器
TELNET 远程连接,明文形式发送(不能用在广域网上)
STMP 邮件发送协议
HTTP 网站协议
POP3 邮件接收协议