计算机网络之运输层

来源:互联网 发布:字体管家软件 编辑:程序博客网 时间:2024/05/21 21:22

区别:网络层是为主机之间提供逻辑通信,而运输层应用进程之间提供端到端的逻辑通信。

一 . 用户数据报协议UDP

1.特点
(1)UDP是无连接的
(2)UDP使用尽最大努力交付
(3)UDP是面向报文的。
(4)UDP没有拥塞控制,某些实时应用(IP电话,实时会议)需要恒定速率发送数据。
(5)UDP支持一对一,一对多,多对一,多对多的交互通信。
(6)UDP首部开销少,只有8个字节,TCP有20个字节。

二 . 传输控制协议TCP

1.特点
(1)TCP是面向连接的运输层协议。应用层使用TCP协议前,必须建立TCP连接,用完后释放。
(2)每一条TCP连接只能有2个端点,即点对点。
(3)TCP提供可靠交付的服务,即数据无差错,不丢失,不重复,按序到达。
(4)TCP提供全双工通信,TCP允许双方在任何时候发送数据,TCP两端都有发送缓存和接受缓存。
(5)面向字节流。发送方发送10个数据块(每个数据块包含不等字节),而接收方可能只用4个数据块就交付上层。

2.TCP的连接
(1)TCP连接的端点:套接字或者插口,每一条TCP连接有2个端点。
(2)TCP连接::={socket1,socket2} ={(IP1:port1),(IP2:port2)}
注: “:=”(赋值)是某些语言为了与”=”(等于)区别开来,而”::=“是定义为.

三.可靠传输的工作原理

(1)停止等待协议(自动重传请求ARQ)
①无差错情况,A发送数据,收到B的确认信息后才再次发送其它数据。
②出现差错,A发送数据时保留备份,并且给分组进行编号,超时后在此重传。
③确认丢失和确认迟到,第一,丢弃这个分组,第二向A发送确认。

(2)连续的ARQ协议(滑动窗口协议)
理解:在滑动窗口中的直接连续发送出去,当收到确认后,窗口向右移动
。此时窗口左边的(不在窗口内)是发送并且收到确认的,窗口里面的是发送但是没收到确认,窗口右边(不在窗口内)的是未发送的。

缺点:如果窗口中间的分组丢失,必须要重传,叫做回退。

四.TCP可靠传输的实现

(1)窗口前沿通常向前移动,但也可能不变第一种情况是,没收到确认;第二种情况是对方通知的窗口缩小了,使得当前窗口前沿正好不变。另外窗口最大是有上限的,和对方缓存有关。

问题:对于无序到达的数据怎么处理?丢弃?
答:TCP通常先临时存放在窗口中,等字节齐后,再按序上交于上层应用进程。
注意:窗口单位是字节,不是报文段。
(2)超时重传时间设置
Karn算法

五.TCP流量控制

定义:让发送方发送速率不要太快,要让接收方来得及接收。
点对点的控制
A: seq 发送数据开始序号

B:ACK 只有ACK=1时,返回数据才有意义
ack允许发送序号(开头)
rwnd 接收窗口大小
cwnd 拥塞窗口
问题:当rwnd从0到100(或者其它)的报文段在传输过程中丢失,A一直在等这个通知,而B也在等A发送数据,就会死锁。

解决: 当rwnd=0;A设置一个持续计时器,时间到了,就发送一个零窗口探测报文段(1字节),B收到就给出窗口值。

六.TCP的拥塞控制

概念:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至过载
(1)慢开始算法:从小到达逐渐增大拥塞窗口(cwnd) 翻倍
(2)拥塞避免:从小到达逐渐增大拥塞窗口(cwnd) 加1
为了防止cwnd增长过大,一般
慢开始算法->门限值–>拥塞避免算法

每次网络拥塞时,门限值减半,拥塞窗口变为1
(3)快重传,接收方每收到一个失序的报文段立即连续发送重复确认,发送方连续收到重复确认后,应当马上发送对方未收到的报文段,而不必等待重传计时器到期。
(4)快恢复
①发送方连续收到重复确认后,为了避免拥塞,门限值应当减半。
②由于默认没有网络拥塞(连续收到重复确认),所以不使用慢开始算法,把拥塞窗口设置为门限值,然后执行拥塞避免算法。

TCP连接的连接(3次握手) ,释放先不写。。。

1 0
原创粉丝点击