一、TCP/UDP
1、TCP是面向连接的,可靠地流协议;是提供可靠性传输,实行“顺序控制”或“重发控制”“确认应答”等机制
2、UDP是不具有可靠性的数据报协议,细微处理会交给上层的应用去完成,虽然可以确保发送消息的大小,却不能保证消息一定会到达
3、两者区别:
----TCP面向连接,UDP面向非连接
----TCP可实现可靠传输,UDP不能
----UDP高速传输,实时性快
4、 ===UDP首部格式=== =====TCP首部格式=====
5、端口号
1)端口号用来识别同一台计算机中进行通信的不同应用程序
2)TCP/IP或UDP/IP识别通信:源IP地址,目标IP地址,协议号,源端口号,目标端口号
3)端口号确定:方式一采用标准既定的端口号,静态方法,指每个应用程序都有其指定的端口号;方式二是时序分配法,动态方法,由操作系统为每个应用程序分配互不冲突的端口号,取值范围在49152-65535之间
二、UDP
UDP是User Datagram Protocol缩写
由于面向无连接,且本身处理简单高效,故有以下几个应用场景
1)包总量较少的通信(DNS,SNMP等)
2)视频,音频等多媒体通信(即时通信)
3)限定于LAN等特定网络中的应用通信
4)广播通信(广播,多播)
三、TCP
1)TCP三次握手,四次挥手
2)TCP以段为单位发送数据,MSS“最大消息长度”,在三次握手的时候,在两端主机之间被计算得出
2)利用窗口控制提高速度,即发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送,窗口打小就是指无需等待确认应答而可以继续发送数据的最大值
3)高速重发控制:发送端主机如果连续3次收到同一个确认应答,就会将其所对应的的数据进行重发
4)流控制:接收端主机向发送端主机通知自己可以接收数据的大小,发送端主机会根据接收端主机的指示,对发送数据的量进行控制。该大小限度就被称作窗口大小
5)拥塞控制:在通信一开始时会通过一个叫做慢启动的算法得出的数值,对发送数据量进行控制,慢启动时将拥塞窗口的大小设置为1MSS,之后每收到一次确认应答(ACK),拥塞窗口就加一。
放大比例计算公式
6)提高网络利用率规范:
----Nagle算法:延迟发送未发送的很少数据。条件:已发送的数据都已经收到确认应答;可以发送最大段(MSS)的数据
----延迟确认应答
----捎带应答