计算机⽹络:TCPIP协议栈概述
⽬录
参考模型
在⽹络刚刚被搞出来的年代,通常只有同⼀个⼚家⽣产的设备才能彼此通信,不同的⼚家的设备不能兼容。这是因为没有统⼀的标准去要求不同的⼚家按照相同的⽅式进⾏通信,所以不同的⼚家都闭门造车。为了解决这个问题,后来就产⽣出参考模型的概念。
参考模型是描述如何完成通信的概念模型,它指出了完成⾼效通信所需要的全部步骤,并将这些步骤划分为称之为“层”的逻辑组。分层最⼤的优点是为上层隐藏下层的细节,即对于开发者来说,如果他们要开发或实现某⼀层的协议,则他们只需要考虑这⼀层的功能即可。其它层都⽆需考虑,因为其它层的功能有其它层的协议来完成,上层只需要调⽤下层的接⼝即可。参考模型的优点如下:
1. 将⽹络通信过程划分为更⼩、更简单的组件,使得组件的开发、设计和排错更为⽅便;
2. 通过标准化⽹络组件,让不同的⼚商能够协作开发;
3. 定义了模型每层执⾏的功能,从⽽⿎励了⾏业标准化;
4. 让不同类型的⽹络硬件和软件能够彼此通信;
5. 避免让对⼀层的修改影响其它层,从⽽避免妨碍开发⼯作。
协议
计算机⽹络中的数据交换必须遵守事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题,⽹络协议 (network protocol)是为进⾏⽹络中的数据交换⽽建⽴的规则、标准或约定。⽹络协议有 3 个要素:
1. 语法:数据与控制信息的结构或格式;
2. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应;
3. 同步:事件实现顺序的详细说明。
OSI 模型
OSI 模型旨在以协议的形式帮助⼚商⽣产兼容的⽹络设备和软件,让不同⼚商的⽹络能够协同⼯作。同时对于⽤户⽽⾔,OSI 能帮助不同的主机之间传输数据。OSI 并⾮是具体的模型,⽽是⼀组指导原
则,开发者以此为依据开发⽹络应⽤。同时它也提供了框架,指导如何制定和实施⽹络标准、制造设备,以及制定⽹络互联的⽅案。
OSI 模型包含 7 层,上三层指定了终端中应⽤程序如何彼此通信,以及如何与⽤户交互,下四层指定了如何进⾏端到端数据传输。
应⽤层
上 3 层负责主机之间的应⽤程序通信,其中⽤户界⾯位于应⽤层。应⽤层是⽤户和计算机交互的层次,是⽤户唯⼀能够直接操作的场所。应⽤层可以让应⽤程序能够将信息沿着协议栈向下传输,充当了应⽤程序和下⼀层之间的接⼝。
应⽤层还负责确定⽬标通信⽅的可⽤性,并且判断对⽅是否有⾜够的资源。为什么应⽤层需要完成这个任务?因为很多⽹络应⽤的发展很
快,但是这些技术却超过了现有物理⽹络的极限。
表⽰层向应⽤层提供数据,并负责数据转换和代码格式化。表⽰层能够保证从⼀个系统的应⽤层传输⽽来的数据可被另⼀个系统的应⽤层读取。
会话层
会话层负责在表⽰层实体之间建⽴、管理和终⽌对话,对设备或节点之间的对话进⾏控制。简⽽⾔之,会话层的基本功能是将不同应⽤程序的数据分离。
传输层
传输层将数据进⾏分段并重组为数据流,位于传输层的服务将来⾃上层应⽤的程序进⾏分段和重组,
然后将它们合并到⼀个数据流中。传输层提供的是端到端的数据传输服务,并且可以在互联⽹络上的发送主机和⽬的主机之间建⽴逻辑连接。传输层提供的服务可以是有链接的,也可以是⽆连接的,可靠数据传输需要保证实现以下⽬标:tcpip协议pdf
1. 收到数据段后,向发送⽅进⾏确认;
2. 重传所有未得到确认的数据段;
3. 数据段到达⽬的主机之后,可以按序排列;
4. 确保数据流量不超过处理能⼒,避免拥塞、过载和丢包。
⾯向连接的服务应该具备以下特征:建⽴虚电路、使⽤排序技术、使⽤确认和使⽤流量控制。
⽹络层的任务是管理设备编址、跟踪设备在⽹络中的位置,并确认最佳的数据传输路径,这意味着⽹络层必须在位于不同⽹络中的设备之间传输数据流。⽹络层传输的分组有以下 2 种:
1. 数据分组:⽤于在互联⽹中传输⽤户数据;
2. 路由更新分组:路由器的⽹络更新信息,将这些信息告知邻接的路由器。这些分组是由路由选择协议产⽣的,常见的有 RIP、OSPF
和 EIGRP 协议等。
路由器维护路由表来完成分组转发,路由表包含⽹络地址、接⼝和度量值的信息。因为路由器的每个接⼝都属于不同的⽹络,所以必须给⽹络每个接⼝都分配不同的⽹络表⽰号,且与同⼀个接⼝相连的每台主机都必须使⽤相同的⽹络号。
数据链路层
数据链路层提供数据的物理传输,并且处理错误通知、⽹络拓扑和流浪控制。链路层将报⽂封装成数据帧,并加上链路层的报头,包头中有⽬标的硬件地址和源硬件地址。链路层传输数据的过程中,分组的本⾝没有被修改过,⽽是封装了必要的控制信息,以此实现通过不同的介质传输。
IEEE 以太⽹数据链路层包含 2 个⼦层:
1. 介质访问控制 (MAC) ⼦层:定义如何通过介质传输分组;
2. 逻辑链路控制 (LLC) ⼦层:负责识别⽹络层协议并进⾏封装。
⽹络层的设备需要确定⽹络的位置,⽽链路层的设备要确定设备的位置。链路层值把帧转发到⽬标硬件地址所属的⽹段,如果⽬标设备和发送设备处于同⼀个⽹段,链路层设备将阻⽌它进⼊其他⽹段。
物理层
物理层具有发送和接收⽐特的功能,OSI 以标准的形式定义了物理层接头和各种物理拓扑,让不同的系统能彼此通信。
TCP/IP 协议栈
OSI 没有被推⼴
OSI 只获得了⼀些理论研究的成果,但是因为⼀些原因没有被推⼴到商业层⾯上。原因包括:
1. OSI 的专家们在完成 OSI 标准时没有商业驱动⼒;
2. OSI 的协议实现起来过分复杂,且运⾏效率很低;
3. OSI 标准的制定周期太长,因⽽使得按 OSI 标准⽣产的设备⽆法及时进⼊市场;
4. OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
四层协议系统
OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂⼜不实⽤。⽽⽹络协议通常分不同层次进⾏开发,每⼀层分别负责不同的通信功能。TCP/IP 协议栈是⼀组不同层次上的多个协议的组合,它通常被认为是⼀个四层协议系统,每⼀层负责不同的功能:
1. 链路层,通常包括操作系统中的设备驱动程序和计算机中对应的⽹络接⼝卡,负责处理与电缆(或其他任何传输媒介)的物理接⼝细
节。
2. ⽹络层,有时也称作互联⽹层,处理分组在⽹络中的活动,例如分组的选路。
3. 运输层,主要为两台主机上的应⽤程序提供端到端的通信。
4. 应⽤层,负责处理特定的应⽤程序细节。
但是 TCP/IP 最下⾯的⽹络接⼝层(链路层)并没有具体内容,因此实际应⽤的是综合 OSI 和 TCP/IP 的优点的只有五层协议的体系结构。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。