第9章 因特网与TCP/IP协议
本章为次重点章节,其中TCP/IP体系结构的网络接口层协议、应用层协议、因特网服务资源考核要求均为“简单应用”。本章介绍因特网的TCP/IP体系结构、因特网的接入方式、因特网的服务资源等。要求重点掌握TCP/IP协议族。
1、概述
TCP/IP协议族是因特网的核心。TCP/IP体系结构是专门用来描述TCP/IP协议族的,从低到高共有五层:物理层、网络接口层、网络互联层、传输层、应用层。
· 应用层:包含了所有的高层协议,如FTP、TELNET、DNS、SMTP等。
· 传输层:负责在源主机和目的主机的应用程序之间提供端-端的数据传输服务,主要有传输控制协议TCP和用户数据报协议UDP。
· 网络互联层:负责将数据报独立地从信息源送到信宿,主要解决路由选择、阻塞控制、网络互联等问题,主要有互联网协议IP。
· 网络接口层:负责将IP数据报封装成适合在物理网络上传输地帧格式并传输,或将从物理网络接收到地帧解封,取出IP数据报交给上层地网络互联层。
· 物理层:只要能传输IP数据报,允许任何协议。
2、网络接口层协议
SLIP 的全称是 Serial Line IP 。它是一种在串行线路上对 IP 数据报进行封装的简单形式。在IP数据报以一个称作END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个END字符。如果 IP 报文中某个字符为 END ,那么就要连续传输两个字节 0xdb, 0xdc 来取代它。 0xdb 这个特殊字符被称作 SLIP 的 ESC 字符,但是它的值与 ASCII 码的 ESC 字符( 0x1b )不同。如果 IP 报文中某个字符为 SLIP 的 ESC 字符,那么就要连续传输两个字节 0xdb,0xdd 来取代它。
SLIP是一种简单的帧封装方法,还有一些值得一提的缺陷:
1.每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。
2.数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
3. SLIP没有在数据帧中加上检验和(类似于以太网中的CRC字段)。如果SLIP传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现。(另一种方法是,新型的调制解调器可以检测并纠正错误报文。)这样,上层协议提供某种形式的CRC就显得很重要。
PPP ,点对点通信协议修改了 SLIP 协议中的所有缺陷。 PPP 包括以下三个部分:
1 .在串行通信线路上组帧的方法。 PPP 既支持数据为 8 位和无奇偶检验的异步模式(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链接。
2 .建立、配置及测试数据链路的链路控制协议( LCP : Link Control Protocol )。它允许通信双方进行协商,以确定不同的选项。
3 .针对不同网络层协议的网络控制协议( NCP : Network Control Protocol )体系。PPP数据帧的格式看上去很像ISO的HDLC(高层数据链路控制)标准。每一帧都以标志字符0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。接下来是协议字段,类似于以太网中类型字段的功能。当它的值为0x0021时表示信息字段是一个IP数据报,值为0xc021时表示信息字段是链路控制数据,值为0x8021时表示信息字段是网络控制数据。CRC字段(或FCS,帧校验序列)是一个循环冗余检验码,以检测数据帧中的错误。由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充(bit stuffing)的硬件技术来完成的。在异步链路中,特殊字符0x7d用作转义字符。
因特网地接入方式:终端方式、SLIP/PPP方式、DDN专线、代理服务器方式、其他通信线路入网。