`
jackyhongvip
  • 浏览: 158196 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于几个网络概念

 
阅读更多

关于TCPIP网络数据时怎么传输的,TCP协议时如果保证数据顺序、可靠地被传输到对端,对于大量数据的传输传输层和网络层都做了些什么?

 

首先澄清几个概念:

1.MTU

 

最大传输单元(Maximum Transmission UnitMTU)是指一种通信协议在某一层上面所能通过的最大数据报大小(以字节为单位),它通常与链路层协议有密切的关系。EthernetII帧结构如下:

 

DMAC

SMAC

Type

Data

CRC

 

由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧,我们都可以视之为错误的数据帧。一般的以太网转发设备会丢弃这些数据帧。(注:小于64Bytes的数据帧一般是由于以太网冲突产生的碎片或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)。

由于以太网EthernetII最大的数据帧是1518Bytes,除去以太网帧的帧头(DMAC目的MAC地址 48bit=6Bytes+SMACMAC地址48bit=6Bytes+Type2bytes14Bytes和帧尾CRC校验部分4Bytes (这个部份有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这个值我们就把它称之为MTU

这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里面一样的道理。当两台远程PC互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的MTU各不相同,就好比一长段的水管,由不同粗细的水管组成(MTU不同)通过这段水管最大水量就要由中间最细的水管决定。

 

 

2.MSS

 

MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20BytesTCP数据段的包头20Bytes),所以往往MSS1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。

 

3.两者区别和联系

 

对于TCP而言MSS才是其应用的主要数据长度限制,而对于UDP而言MTU才是数据包限制的原因。这也是为什么TCP数据传输的效率要低于UDP的原因。

 

4.TCP如何保证数据顺序、可靠的传输?

 

TCP 通过以下方式提供可靠性:

·应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。

 

·TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它 就重发这个报文段。

 

·TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。

 

·TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化如果收到报文段的检验和有差错,TCP将丢弃这个报文段和不确认收到这个报文段。

 

·既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能失序,因此TCP报文段的到达也可能失序。如果必要,TCP将对收到的数据进行排序,将收到的数据以正确的顺序交给应用层。

 

·既然IP数据报会发生重复,TCP连接端必须丢弃重复的数据。

 

· TCP还能提供流量控制,TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

 

  另外,TCP对字节流的内容不作任何解释。典型的tcp协议要求每一个数据段发送之后都要有一个ack回复,然后才能发送下一个数据段,虽然这样能保证数据的可靠传输,但是效率呢?由于tcp是全双工通信,在等待一个数据段的ack恢复之前网络将会闲置,因此效率将会受到极大影响,因此协议提出了滑动窗口子协议,专门负责数据的传输,滑动窗口子协议分为简单的停-等协议,后退N协议,以及选择重传协议三个子子协议,其实三个子子协议可以由一个例程表示,只是一个例程的三个不同情况,比如发送和接收窗口都为1时就是简单的停等协议。三个子子协议都很复杂,只有靠这种复杂的机制才换取了网络链路的高效利用。

 

 

 

 

分享到:
评论

相关推荐

    澄清几个基本概念-迅为精英版聊天记录

    在这个主题中,我们聚焦于"澄清几个基本概念",特别是涉及到Linux操作系统的一个关键特性——文件系统的挂载。这里,我们来深入探讨一下这个话题。 首先,我们要知道什么是Linux。Linux是一种自由和开放源码的操作...

    ORACLE网络的几个重点概念.doc

    Oracle网络涉及一系列重要的概念,这些概念对于理解和管理Oracle数据库至关重要。首先,我们来看数据库名(DB_NAME)和实例名(INSTANCE_NAME)。 1. 数据库名(DB_NAME) 数据库名是Oracle数据库内部用来唯一标识...

    HNC(概念层次网络)

    这个网络由不同层次的概念节点组成,低层节点代表基本或具体的概念,如“动物”或“狗”,而高层节点则表示抽象或一般化的概念,如“生物”或“宠物”。通过这种方式,HNC可以捕捉到词语之间的上下文关系,从而帮助...

    计算机网络的一些重要概念 谢希仁

    在计算机网络中,有几个核心的概念: 1. **IP地址**:是网络上的每台设备的唯一标识,类似于现实世界的邮政地址。IP地址分为IPv4和IPv6两种,前者由32位二进制组成,通常表示为点分十进制;后者为128位,提供更大的...

    HNC(概念层次网络)理论

    在实际应用中,HNC理论的实现通常涉及以下几个步骤:首先,需要对领域知识进行分析,确定基本概念和它们之间的关系;然后,构建概念层次网络,这可以通过专家知识、语料库分析等方式完成;接着,设计算法来处理网络...

    计算机网络期末复习可以从以下几个方面进行: 一、基础知识回顾 计算机网络的概念: 将分散的、具有独立功能的计算机系统,通过通信

    计算机网络期末复习计算机网络期末复习可以从以下几个方面进行: 一、基础知识回顾 计算机网络的概念: 将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递...

    计算机网络原理-025第3章 数据链路层--数据链路层几个基本概念.mp3

    计算机网络原理-025第3章 数据链路层--数据链路层几个基本概念.mp3

    几个神经网络案例

    "几个神经网络案例"是深入理解神经网络的宝贵资源,它将理论与实践相结合,帮助初学者快速掌握神经网络的基本概念和应用技巧。通过MATLAB的直观操作,学习者能够亲手实现并观察不同类型的神经网络在不同任务上的...

    网络技术基础讲座_网络概念&OSI分层网络模型&网络设备&INTERNET基础

    网络技术基础讲座主要涵盖了网络概念、OSI分层网络模型、网络设备以及INTERNET的基础知识。网络技术在现代社会中扮演着至关重要的角色,它通过连接不同的计算机设备,实现了资源共享和信息共享,极大地提高了工作...

    66-Neutron 网络基本概念1

    今天我们学习 Neutron 模块几个重要的概念,包括 Network、Subnet 和 Port。下面我们将详细介绍这些概念。 网络(Network) Neutron 支持多种类型的网络,包括 Local、Flat、VLAN、VxLAN 和 GRE。每种网络类型都有...

    计算机网络 基本概念

    互联网协议栈(Internet Protocol Stack)是网络通信的基础架构,它将整个网络通信过程划分为几个层次,每一层负责不同的功能: - 应用层(Application Layer)支持网络应用程序,例如HTTP、FTP和SMTP。 - 运输层...

    网络互联的概念和结构模型

    为了理解网络互联的核心概念及其架构模型,本章节将深入探讨以下几个关键点: 1. **网络互联的基本概念** 2. **早期网络互联方法:应用网关** 3. **现代网络互联方式:基于网络层的互联** 4. **网络互联的原则** 5....

    大学生网络技术专业课件之移动计算机网络概念.ppt

    本课件《移动计算机网络概念》主要涵盖了以下几个关键知识点: 1. **移动计算的概念与模型**: - 移动计算起源于对随时随地通信和信息处理的需求,它将计算能力与通信功能融合,允许用户在移动中进行计算和数据...

    网络安全的概念.pptx

    网络安全的概念 网络安全与管理 网络安全的概念全文共19页,当前为第1页。 1.1 网络安全的定义 从本质上来讲,网络安全就是网络上的信息安全,是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者...

    计算机网络的基本概念.pptx

    计算机网络的基本概念 计算机网络是指利用通信设备和网络软件,将地理位置分散且具有独立功能的多台计算机(包括其它终端...广域网是指覆盖范围在几十公里~几千公里的网络,主要用于分布在不同区域的计算机系统互联。

    网络知识分享(一)有线网络基本概念

    承载网的发展趋势主要体现在以下几个方面: 1. **统一承载网络的形成**:通过融合光层和数据层,实现业务的智能调度。 2. **技术演进**:从传统的TDM(时分多路复用)向全IP时代过渡。 3. **关键技术**:包括同步...

    网络基本概念

    计算机网络主要由以下几个部分构成: 1. **计算机连接设备**:包括但不限于交换机、路由器、调制解调器、光纤收发器等,它们负责在网络中传递数据。 2. **传输介质**:传输介质是指在发送者与接收者之间传递信息的...

    网络媒体要点-计算机网络概念与组成.ppt

    网络的功能主要体现在以下几个方面: 1. 资源共享:网络中的用户可以访问并使用其他计算机上的硬件资源(如打印机、存储设备)和软件资源(如应用程序、数据库)。 2. 数据通信:网络允许用户间快速交换信息,包括...

Global site tag (gtag.js) - Google Analytics