为应用层提供服务,接收来自网络层的服务,
传输层提供逻辑通信功能,是面向通信的最高层,用户功能的最底层,
网络层协议吧报文传递到目的计算机,报文需要递交给正确的进程。所以传输层实现了端口(每台主机定义的进程标识符可能不一样),
TCP/UDP协议是位于传输层的协议。
UDP
UDP的报文 伪首部 +UDP分组+用户数据
伪首部 源IP,目标Ip(4字节),2个字节,UDP长度(2字节),如果传送错误,就会将伪首部发出给主机,否则他不会继续传到下一层或上一层。
UDP是不可靠的传输,不管接收端收没收到
TCP是可靠的传输,通过确认和重发保证可靠性、
可靠的传输所用到的协议。
弹性窗口协议,当发送端发送数据比接收端处理数据速率要快的时候,使用弹性窗口限制发送分组,达到流量控制。在一串数据上设定窗口的大小,然后发出窗口中的数据。收到ACK编号,要求接收信息后再移动到指定编号位置,为避免发送端和接收端不知道是前一次发的旧数据还是新发的数据,接收端窗口一般为发送端的一半,
弹性窗口分组数为1的时候就是停止-等待协议(对此协议的扩展),也是种流量控制的协议。每发一条信息就需要等待对方的确认,信道利用率低。
后退N协议,发送端等待确认时,可以发送多个分组,当发生错误时,后退到发生错误的分组,再重新发发生错误的分组和在此之后的分组。
选择重传协议
当丢失了很多分组,后退N协议将会重发已发过的分组。浪费带宽,在网络拥塞的时候更为严重。
选择性重传协议,只发送已丢失的分组,加大接收窗口。然后自己组装收到数据的顺序。需要较大的缓存空间。
TCP需要建立连接,而UDP不用,然后通过报文形式封装数据。
TCPb报文格式,20字节的固定首部。
具体内容见P91
TCP解决网络拥塞,一般窗口的数据数量=min(拥塞窗口,通知窗口(传输窗口))
拥塞窗口的数据个数先是呈2的指数形式增长,达到指定值后为线性增长,最后达到堵塞点,指定值就下降到一半,重新从1开始增长,达到指定值再线性增长,达到堵塞点再重复上述过程。
TCP建立连接的方式,三次握手连接
发送端发送连接请求,接收端发送确认,发送端再发次确认给接收端,连接才建立。
这样避免了发送端连接延时,重建一个新连接,结果以前那个连接也开启了的情况。
四次握手拆掉连接
发送端发送拆连接请求,接收端发送确认,发送端拆掉连接(此时从发送端发到接收端是不可靠的传输),接收端把该发的数据发完之后,接收端发送拆连接请求,发送端发送确认,接收端拆掉连接。TCP连接拆除。
TCP为什么要建立连接再传输数据?
要确立接收数据对象是否存在,初始化实现TCP报文协议的资源。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。