TCP/IP详解 第一章 概述
1 .分层
TCP/IP被认为是一个四层协议系统,与OSI七层标准的对应如下图所示,每一层的数据有不同形式,负责不通过的功能:
图1-1 OSI标准与TCP/IP网路架构对应图
(1)网络接口层:有时也被称为链路层或数据链路层,对应的是OSI七层模型中的物理层与数据链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
功能:它们一起处理传输媒介上的物理接口细节,如:实现比特传输,比特同步,组帧,流量控制,差错控制等。
(2)网络层:处理分组在网络中的活动,逻辑寻址、路由选择、分组转发。
(3)运输层:主要为两台主机上的应用程序提供端到端的通信,实现报文的分段与重组,SAP寻址(确保将完整报文提交给正确的进程),流量控制,连接控制等,包括TCP协议与UDP协议。
(4)应用层:对应OSI模型中的会话层、表示层与应用层,实现对话控制、同步功能,处理两个系统间交换信息的语法和语义问题,数据表示的转化,加密解密等,支持用户通过用户代理或网络接口使用网络。
1.1下面给出一个以太网中运行FTP文件传输协议的例子:
图1-2 局域网上运行FTP的两台主机
这是一个C/S(客户——服务器)模式的列子,客户访问服务器所在主机上的文件。
在图1-2中,下三层处理所有的通信细节,数据在网络中的传输活动,在操作系统中进行。应用层关心的则是应用程序。
1.2通过下图详述为什么对网络层和运输层进行划分。
图1-3 通过路由器连接的两个网络
多个网络连接在一起形成一个新的网络,互联网。图1-3中,通过路由器将以太网与令牌环网相连,两个网络中的任何主机便可进行通信,在上图中,应用层与运输层使用端到端协议,网络层使用逐跳协议。
网络层IP提供的是一种不可靠的服务,它只是尽可能快的把分组把分组从源节点送到目的节点,并没有可靠性保证。而TCP在不可靠的IP层上提供了一个可靠的运输层,采用超时重传、发送和接收端到端的确认分组等机制。
2.互联网的地址
互联网上的每个接口都有一个唯一的Internet地址(也称作IP地址),由互联网网络信息中心分配网络号,系统管理员分配主机号。IP地址长32bit,一共有5类IP地址,区分各地址最简单的方法是看它的第一个十进制整数。
(1)A类地址:0.0.0.0 ~ 127.255.255.255 主机号是后24位
(2)B类地址:128.0.0.0 ~ 191.255.255.255 主机号是后16位
(3)C类地址:192.0.0.0 ~ 223.255.255.255 主机号是后8位
(4)D类地址:224.0.0.0 ~ 239.255.255.255 后28位为多播组号
(5)E类地址:240.0.0.0 ~ 255.255.255.255 后27位待用
3.封装和分用
当应用程序用TCP传送数据时,数据被送入协议栈中,逐个通过每一层直到被当做一串比特流送入网络,其中每层对收到的数据需增加首部信息或尾部信息,IP首部中存在一个8bit的协议域,可表明数据属于哪一层,运输层协议在生成报文首部时存入一个应用程序标识符,表明用TCP还是UDP进行传输。具体过程如下图3-1所示:
图3-1 数据进入协议栈时的封装过程
分用:当目的主机收到一个以太网数据帧时,数据就开始从协议栈底部向上拆封,去掉各层协议加上的报文首部,下图显示该过程的发生:
图3-2 以太网数据帧的分用过程