一.OSI参考模型
1)物理层通过物理链路从一个节点向另一个节点传送比特流。
这一层数据的单位称之为比特
2)数据链路层
获得物理层接收的比特,并对他们进行检错。
差错控制,逻辑同步。
帧丢失,删除重复帧。
这一层数据的单位称之为帧
3)网络层
不关心数据对错,由路由选择。
数据单位为数据包。
4)传输层
把消息分成若干组,并在接收端进行重组。
数据单位为数据段。
5)会话层
管理登录和注销功能
6)表示层
负责转换文件的记录格式
7)应用层
允许用户基于各种不同目的使用网络。
二.进程到进程间的通讯
端口
端口号
套接字(socket):一个IP地址和一个端口号结合。
三.传输控制协议(TCP)
1.TCP是一种在不可靠的网络上提供可靠的,端对端的字节流通讯的协议。
特性:
面向连接。发送请求。
可靠的传输服务
调节传输速率
连接是全双工的,即支持双向同时传输数据。
2.TCP连接的建立
目的是:发送端和接收端做好准备,准备好了就可以进行数据的传输
三次握手
3.TCP的拥塞控制机制
发送端TCP进程为了避免在路由器,物理链路或接收端上发生拥塞,而自动调整传输速率的一种机制。
1)慢启动
通过慢启动来探测网络适用于该TCP连接的最大可用带宽,避免发生拥塞。
拥塞窗口指数级增大,直到超过接收端公告的窗口大小或有TCP段因拥塞而丢弃。
2)拥塞避免
当发送端发现有TCP段被网络丢弃,它将拥塞窗口的一半作为慢启动阈值,并重新返回慢启动过程。
当拥塞窗口等于慢启动阈值时,接收端TCP开始按照线性增长拥塞窗口。
3)快速重传
为了避免在发生错序的情况下重新传输TCP段,发送端只有在连续收到三个ACK之后,才重新传输。
4)快速恢复
快速重传之后,跳过慢启动,直接进入拥塞避免模式
4.TCP的关闭
四.用户数据报协议(UDP)
面向非连接提供不可靠数据传递服务的一种协议。
通讯前不必与用户建立连接,不管对方状态就直接发送
五.实时传输协议(RTP)
RTP本身只传输数据流
RTCP(传输控制协议),协议辅助RTP传输,提供传输控制
六.RTSP
实时流传输协议。
RTSP中,请求是双向的,RTSP拥有状态。