计算机网络论文

您当前的位置:学术堂 > 计算机论文 > 计算机网络论文 >

以太网及TCP/IP协议介绍

来源:学术堂 作者:周老师
发布于:2016-05-16 共4813字

    本篇论文目录导航:

【题目】国内互联网完全问题探究  
【第一章】计算机网络安全防范探析绪论 
【第二章】以太网及TCP/IP协议介绍 
【第三章】网络流量分析系统设计 
【第四章】网络安全系统仿真测试与结果分析 
【总结/参考文献】计算机网络安全防护技术研究总结与参考文献


  第二章 以太网及 TCP/IP 协议介绍

  TCP/IP 协议[8]是 Internet 最基本的协议、Internet 国际互联网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求

  2.1 TCP/IP 和 DoD 模型

  TCP/IP 协议簇是由美国国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信。如果能进行正确的设计和应用,TCP/IP 网络将是可靠的并富有弹性的网络。

  DoD 模型类似于 OSI(Open System Interconnection)模型[9]的精简版,它包含 4 层:

  应用层;

  端到端层;

  因特网层;

  网络接入层;

  图 2.1 对 DoD 模型和 OSI 参考模型进行了比较[10].如图所示,这两个模型在概念上是相似的,但它们包含的层数不同,各层的名称也不同。

  DoD 模型的进程/应用层包含大量的协议,以集成分布在 OSI 上三层(应用层、表示层、会话层)的各种活动和职责。进程/应用层定义了用于节点间应用程序通信的协议,还定义了用户界面规范。

  主机到主机层的功能与 OSI 模型的传输层相同,定义了用于为应用程序提供传输服务的协议,它负责解决的问题包括进行可靠的端到端通信以及确保正确地传输数据,还对分组进行排序,确保数据的完整性。

  因特网层对应 OSI 模型的网络层,指定了与通过整个网络对分组进行逻辑传输相关的协议。它负责对主机进行编址--给它们分配 IP(因特网协议)地址,还在多个网络之间路由分组。

  DoD 模型的最底端是网络接入层,它在主机和网络之间交换数据。网络接入层对应 OSI模型的数据链路层和物理层,它负责硬件编址,并定义用于实际传输数据的协议。

  DoD 模型和 OSI 模型在设计和概念上相似,并且在对应用层的功能也类似。图 2.2 显示了 TCP/IP 协议簇以及其中协议对应的 DoD 模型层。

  2.2 基于 TCP/IP 协议簇的相关介绍

  进程/应用层协议涉及当下几乎所有路由器、交换机、服务器等网络通信及服务设备应用,了解这些应用对于我们分析、处理网络攻击行为极有裨益;主机到主机层的主要功能是对上层应用程序隐藏网络的复杂性,它通过上层说明对上层数据进行处理,为数据发送做准备。主机到主机层主要有两种协议:

  传输控制协议(TCP)

  用户数据包协议(UDP)

  2.2.1 网络协议 IP

  因特网层,I P 是 T C P / I P 协议簇中最为核心的协议。I P 提供不可靠、无连接的数据报传送服务。不可靠是它不能保证 I P 数据报能成功地到达目的地。I P 仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, I P 将丢弃该数据报,然后发送 I CM P 消息报给信源端。任何要求的可靠性必须由上层来提供(如 T C P)。无连接是 I P 并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明, I P 数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报,每个数据报都是独立地进行路由选择,可能选择不同的路线,因此两个数据报到达目的地的先后顺序也是不同的;IP 数据报的格式如图 2.3 所示。普通的 I P 首部长为 2 0 个字节(不包含选项字段)协议版本号标识当前数据 IP 版本。

  首部长度指的是首部占 32 bit 字的数目,包括任何选项。由于它是一个 4 比特字段,因此首部最长为 6 0 个字节。普通 I P 数据报(没有任何选择项)字段的值是 5.

  服务类型(TOS)字段包括一个 3 bit 的优先权子字段(现在已被忽略),4 bit 的 TOS 子字段和 1 bit 未用位但必须置 0.4 bit 的 TOS 分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit 中只能置其中 1 bit.如果所有 4 bit 均为 0,那么就意味着是一般服务。

  总长度字段是指整个 I P 数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道 I P 数据报中数据内容的起始位置和长度。由于该字段长 1 6 比特,所以 I P 数据报最长可达 6 5 5 3 5 字节。

  标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加 1.

  T T L(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L 的初始值由源主机设置(通常为 3 2 或 6 4),一旦经过一个处理它的路由器,它的值就减去 1.当该字段的值为 0 时,数据报就被丢弃,并发送 I C M P 报文通知源主机。

  首部检验和字段是根据 I P 首部计算的检验和码。它不对首部后面的数据进行计算。

  任选项,是数据报中的一个可变长的可选信息。

  子网掩码是一个长 32 位的值,让 P 分组的接收方能够将 IP 地址的网络 ID 部分和主机D 部分区分开来。网络管理员创建由 1 和 0 组成的 32 位子网掩码,其中的 1 表示 IP 地址的相应部分为网络地址或子网地址。并非所有网络都需要子网,这意味着网络可使用默认子网掩码。这相当于说 E 地址不包含子网地址。表 2-1 列出了 A 类、B 类和 C 类网络的默认子网掩码。这些默认子网掩码不能修改。

  2.2.2 传输协议 TCP 和 UDP

  TCP 接收来自应用程序的大型数据块,并将其划分成数据段。它给每个数据段编号,让接收主机的 TCP 栈能够按应用程序希望的顺序排列数据段。发送数据段后,发送主机的 TCP等待来自接收端 TCP 的确认,并重传未得到确认的数据段。发送主机开始沿分层模型向下发送数据段之前,发送方的 TCP 栈与目标主机的 TCP 栈联系,以建立连接。它们创建的是虚电路,这种通信被认为是面向连接的。

  UDP 是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,在网络中它与 TCP 协议一样用于处理数据包,但不提供数据包分组、组装和不能对数据包进行排序。

  TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。在一个 T C P 连接中,仅有两方进行彼此通信。T C P 通过下列方式来提供可靠性:

  图 2.4 所示为 TCP 首部的数据格式,如果不计算任选字段,它通常是 20 个字节。

  每个 T C P 段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上 I P 首部中的源端 I P 地址和目的端 I P 地址唯一确定一个 T C P 连接。有时,一个 I P 地址和一个端口号也称为一个插口(socket)。

  序号用来标识从 T C P 发端向 T C P 收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则 T C P 用序号对每个字节进行计数。序号是 32 bit 的无符号数,序号到达 23 2-1 后又从 0 开始。

  当建立一个新的连接时, S Y N 标志变 1.序号字段包含由这个主机选择的该连接的初始序号 I S N.该主机要发送数据的第一个字节序号为这个 I S N 加 1,因为 S Y N 标志消耗了一个序号。既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1.只有 AC K 标志为 1 时确认序号字段才有效。发送 AC K 无需任何代价,因为 32 bit 的确认序号字段和 AC K 标志一样,总是 T C P 首部的一部分。因此,我们看到一旦一个连接建立起来,这个字段总是被设置, AC K 标志也总是被设置为 1.

  T C P 为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。T C P 可以表述为一个没有选择确认或否认的滑动窗口协议。我们说 T C P 缺少选择确认是因为 T C P 首部中的确认序号表示发方已成功收到字节,但还不包含确认序号所指的字节。当前还无法对数据流中选定的部分进行确认。

  首部长度给出首部中 32 bit 字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占 4 bit,因此 T C P 最多有 6 0 字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

  T C P 的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个 16 bit 字段,因而窗口大小最大为 65535 字节。

  检验和覆盖了整个的 T C P 报文段: T C P 首部和 T C P 数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

  U D P 是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 U DP 数据报,并组装成一份待发送的 I P 数据报。这与面向流字符的 TCP 协议不同,U D P 数据报封装成一份 I P 数据报的格式,如图 2.5 所示U D P 不提供可靠性:它把应用程序传给 I P 层的数据发送出去,但是并不保证它们能到达目的地。应用程序必须关心 I P 数据报的长度。如果它超过网络的 M T U,那么就要对 I P数据报进行分片。如果需要,源端到目的端之间的每个网络都要进行分片。U D P 首部的各字段如图 2.6 所示端口号表示发送进程和接收进程,由于 I P 层已经把 I P 数据报分配给 T C P 或 U D P,因此 T C P 端口号由 T C P 来查看,而 U D P 端口号由 U D P 来查看。T C P 端口号与 U D P端口号是相互独立的。

  U D P 长度字段指的是 U D P 首部和 U D P 数据的字节长度。该字段的最小值为 8 字节。这个 U D P 长度是有冗余的。U D P 检验和覆盖 U D P 首部和 U D P 数据。

  物理网络层一般要限制每次发送数据帧的最大长度。任何时候 I P 层接收到一份要发送的I P 数据报时,它要判断向本地哪个接口发送数据,并查询该接口获得其 M T U.I P 把 M T U与数据报长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上。把一份 I P 数据报分片以后,只有到达目的地才进行重新组装。重新组装由目的端的 I P 层来完成,其目的是使分片和重新组装过程对运输层是透明的。已经分片过的数据报有可能会再次进行分片。I P 首部中包含的数据为分片和重新组装提供了足够的信息。

  2.2.3 应用层协议

  进程/应用层协议涉及当下几乎所有路由器、交换机、服务器等网络通信及服务设备应用。在实际应用中,网络设备通过 TCP 和 UDP 的端口号来确认上层应用协议,当用户知晓应用层所用协议时,通过对照表可以索引出该协议相对应的协议号。在 TCP/IP 协议中,TCP、UDP的端口号范围为 0~65535,而一般情况下,保留端口号 0~1023 用于知名协议的使用,应用与传输层对应的常用端口号举例,如下表 2.2 所示:

  2.2.4 以太网帧

  在 T C P / I P 协议族中,链路层主要有三个目的:

  (1) 为 I P 模块发送和接收 I P 数据报;(2) 为 AR P 模块发送 AR P 请求和接收 AR P 应答;(3) 为 RAR P 发送 R AR P 请求和接收 R AR P 应答。T C P / I P 支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网。以太网是当今 T C P / I P 采用的主要的局域网技术。它采用 C S MA/ C D 的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, MultipleAccess with Collision Detection)。它的速率为 10 Mb/s,地址为 48 bit.

  数据链路层负责将比特合并成字节,再将字节封装成帧。在数据链路层,我们使用帧封装来自网络层的分组,以便通过特定类型的介质进行传输。以太网工作站的职责是,使用 MAC 帧格式彼此传递数据帧。这利用 CRC (Cyclic RedundancyCbeck,循环冗余校验)提供了错误检测功能,但并非纠错。图 2-7 说明了 802.3帧和以太网帧的格式。

  2.3 本章小结

  本章阐述了 TCP/IP 协议簇和 DoD 模型的关系以及各层的重要术语和协议。T C P / I P 协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

  TCP/IP 是 Internet 最基本的协议、Internet 国际互联网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

返回本篇论文导航
相关内容推荐
相关标签:
返回:计算机网络论文