计算机网络之传输层 上

1.  理解传输层的基本理论和基本机制

   1. 多路复用 / 分用(如果某层的一个协议对应直接上层的多个协议或者实体)

     

     分用怎么工作:主机接收到IP数据包,每个数据包携带源IP地址,目的IP地址,携带一个传输层的段(Segment),每个源携带源端口号和目的端口号。

     主机收到Segment,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket。

     无连接的分用(UDP):

     

     面向连接的分用(TCP):一对一,一个客户机进程对应一个服务机进程(一个进程可以有多个线程)

     

   2. 可靠的数据传输机制

   3. 流量控制机制

   4. 拥塞控制机制

2.  传输层协议为运行在不同Host上的应用进程提供一个逻辑通信机制,是端到端的。

   端系统运行传输层协议:发送方把应用递交的消息分成一个或多个报文段并下传到网络层,接收方将接收的报文段组装成消息上交给应用层。(网络层是提供主机之间的逻辑通信机制)

   传输层为应用提供多种通信协议:Internet上的TCP和UDP。

3.  UDP(RFC768)

   1. 基于Internet IP协议,做了(传输层都要做的功能)复用 / 分用,简单的错误检测

   2. UDP段可能丢失,非按序到达。

   3. 它是无连接的,UDP发送方和接收方之间不需要握手,每个UDP段的处理独立于其他段

   4. UDP为什么存在?无需要建立连接(减少延迟),实现简单,无需维护连接状态,头部开销少,没有拥塞控制,应用可以更好的控制发送时间和速率。用于DNS,SNMP等。

     在UDP上实现可靠数据传输?在应用层增加可靠性机制,应用特定的错误恢复机制。(在应用层保证数据传输可靠)

   5. UDP的数据格式

   6. UDP的校验和:检测UDP段在传输中是否发生错误(如位翻转)

     

4.  可靠的数据传输的基本原理

   1. 什么叫可靠?数据不错,不丢,不乱。可靠数据传输对应用层,传输层,链路层都很重要。信道的不可靠性决定可靠数据传输协议(rdt)的复杂性。

   2. 可靠数据传输协议基本结构:接口

     

   3. 可靠信道上的可靠数据传输:

     底层信道完全可靠(不会发生错误,不会丢弃分组),发送放和接收方的FSM(有限状态自动机)独立

   4. 产生位错误的信道上的可靠数据传输(引入了差错检测,接收方显示的反馈控制消息,重传):

     利用校验和来检测位错误,那么如何从错误中恢复?基于重传机制的rdt协议称为ARQ

     答:利用确认机制,(ACK)接收方显示的告知发送发分组已经正确的接收,NAK(错误的接收),发送方接收到NAK后重传分组。

   5. Rdt2.1

     如何解决重复分组问题:给每个分组增加序列号,接收方丢弃重复分组。应对ACK/NAK破坏或者被损坏的情况。

   6. Rdt2.2:无NAK消息协议

     与rdt2.1功能相同,但是只使用ACK。如何实现?接收方通过ACK告知最后一个被正确接收的分组,在ACK消息中显示的加入被确认分组的序列号。发送发收到重复的ACK之后,采取和收到NAK的动作一样。

   7. Rdt3.0

     如果信道既可能发生错误也可能丢失分组,那么校验和+序列号+ACK+重传就不够用了(比方说ACK消息丢失了,发送方就一直在等待)。

     解决方法也很简单:给发送方设置一个合理的时间,如果没有收到ACK就重传。但是这个合理的时间是很难确定的。那么就是需要设置定时器。

     Rdt3.0能够正常工作,但是性能很差。主要是由于停等协议导致的。

     

      

5.  流水线机制和滑动窗口协议

   流水线机制:提高网络资源的利用率。如果同时发三个的话,我们可以看到效率提高了三倍。

   

   允许发送发在收到ACK之前连续发送多个分组,需要更大的序列号范围,发送方和接收方需要更大存储空间以缓存分组,以及滑动窗口协议。

   窗口:允许使用的序列号范围,窗口尺寸为N说明最多有N个等待确定的消息。

   滑动窗口:随着协议的运行,窗口在序列号空间内向前滑动。

6.  滑动窗口协议之回GBN协议:

   分组头部包含k-bit序列号。ACK(n):确认到序列号n(包含n)的分组均已被正确接收。(累积确认的机制)

   为还在空中的分组设置计时器,超时事情发生的话就重传序列号大于等于n还未收到ACK的所有分组。

   滑动窗口协议之回SR协议:

   可以乱序接收

   多一个接收方窗口,与发送方窗口不是同步的。

   

   SR协议的发送方和接收方做的事。

   

   SR协议需要满足一个重要的东西就是窗口尺寸和序列号空间大小要满足:N(s)+N(R)<=2^k;

   不然它区别不了如下情景,这个序列0到底是第1个包还是第5个包

   

   

   

     

