计算机网络--传输层

传输层负责进程间的逻辑通信,提供TCP和UDP两种协议。TCP提供面向连接、可靠的交付服务,通过三次握手建立连接,四次释放断开。UDP则是无连接的,适合一次性传输少量数据,提供尽力而为的交付,常见于DNS和SNMP等应用。传输层的流量控制与拥塞控制确保数据传输的稳定性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提供服务:进程之间的逻辑通信、复用和分用、差错检测、面向连接的TCP和无连接的UDP

1、传输层提供应用进程之间的逻辑通信(即端到端的通信)。与网络层的区别是,网络层提供的是主机之间的逻辑通信。

2、复用和奋勇。复用是指发送方不同的应用进程都可以使用同一个传输层洗协议传送数据;分用是指接受方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。

3、传输层还要对收到的报文进行差错检测(首部和数据部分)。而网络层只检查IP数据报的首部,不检验数据部分是否出错。

4、提供两种不同的传输协议,即面向连接的TCP和无连接的UDP.而网络层无法同时实现两种协议(要么虚电路,要么数据报)

数据链路层的SAP(服务访问点)是MAC地址,网络层的SAP是IP地址,传输层的SAP是端口。

在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区别一台主机中的不同应用进程。在网络中采用发送方和接受方的套接字(Socket)组合来识别端点,套接字=(主机IP地址,端口号)

UDP协议优点

1)UDP无需建立连接。2)无连接状态3)分组首部开销小4)应用层能更好地控制要发送的数据和发送时间。

UDP常用于一次性传输比较少量数据的网络应用,如DNS、SNMP等。

UDP提供及最大努力的交付,即不高正可靠交付,它的可靠性由应用层来保证。

UDP是面向报文的。报文不可分割,是UDP数据处理的最小单位。

如果UDP校验和校验出UDP数据报是错误的,可以丢弃,也可以交付给上层,但是需要附上错误报告,即告诉上层这是错误的数据报。通过伪首部,不急可以检查源端口号、目的端口号和UDP用户数据报的数据部分,还可以检查IP数据报的源IP地址和目的地址。检错能力不强,但是处理速度快。

TCP协议的特点:

1)TCP是面向连接的传输层协议。

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

3)TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序。

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

5)TCP是面向字节流的。

TCP连接建立(三次握手):

一、客户机的TCP首先向服务器的TCP发送一个连接请求报文段。这个特殊的报文段中不含应用层数据,其首部中的SYN标志位被置1,另外,客户机会随机选择一个起始序号seq=x(连接请求报文不携带数据,弹药消耗掉一个序号)

二、服务器的TCP收到连接请求后,如同意建立连接,就想客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认报文中,SYN和ACK位都置为1,确认号字段的值为x+1,并且服务器随机产生起始序号seq=y(确认报文不携带数据,但也要消耗掉一个序号)。确认报文段同样步包含应用层数据。

三、当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该链接分配缓存和变量。这个报文段的ACK标志位被置为1,序号字段为x=1,确认好字段为ack=y+1.该报文段可以细带数据,如果不携带数据则不消耗序号。

1、SYN=1,seq=x.                    -------->          不携带数据

2、SYN=1,ACK=1,seq=y         <--------          不携带数据

3、ACK=1,seq=x+1,ack=y+1   -------->          可以携带数据,消耗序号

TCP链接的释放:

1、FIN=1,seq=u                             ------------>   打算关闭

2、ACK=1,seq=v,ack=u+1              <-----------   TCP处于半个关闭状态,还可以发送数据

3、FIN=1,ACK=1,seq=w,ack=u+1  <-----------   关闭吧,不传了

4、ACK=1,seq=u+1,ack=w+1          ---------->   我等你接收到这个报文段后(2MSL),我就关闭

传输层和数据链路层的流量控制的区别在于:传输层定义了端到端用户之间的流量控制,数据链路层定义了两个中间的相邻节点的流量控制。另外,数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层则可以动态变化。

拥塞控制和流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,它是一个全局性的过程,涉及所有的主机,所有的路由器,以及降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,即接收端控制发送端,它索要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

发送窗口为接受窗口rwnd和拥塞窗口cwnd中比较小的一个。买开始门限:ssthresh

可靠传输机制

序号:用来保证数据能有序提交应用层

确认:确认号为期待收到的下一个报文段第一个字节的序号

重传:超时:计时器到期还没收到确认则重传对应报文;冗余确认:当收到失序报文时向发搜昂端发送冗余ACK.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值