- 面向连接服务:建立连接 使用连接 释放连接,较复杂,效率不高,不需要携带目的地址
- 无连接服务:无须事先建立通信,传送带有目的地址的数据包,例如IP协议的UDP的协议,优点:灵活,迅速,开销小 ;缺点:不可靠,不能防止报文丢失
TCP
1.使用序号对数据标记 ;
2.使用校验码 定时器系统提高安全性 ;
3.TCP使用窗口机制调整数据流量 ;
TCP报文
- 源端口和目的端口均为16位,TCP协议使用端口来识别源端和目的端,端口号取值为0-65535
- 序列号:32位
- 确认号:32位,
- 报头长度:4位,单位32位,没有任何选项的TCP报头为20位,最大60字节
- 标记:ack 确认,建立连接后报文回应ack设置为1 ;SYN,发起连接 ;fin,终止
- 窗口大小:16位,流量控制,
- 校验和:16位,对整个TCP报文段进行校验,并由目标端进行验证
- 紧急指针:16位,
- 选项:该字段可以达到40字节
三次握手:
A:SYN发起连接,序列号为x ;
B:收到后,发起连接,发送确认ACK,序列号为y,然后确认序号表明期待下一个数据段序号即ack=X 1(表明前一个收到无误,期待下一个)
A:建立连接,序号为y 1(每次会消耗一个序号),ack=y 1
三次握手
A:发送结束报文,序号
B:确认报文,确认序号,期待发送
B:发送结束报文,序号,确认序号
A:确认报文,确认序号,序号
接收ack报文
源主机发送确认报文等待一段时间进入CLOSED状态 ;目标主机收到确认报文后也进入CLOSED状态
四次挥手
- 慢启动与拥塞避免
- 快重传和快恢复
- 随机早期检测RED
- 往返时间
- 加权平均往返时间
- 重传超时时间
3.UDP(与TCP不同的是无顺序号,不可靠连接,主要用于类似IP电话,视频会议等需要恒定速率发送数据的应用,因为TCP需要在通信前建立连接,会有额外的开销)
源端口号:16位,标识源端进程
目标端口号:16位,标识目标端进程
长度字段:16位,头部和数据总长
校验和字段:16位,校验头部和数据,有错就丢弃,与TCP不同的是在UDP里校验和为可选项,而TCP里校验和为必选
(1)系统端口 :取值[0,1023]常见端口号如下:
常见端口
(2)登记端口 :是为 没有熟知端口号 的应用进程的,端口范围 [1024,49151],必须在IANA登记避免重复
(3)客户端使用端口:仅在客服运行进程时使用,进程结束就会释放端口
,