原文地址:https://www.cnblogs.com/jkzr/p/10001330.html

时间: 2024-10-09 22:42:26

计算机网络之传输层 上的相关文章

【计算机网络】-传输层-Internet传输协议-TCP

[计算机网络]-传输层-Internet传输协议-TCP TCP介绍 在不可靠的互联网上提供一个可靠的端到端字节流 面向连接的.可靠的.端到端的.基于字节流的传输协议 TCP位置 TCP服务模型 应用程序访问TCP服务 通过在收发双方创建套接字来实现的 套接字的地址 用(IP地址,端口号)来表示的 知名端口 1024以下的端口号,如FTP:21,TELNET:23,SMTP:23 每条连接用(套接字1,套接字2)来表示,是点到点的全双工通道 TCP不支持 多播(multicast)和广播(bro

计算机网络的传输层的简单介绍:

在应用层下为传输层,如TCP与UDP: 传输层与网络层之间的不同: 传输层负责信息在主机进程与服务器进程之间的传递: 网络层负责信息在主机与服务器之间的传递:     差了一个进程啊: 传输层的信息用:segment 表示:它是这样得到的:把应用层的message 分成一块块,然后再加上传输层的文件头: 另外,TCP的信息也会用segment表示,UDP的信息用datagram(数据报)表示:网络层上的message也用datagram表示: UDP:user datagram protocol

计算机网络_传输层_基本概念

1进程之间的通讯 从IP层看,通讯的两端是两台主机 从传输层看,通讯的两端不是主机而是主机上的进程 2传输层的两个主要协议: TCP传输控制协议(Transition Control Protocol) 面向连接,可靠的 传输数据之前必须建立连接,传输之后释放连接   不支持广播和多播  因为 TCP的确认,流量控制,计时器以及管理连接等,这些不仅使协议数据单元的首部增大很多,还要占用很多的处理机资源 UDP用户数据报协议(User Datagram Protocol)不需要先建立连接  不可靠

传输层上的TCP和UDP

TCP和UDP是OSI模型中的传输层中的协议. TCP定义 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. UDP定义 UDP (User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务. 区别: TCP提供的是面向连接

计算机网络概述 传输层 TCP拥塞控制

TCP拥塞控制 计算机网络中的带宽.交换结点中的缓存和处理机等,都是网络的资源.在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏.这种情况就叫做拥塞. 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载.拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制. 拥塞控制 和 流量控制 的区别? 1. 拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况: 2. 流量控制:流量

计算机网络之传输层

一.Tcp的作用 1.提供面向连接,可靠的字节流服务. a.面向连接是说,交换数据前要建立连接. b.可靠是通过把数据分割成数据块,以及超时重发的机制. c.字节流是指程序之间的数据传输是通过字节构成的字节流. 二.Tcp报文首部详解        首先来看看Tcp包首部,其中主要有端口号,数据包序号,确认序号,标记位等. 1.端口号:有源端口号和目的端口号,用于寻找发送端和接收端的应用进程,加上IP首部的源端IP及终端IP,唯一的确认一个TCP连接. 2.32为序号:标识发送的数据包的字节流.

图解 TCP/IP 第六章 TCP与UDP 笔记6.1 传输层的作用

?图解?TCP/IP? 第六章?TCP与UDP? ?笔记6.1 传输层的作用 ? 传输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别码.根据端口号,就可以识别在传输层上一层的应用程序所有进行处理的具体程序. ? 6.1.1 传输层定义 6.1.2 通信处理 ? 6.1.3 两种传输层协议 TCP和UDP TCP 是面向连接的.可靠的流协议.流就是指不间断的数据结构,你可以把它想象成排水管道中的水流. UDP 是不具有可靠性的数据包协议 .细微的处理会交给上层的应用去完成.在U

计算机网络---传输层

传输层----管理端到端的通信连接 1.端口 使用端口(Port)来标记不同的网络进程 端口使用16位比特位表示(0~65535) 常用端口: ftp----21    http---80     https---443    dns---53    telnet---23 2.各种协议 应用层:                 HTTP  FTP  SMTP   POP3  ... 传输层:                             TCP    UDP 网路层:       

计算机网络 学习笔记-传输层:TCP协议简介

概述: TCP传输前先要建立连接 TCP在传输层 点对点,一条TCP只能连接两个端点 可靠传输.无差错.不丢失.不重复.按顺序 全双工 字节流 TCP报文段 TCP报文段的报头前20字节是固定的,后面4n字节是根据需要而添加的. 20字节的固定部分: 源端口和目的端口:分别写入源端口号和目的端口号 序号:0-(2^32-1),本报文段数据的第一个字节的序号,用来解决乱序问题 确认序号:期望收到对方下一个报文段的第一个数据字节的序号,用来解决丢包问题 数据偏移:TCP报头长度,包括固定的20字节和