计算机网络运输层重要概念
来源:互联网 发布:独生子女 知乎 编辑:程序博客网 时间:2024/05/22 13:29
运输层提供应用层进程间的逻辑通信,也就是说,运输层之间的通信并不是真正在两个运输层之间直接传输数据。运输层应用层屏蔽了下面网络的细节(如网络拓扑、所采用的路由选择协议等),它使应用层看见的好像是在两个运输层之间有一条端到端的逻辑通信信道。
网络层为主机之间提供逻辑通信,而运输层为应用层进程之间提供端到端的逻辑通信。
运输层有两个主要的协议:TCP和UDP。它们都有复用和分用,以及检错的功能。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工通信的可靠信道。当运输层采用无连接的UDP协议时,这种逻辑信道仍然是一条不不可靠信道。
运输层用一个16位端口号来标志一个端口。端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。因为因特网的不同计算机中,相同的端口号是没有关联的。
两台计算机中的进程要互相通信,不仅要知道对方的IP地址,而且还要知道对方的端口号。
运输层的端口号为服务器使用的端口号(0~1023 指派给熟知端口,1024~49151 是登记端口)和客户暂时使用的端口号(49152~65535)。
UDP的主要特点是:无连接;尽最大努力交付;面向报文;无拥塞控制;支持一对一、一对多、多对多和多对一的交互通信;首部开销小。
TCP的主要特点是:面向连接;通过可靠交付;面向字节流;只能是一对一的交互;提供全双工通信。
TCP用主机的IP加上主机上的端口号作为TCP连接的端点。这样的端点就叫做套接字(socket)或插口。套接字用(IP地址:端口号)表示。
停止等待协议能够在不可靠的传输网络上实现可靠通信。没发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。分组需要编号。
超时重传是指只要超过了一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送的分组丢失了)。因此每发送完一个分组就需要设置一个超时计时器,其重传时间应比数据在分组的平均往返时间RTT更长一些。这种自动重传方式常称为自动重传请求ARQ(Automatic Repeat reQuest)。
在停止等待协议中,若接收方收到重复分组,就丢弃该分组,但同时还要发送确认。
连续ARQ协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组都可以连续发送出去,而不需要等待对方的确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已正确收到了。
TCP首部中的确认号是期望收到对方下一个报文的第一个数据字节的序号。若确认号为N,则表明:到序号N-1为止的所有数据都已经正确收到。
TCP首部中的窗口字段指出了现在允许对方发送的数据量。窗口值是经常动态变化着的。
TCP使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口后沿的后面部分表示已发送且已收到了确认,而发送窗口前沿的前面部分是不允许发送的。发送窗口的后沿的变化情况用两种可能,即不动(没有收到新的确认)和迁移(收到了新的确认)。发送窗口前沿通常是不断向前移动的。
流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况叫做拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由或链路不致过载。
流量控制是一个端到端的问题。拥塞控制是一个全局性的过程,涉及到所有的主机、所以的路由器,以及与降低网络传输性能有关的所有因素。
为了进行拥塞控制,TCP的发送方要维持一个拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接收窗口中较小的一个。
TCP拥塞控制采取了四种算法:满开始、拥塞避免、快重传和快恢复。在网络层,也可以使用路由器采用适当的分组丢弃策略(如随机早期检测RED),以减少网络拥塞的发生。
运输连接有三个阶段:连接建立、数据传输和连接释放。
主动发起TCP连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。TCP的连接建立采用次握手机制。服务器要确认客户的连接请求,然后客户要对服务器的确认请求进行确认。
TCP的连接释放采用四次挥手机制。任何一个都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放的通知,对方确认后就完全关闭了TCP连接。
- 计算机网络运输层重要概念
- 计算机网络原理运输层重要概念
- 计算机网络网络层重要概念
- 计算机网络数据链路层重要概念
- 计算机网络运输层
- 《计算机网络 3》 运输层
- 《计算机网络》之运输层
- 《计算机网络 3》 运输层
- 计算机网络之运输层
- 计算机网络 3.运输层
- 计算机网络笔记---运输层
- 计算机网络运输层
- 计算机网络 - 运输层
- 计算机网络之运输层
- 计算机网络-运输层
- 计算机网络的运输层
- 【计算机网络】运输层
- 计算机网络--运输层
- android支付平台调研
- openstack学习笔记 --- 用nova管理quatos
- android-sdk-windows 官方开发相关下载资源大汇总
- MFC ToolBar工具栏修改指定Button的Icon,添加文字的方法
- UVA - 769 Magic of David Copperfield 构造
- 计算机网络运输层重要概念
- iops
- Ajax加载外部页面的一个弹出层效果
- 旅游采摘两不误 樱桃节就来金石滩吧——大连别墅聚会
- cdh 运行spark yarn-cluster
- asp.net配置在vs2013中的开启
- 想看看你是什么星座的吗
- android studio 使用gradle 导出jar包,并打包assets目录
- 中文分词-IKAnalyzer初次使用