当前位置:首页 > 计算机网络基本原理
计算机网络基本原理
信,而是通过下一层为其提供的服务来间接与对端对等层交换数据。下一层通过服务访问点(SAP,Service Access Point)为上一层提供服务。例如,一个终端设备的传输层和另一个终端设备的对等传输层利用数据段进行通信。传输层的段成为网络层数据包的一部分,网络层数据包又成为数据链路层帧的一部分,最后转换成比特流传送到对端物理层,又依次到达对端数据链路层、网络层、传输层,实现了对等层之间的通信。
为了保证对等层之间能够准确无误地传递数据,对等层间应运行相同的网络协议。例如,应用层协议E-mail应用程序不会和对端应用层Telnet应用程序通信,但可以和对端E-mail应用程序通信。 2.5 数据封装与解封装
封装(encapsulation)是指网络节点(node)将要传送的数据用特定的协议头打包,来传送数据,有时候,我们也可能在数据尾部加上报文,这时候,也称为封装。OSI七层模型的每一层都对数据进行封装,以保证数据能够正确无误的到达目的地,被终端主机理解,执行。
Data H Data H H Data 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 主机
交换机
路由器
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 服务器
Data H Data H H Data
图2-8数据封装和解封装过程
以图2-8为例,让我们来看一下数据从主机到服务器的发送过程。
首先,主机的应用层信息转化为能够在网络中传播的数据,能够被对端应用程序识别;第二,数据在表示层加上表示层报头,协商数据格式,是否加密,转化成对端能够理解的数据格式;然后,数据在会话层又加上会话层报头;以此类推,传输层加上传输层报头,这时数据称为段(segment),网络层加上网络层报头,称为数据包(packet),数据链层加上数据链路层报头称为帧(frame);在物理层数据转换为比特流,传送到交换机(传统交换机只有物理层和数据链路层)物理层,在数据链路层组装为帧。交换机查询数据链路层报文,发现下一步数据帧应该发向路由器,于是交换机在物理层以比特流形式转发帧报文,将数据发向路由器;同理,路由器也逐层解封装:剥去数据链路层帧头部,依据网络层数据包头信息查找到服务器,然后封装数据发向服务器。服务器从物理层到应用层,依次解封装,剥去各层封装报头,提取出发送主机发来的数据。完成数据的发送和接收过程。
17
计算机网络基本原理
三 TCP/IP协议族
3.1 TCP/IP协议结构
TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网(Internet)”的基础。
与OSI参考模型一样,TCP(Transfer Control Protocol)/IP(Internet Protocol)协议(传输控制协议/网际协议)也分为不同的层次开发,每一层负责不同的通信功能。但是,TCP/IP协议简化了层次设计,只有五层:应用层、传输层、网络层、数据链路层和物理层。从图3-1可以看出,TCP/IP协议栈与OSI参考模型有清晰的对应关系,覆盖了OSI参考模型的所有层次。应用层包含了OSI参考模型所有高层协议。
OSI参考模型
TCP/IP
7 应用层 应用层 6 表示层 5 会话层 4 传输层 传输层 3 网络层 网络层 2 数据链路层 数据链路层 1
物理层 物理层 图3-1 TCP/IP协议和OSI参考模型
OSI参考模型与TCP/IP协议栈的异同点: 相同点
? 都是分层结构,并且工作模式一样,都要求层和层之间具备很密切的协
作关系;
? 有相同的应用层,传输层,网络层,数据链路层,物理层;(注意:这里
为了方便比较,才将TCP/IP分为5层,在其他很多文献资料里都把数据链路层和物理层合并为数据链路层或网络接口层-Network Access Layer),如图6-1所示;
? 都使用包交换技术(Packet-Switched);
18
5
4 3 2 1
计算机网络基本原理
不同点
? TCP/IP把表示层和会话层都归入了应用层; ? TCP/IP的结构比较简单,因为分层少;
? TCP/IP标准是在Internet网络不断的发展中建立的,基于实践,有很高
的信任度。相比较而言,OSI参考模型是基于理论上的,是作为一种向导! 3.2 TCP/IP协议栈
HTTP、Telnet、FTP 应用层 传输层 网络层 数据链路层 物理层
提供应用程序网络接口
TFTP、Ping 、etc TCP/UDP IP 寻址和路由选择
Ethernet、802.3、PPP 接口和线缆 物理介质访问 二进制数据流传输
图3-2 TCP/IP协议栈
物理层和数据链路层涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控。
网络层检查网络拓扑,以决定传输报文的最佳路由,执行数据转发。其关键问题是确定数据包从源端到目的端如何选择路由。网络层的主要协议有IP(Internet protocol)、ICMP(Internet Control Message Protocol,互联网控制报文协议)、IGMP(Internet Group Management Protocol,互联网组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议)等。
传输层的基本功能是为两台主机间的应用程序提供端到端的通信。传输层从应用层接受数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层的主要协议有TCP(Transfer Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)。
应用层负责处理特定的应用程序细节。应用层显示接收到的信息,把用户的数据发送到低层,为应用软件提供网络接口。应用层包含大量常用的应用程序,例如HTTP(Hypertext Transfer Protocol,超文本传输协议)、Telnet(远程登录)、FTP(File Transfer Protocol,文件传输协议)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)等。 3.2.1 网间互联协议IP
IP协议是INTERNET网上最重要的协议软件之一。它详细规定了INTERNET
19
建立端到端连接
计算机网络基本原理
网上的计算机进行通信时应当遵守的规则。IP负责在网络上传诵由TCP或UDP生成的数据段。IP协议对网络上的设备使用统一的网间网地址,即IP地址,并且根据IP地址确定路由和目的主机。
IP是网络层协议(第三层),它包括地址访问信息和路由数据包的控制信息。RFC791中有IP的详细说明,IP是Internet协议簇中的主要网络层协议,它与传输控制协议(TCP)一起,代表了Internet协议的核心。IP有两个主要功能,一是提供通过互联网络的无连接和最有效的数据报分发;二是提供数据的分组和重组,以支持最大传输单元(MTU)不同的数据链路。
版本 标识 志 生命期 源地址 目的地址 选项(+) 数据(可变) 协议 L IH型 标移 头校验和 段位32位 服务类总长度 图3-3 IP数据包的格式 3.2.2地址解析协议ARP/RARP
ARP实现IP地址到物理地址的转换,RARP实现物理地址到IP地址的转换。他们起着屏蔽物理地址的重要作用。物理地址,即为通常所说的MAC地址。MAC地址长48位(12个十六进制数字),IEEE定义了前6个十六进制数字表示制造商,后6个十六进制数字表示接口数或其他有用信息。末端设备一般只有一个MAC地址。Router和其它连网设备通常有多个MAC地址。 3.2.3 传输控制协议TCP
TCP的目的是保证可靠数据传输,提供无差错的通信服务。它把从上层应用程序传来的数据装配成标准的数据报,保证数据的正确传输。TCP是一种可靠的、面向连接的协议,并可以实现流控和差错控制。TCP提供的可靠性是利用一种称为“重传肯定确认(PAR)”机制来实现的。TCP是面向连接的,它在两个通信主机之间建立一个逻辑的端对端连接,通过握手来实现。TCP的流控是通过窗口来实现。
TCP提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。
建立TCP连接:
为了使用可靠的传输服务,TCP主机之间必须建立面向连接的会话。连接是通过使用“三路握手”机制建立的。
通过使两边使用相同的起始序列号,三路握手机制可同步一个连接的两端。这个机制也保证两边都为传输数据作好准备,并知道另一边已准备好要传输的数据。这样,在会话建立期间和会话结束后,数据包都不会被传送或重新传送。
每个主机都随机选择一个序列号,并用它跟踪正在发送和接收的数据流中的字节。然后,三路握手进行下面的动作:
第一个主机(主机A)通过发送一个请求连接数据包初始化连接,该数据包
20
共分享92篇相关文档