运输层(传输层)知识点汇总-4

运输层(传输层)

1. 传输层的作用

运输层向其上面的应用层提供通信服务

2. 传输层复用和分用的含义

复用:应用层所有的应用进程都可以通过运输层再传送到IP层(网络层)

分用:运输层从IP层收到发送给各个应用进程的数据后必须分别交付指明的各应用进程。

3. 传输层与网络层的区别

网络层为主机之间体用逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层向高层用户屏蔽了下面网络核心的细节,使得应用进程看见的就是好像两个运输层实体间有一条端到端的逻辑通信信道。

4. UDP协议的特点

(1) UDP(用户数据报协议)是无连接的:发送数据前不需要建立连接,也意味着发送数据结束后也不需要释放连接,因此减少了开销与发送数据之前的时延

(2) UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表

(3) UDP是面向报文的,UDP对于应用层交下来的报文,既不合并也不拆分,而是保留这些报文的边界。简而言之,UDP得到什么样的报文就转发什么样的报文,不做任何改变。

(4) UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。

(5) UDP支持一对一,一对多,多对一和多对多的交互通信。

(6) UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

5. UDP协议的报文结构

UDP的首部格式(8个字节 4个字段):

用户数据报UDP有两个字段,数据字段和首部字段。每个字段都是2字节

首部字段:

(1)源端口 需要对方回信时选用,若没有则使用全0

(2)目的端口

(3)长度

(4)检验和 检测UDP用户数据报在传输中是否有错,有错就丢弃。

6. TCP协议的特点

(1) TCP是面向连接的运输层协议,应用程序在使用TCP前需要先建立TCP连接。

(2) 每一条TCP连接只能有两个端点,每一个TCP连接只能点对点。

(3) TCP提供可靠支付的服务,通过TCP连接的传送数据无差错不丢失不重复并且按序到达。

(4) TCP提供全双工通信。即允许通信双方的应用进程在任何时候都能发送数据。连接的两端都有发送缓存和接收缓存,用来临时存放双向通信的数据。

(5) 面向字节流。TCP中的流是指流入到进程或从进程流出的字节序列。 但TCP把应用程序交下来的数据仅仅看成是一连串的无结构字节流。

7. TCP协议的报文结构

TCP报文段的首部格式:

(1) 源端口与目的端口

(2) 序号

(3) 确认号

(4) 数据偏移

(5) 保留

(6) 紧急UGR(UGR=1紧急指针生效)

(7) 确认ACK

(8) 推送PSH

(9) 复位RST

(10) 同步SYN SYN=1 表示该报文段是连接请求或者连接接收报文

(11) 终止FIN

(12) 窗口

(13) 检验和

(14) 紧急指针

(15) 选项

8. TCP三次握手过程

三次握手过程目的是建立客户与服务器的连接。

客户主动打开连接,服务器被动收听连接。

具体过程:

I. 一开始服务器B先创建传输控制模块(TCB Transmission control block)准备接收客户的进程连接请求,服务器处于收听状态。

II. A的TCP客户进程也首先创建TCB,然后向B发送连接请求报文段,SYN=1,同时选择一个初始序列号seq=x

TCP规定:SYN=1的报文是不得携带数据的,但是会消耗掉一个序列号。

此时客户进入同步收到状态(SYN-RCVD)

III. B收到A的请求后,同意建立连接,则向A发出确认,SYN=1,ACK=1 确认号为ack=x+1 同时也为自己选择一个序列号y。由于SYN=1该报文也不能包涵任何数据。此时服务器进入SYN-RCVD状态。

IV. 客户端接收到服务器端的确认后,还要向B发出确认。确认报文段的ACK=1 确认号ack=y+1 而自己的序号为seq=x+1。

TCP规定:ACK报文段可以携带数据,如果不携带数据则不占用序列号。

此时TCP连接已经建立,A进入established 状态,B收到A的确认后也进入连接建立的状态。

9. TCP四次挥手过程

A: 我数据传完了,我要关闭TCP连接了。

B: 我知道了,关闭连接中。(此时A–>B的连接已经关闭,但是B–>A的还开着)

B: 我要关闭服务器了(最后确认状态,目的是关闭B–>A的连接)

A: 好的,你关吧。

A最后等了2MSL,发现B没有回复任何异常,就说明B已经成功关闭了。

注:任何一方都可以在数据传输结束后发出连接释放的通知,待对方确认之后就进入半关闭状态,当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就关闭TCP连接。

  1. TCP可靠传输如何实现

有待进一步的补充

  1. 停止等待协议

“停止等待”就是每发送完一个分组就停止发送,等待对方确认。在收到确认后再发送下一个分组。

(1) 无差错情况。

(2) 出现差错。只要发送方没有收到确认的消息,过一段时间就会进行超时重传操作。

  1. 滑动窗口协议

  2. TCP的流量控制

定义:让发送方的发送速率不要太快,要让接收方来得及接收。

(1) 利用滑动窗口进行流量控制

注:发送方的发送窗口不能大于接收方的接收窗口的大小。

TCP窗口的单位是字节,而不是报文段。

TCP为每一个连接都设置了持续计时器,若该计时器时间到期,则会向接收端发送一个零窗口的探测报文段。TCP规定,即使接收端的窗口为零,也要接收发送方发送过来的探测报文段,确认报文段或者携带紧急数据的报文段。

  1. TCP拥塞控制

定义:拥塞控制就是防止过多的数据注入到网络中,这样可以使得网络中的路由器或链路不致过载。

四种算法:

(1) 慢开始:当主机开始发送数据,先进行探测,即由小到大逐渐增大发送窗口,由小到大逐渐增大拥塞窗口的数值。

(2) 拥塞避免:即线性增加传输的报文数,直到网络出现超时情况,再进行传输报文数的调整。加法增大,即拥塞窗口按照线性规律增大。

(3) 快重传:使得发送方尽早知道发生了个别报文段丢失的情况。发送方只要一连收到三个重复确认信息,则立即进行丢失报文段的重传操作。

(4) 快恢复:发送方立即调整门限值,同时设置拥塞窗口,然后开始执行拥塞避免算法。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值