1、主要回顾计算机网络相关知识,了解计算机网络协议体系的基本内容。1.1 网络基础知识1.2 信息传输方式1.3 网络协议1.4 OSI参考模型1.5 TCP/IP协议簇1.6 网络应用层协议1.7 网络互联设备1.8 局域网技术什么是计算机网络?计算机网络是通过通信设施,将地理上分散的具有自治功能的多个计算机系统互连起来,进行信息交换,实现资源共享、互操作和协同工作的系统。计算机网络的要素 计算机 通信设备和通信线路 协议计算机网络的发展过程是计算机与通信(C&C,Computer and Communication)的融合过程。Internet 即因特网、国际互联网。实际上是由世界范围内众多计
2、算机网络联结而成的一个逻辑网络。它并非一个具有独立形态的网络,而是由计算机网络汇合成的一个网络集合体。网络带来的好处:资源共享(包括打印机、硬盘、光盘、绘图仪、扫描仪、应用软件、资料);信息交换和信息的集中与分散处理;提高可靠性、分担负荷和实现实时管理。网络的构成:信息(message):文字、数值、图形、声音、图像等 发送设备:又称“主机”(host)各种信息处理设备(计算机等)接收设备:同上 通信设备:负责主机间的通信控制和通信处理 传输媒介:各种电缆、光缆、无线电波等 通信协议:通信规则(无协议的两台设备可以连接但无法通信,如同讲不同语言的两人无法对讲)网络的分类:资源子网硬件资源(主机
3、、终端、I/O设备等)、软件资源、数据资源等,负责全网数据处理业务,向网络用户提供各种网络资源和网络服务;通信子网传输介质(电缆、光纤、无线电波等)、通信设备(交换机等),承担全网的数据传输、转接、加工和变换等通信处理工作。按网络的规模和地理位置,网络可分为:l局域网(Local Area Network,LAN)l 10km的范围,区域采用有线连接l 园区网/校园网(Campus networks)l广域网(Wide Area Network,WAN)l城域网(Metropolitan Area Network,MAN)l介于局域网和广域网之间的网络(又称“区域网”)l接入网 ANAN(Ac
4、cess Network)按网络权限关系,网络可分为:l内部网(Intranet)l外部网(EXtranet)按照拓扑结构,网络可以分为:总线型、星型、环形、树形、网状型按传输介质,网络可以分为:l有线网l光纤网l无线网数据通信的两种方式:模拟和数字信息的基本单位bit(比特):二进制数字,有0和1两种取值,分别代表0电压和+5V电压,传输1个二进制数字其信息量就是1bit。1bit=1位、8bits=1Byte(字节)、2Bytes=1Word(字)=1个汉字、1024Bytes=1KiloBytes=1KB(千字节)1024KB=1MegaBytes=1MB(兆字节)1024MB=1Gig
5、aBytes=1GB(吉字节)1024GB=1TeraBytes=1TB(太字节)一个ASCII(表示字符的编码)码=8bits 早期的PC内存=64KB 3.5英寸软盘的容量=1.44MB 一张CDROM光盘容量=650MB 一张DVD盘容量=4.3GB 一个典型视频服务器的容量=14TB比特率:每秒内传输的比特数,也称位率,用bits per second(bps)或bit/s表示。如数字信号每一比特的持续时间(位间隔)是500s(微秒),其比特率就是1/500s2000bps。1Kbps=1000bps 1Mbps=1000Kbps 1Gbps=1000Mbps 普通Modem56Kbp
6、s、ADSL Modem为512Kbps2Mbps带宽容量:通常指信号所占据的频带宽度,在被用来描述信道时,带宽是指能够有效通过该信道的信号的最大频带宽度.对于模拟信号而言,带宽又称为频宽,以赫兹(Hz)为单位。例如,模拟语音电话的信号带宽为3400Hz。对于数字信号而言,带宽指单位时间内链路能够通过的数据量。由于数字信号的传输是通过模拟信号的调制完成的,为了与模拟带宽进行区分,数字信道的带宽一般直接用波特率或符号率来描述。举例 50欧姆细铜缆的传输带宽10100Mbps,传输距离185米 50欧姆粗铜缆的传输带宽10100Mbps,传输距离500米 5类非屏蔽双绞线10Base-T为10Mb
7、ps、100米 5类UTP 100Base-TX(快速以太网)为100Mbps、100米 多模光纤100Base-FX为100Mbps、2公里 单模光纤100Base-LX为100Mbps、3公里 无线网络11Mbps、一个无线覆盖区100多米网络吞吐量:在任意给定时刻,网络应用程序(QQ、IE、MSN、视频点播等)跨越网络连接可用的网络带宽数量。由于网络应用程序都要消耗一部分网络带宽,因此留给其他应用程序的带宽数量相应减少,剩余的带宽数量总和就是网络吞吐量。通常其小于等于网络带宽容量。影响的因素主要有:PC或服务器的性能 局域网内的其他用户 数据包的路由 网络拓扑的设计 传输数据的结构连网的
8、计算机之间,信息以什么方式交换?“交换”(switching)类似转接把一条电话线转接到另一条电话线,使它们连通起来(建立连接、通信、释放连接)电路交换 分组交换电路交换举例 A 和 B 通话经过四个交换机 通话在 A 到 B 的连接上进行(交换机交换机交换机交换机用户线用户线中继线中继线BDCAC 和 D 通话只经过一个本地交换机通话在 C 到 D 的连接上进行(交换机交换机交换机交换机用户线用户线中继线中继线BDAC分组交换:也叫包交换,即把数据分组像包袋一样逐个发送。标志着第二代计算机网络的运用。在发送端,先把较长的报文划分成较短的、固定长度的数据段。报文1101000110101010
9、110101011100010011010010假定这个报文较长不便于传输数 据数 据数 据报文每一个数据段前面添加上首部构成分组。首部首部首部分组 1分组 2分组 3请注意:现在左边是“前面”分组交换网以“分组”作为数据传输单元。依次把各分组发送到接收端(假定接收端在左边)。数 据首部分组 1数 据首部分组 2数 据首部分组 3每一个分组的首部都含有地址等控制信息。分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。用这样的存储转发方式,最后分组就能到达最终目的地。接收端收到分组后剥去首部还原成报文。数 据首部分组 1数 据首部分组 2数 据首部分组 3收
10、到的数据数 据数 据数 据最后,在接收端把收到的数据恢复成为原来的报文。这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。报文1101000110101010110101011100010011010010H1A分组交换网BDECH5H6H4H2H3H1 向 H5 发送分组H2 向 H6 发送分组注意分组路径的变化!结点交换机主机H1A分组交换网BDECH5H6H4H2H3H1 向 H5 发送分组结点交换机主机在结点交换机 A 暂存查找转发表找到转发的端口在结点交换机 C 暂存查找转发表找到转发的端口在结点交换机 E 暂存查找转发表找到转发的端口最后到达目的主机 H5高效 动态分
11、配传输带宽,对通信链路是逐段占用。灵活 以分组为传送单位和查找路由。迅速 不必先建立连接就能向其他主机发送分组;充分使用链路的带宽。可靠 完善的网络协议;自适应的路由选择协议使网络有很好的生存性。重要性重要性在网络中,除了网络操作系统外,最重要的就是各种各样的网络协议。作用作用 信息在网络中的传递同人在街上走一样,要用规则来约束和规范。网络能有序、安全运行的一个很重要的原因就是它遵循一定的规范。网络里的这个规则就是通信协议。即通讯协议是网络社会中信息在网络的计算机之间、网络设备之间及其相互之间“通行”的交通规则。基本功能基本功能 不同类型的网络中,应用的网络协议也不一样。保证网络上信息能畅通无
12、阻、准确无误地被传输到目的地。通信协议的基本内容 通信协议规定信息交流的方式,信息在哪条通道间交流,什么时间交流,交流什么信息,信息怎样交流.举例:甲把文件传送到乙(1)(1)传送软件执行传送软件执行“命令命令”,向操作系统申请网络服务,向操作系统申请网络服务;(2)(2)操作系统通过网络模块来为传送软件提供服务操作系统通过网络模块来为传送软件提供服务;(3)(3)网络模块通过网卡的服务来为操作系统服务网络模块通过网卡的服务来为操作系统服务;(4)(4)最终通过一系列由应用软件、操作系统、网络模块、网卡硬件最终通过一系列由应用软件、操作系统、网络模块、网卡硬件的互相配合完成文件的传送操作。的互
13、相配合完成文件的传送操作。协议组成协议组成协议由语义、语法和时序三部分组成;语义规定通信双方彼此“讲什么”(含义),语法规定“如何讲”(格式),时序关系则规定了信息交流的次序(顺序)。各种各样的协议各种各样的协议理论上,只要有一套协议即可,但由于网络技术在不断发展,应用领域在不断拓宽,加上历史的原因,所以目前尚无一套统一可用的网络协议。计算机网络理论把网络通信过程定义成一个分层服计算机网络理论把网络通信过程定义成一个分层服务体系务体系 分层通信OSI模型(由ISO组织提出)人们为了能够彼此交流思想,借助了一种分层次的通信结构;层次之间密切相关,上层功能是建立在下层的基础上,下层为上层提供某些服
14、务,而且每层还应有相应的协议规则;网络通信情况与此类似,只是区分更细。网络设计人员把整个数据交换过程划分成层(layer),并制定了各层次上的协议,这种层就称为协议层(Protocol Layer)。为什么要分层?降低整个网络的复杂性 使网络接口标准化 推进网络程序的模块化发展 便于各联网系统间实施互操作 便于教学OSI参考模型是国际标准化组织ISO(International Standards Organization)制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层,结构如图所示物理层处于最底层,负责传送比特流 它从第二层数据链路层接收数据帧,并将帧的结构和内容串行发送,即
15、每次发送一个比特只与电信号技术和光信号技术的物理特征相关 这些特征包括用于传输信号电流的电压、介质类型以及阻抗特征。该层的传输介质是同轴电缆、光纤、双绞线等物理层可能受到的安全威胁是搭线窃听和监听 可以利用数据加密、数据标签加密,数据标签,流量填充等方法保护物理层的安全数据链路层处于OSI的第二层负责:发送和接收数据;端到端连接帧是该层的基本结构确保数据传送完整安全到达,需要具备:目标节点收到帧时,源节点必须收到一个响应 目标节点发响应帧前,必须先验证内容完整性网络层(Network Layer)的主要功能 完成网络中主机间的报文传输 源端到目的端的路由(在广域网中)使异构网络互连(存在寻址、
16、协议不同的网络中)在单个局域网中,网络层是冗余的传输层的主要功能:实现网络中不同主机上的用户进程之间可靠的数据通信。提供逻辑上的端到端的可靠连接会话层允许不同机器上的用户之间建立会话关系。类似传输层的普通数据的传送 在某些场合还提供了一些有用的增强型服务 允许用户利用一次会话在远端的分时系统上登录会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输 或限制只能单向传输(通过 提供令牌管理服务)表示层关心的是所传送的信息的语法和语义。一个典型例子是用一种一致选定的标准方法对数据进行编码。表示层还涉及数据压缩、解压、加密和解密应用层包含大量人们普遍需要的协议。对于需要通信的不同应用来说,
17、应用层的协议都是必须的。应用层协议用户可以自主开发应用层网络的用户接口(如上网软件等)表示层不同系统数据格式转换(如加解密)会话层进程(执行中的程序)间会话管理与会话同步(“会话”即用户间连接)传输层报文的正确传输(报文的生成、收发、组合与差错检查)网络层路由选择和流量控制(选择LAN间传输路径)数据链路层 帧的正确传输(帧的生成、收发与差错检查)物理层数据比特流(0、1)的正确传输(比特流的生成、收发与差错检查)在上述七层中,上五层一般由软件实现,而下面的两层是由硬件和软件实现的。在上述七层中,上五层一般由软件实现,而下面的两层是由硬件和软件实现的。对应层的实体之间通信数据从上层往下层传送,
18、往往要封装附加的信息(目的地址、错误检测码等);数据从下层往上层传送,则需要对应层相应去除所封装附加的信息。封装是指信息通过各层向下传递时,每层的软件负责加上它的报头(header)或报尾(Trailer)信息(每层都要封装从高层来的信息)。信息在OSI各层中的形态5432154321计算机 1AP2AP1计算机 2应 用 程 序 数 据应用层首部H510100110100101 比 特 流 110101110101注意观察加入或剥去首部(尾部)的层次应 用 程 序 数 据H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据H4运输层首部H3网络层首部H2
19、链路层首部T2链路层尾部5432154321计算机 1AP2AP1计算机 210100110100101 比 特 流 110101110101计算机 2 的物理层收到比特流后交给数据链路层H2T2H3H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2T2H3H4H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2网络层剥去分组首部后把分组的数据部分交给运输层H5应 用 程 序 数 据
20、H4H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2运输层剥去报文首部后把报文的数据部分交给应用层应 用 程 序 数 据H5应 用 程 序 数 据5432154321计算机 1AP2AP1计算机 2应用层剥去应用层 PDU 首部后把应用程序数据交给应用进程5432154321计算机 1AP2AP1计算机 2我收到了 AP1 发来的应用程序数据!协议:为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。局域网不同的网络结构和数据传输规则。不同的计算机之间必须使用相同的网络协议才能进行通信。Internet采用TCP/IP协议作为共同的通信协议,将世界范围内
21、许许多多计算机网络联结在一起,成为当今最大的和最流行的国际性网络,也被人们称为全球信息资源网。TCP/IP是internet国际互联网的基础通常说TCP/IP是指Internet协议族,是一个协议系列,包含了100多个协议。而不单单是TCP和IP。TCPIP中两个最基本最重要的协议 TCP(Transmission Control Protocol,传输控制协议)IP(Internet Protocol,网际协议)应用层网络接口层网际层 IP(各种应用层协议如TELNET,FTP,SMTP 等)运输层(TCP 或 UDP)TCP/IP协议族包括四个功能层:应用层、传输层、网络层及网络接口层1、
22、网络接口层 网络接口层包括用于物理连接、传输的所有功能。包含OSI模型的物理层和数据链路层2、网络层(Internet层)与OSI模型的网络层一致 受到的威胁有IP欺骗攻击3、传输层 与OSI模型的传输层一致 当前的主机到主机包括两个协议实体:传输控制协议(TCP)和用户数据报协议(UDP)4、应用层 应用层协议提供远程访问和资源共享 常见的应用包括Telnet服务、FTP服务、SMTP服务和HTTP服务等(1)应用层:负责支持网络应用。它所包含的协议包括支持Web的HTTP,支持电子邮件的SMTP和支持文件传输的FTP等协议。(2)传输层:负责把应用层消息递送给终端机的应用层。因特网上的传输
23、控制协议(Transfer Control Protocol,TCP)和用户数据包协议(User Datagram Protocol,UDP)这两种传输协议都能递送应用层消息。TCP提供面向连接服务,而UDP提供无连接服务。TCP为应用层提供许多重要的服务,包括保证把应用层消息递送到目的地,把很长的消息分割成比较小的消息段,提供超时监视和端对端的确认和重递送功能,提供流程控制方法使得源端能够根据拥挤情况调节传输速率。(3)网络层:为数据包安排从源端到终端的行程。因特网在网络层上有网际IP协议和网际控制消息协议(Internet Control Message Protocol,ICMP)等协议
24、。传输层协议就是依赖IP协议安排传输层消息段从源端到达终端的。(4)数据链路层:负责把数据帧从一个网络单元(主机或者交换机)递送到相邻网络单元。链路层协议包括Ethernet,ATM和端对端协议(Peer-Peer Protocol,PPP)等。由于数据包需要途经好几个链路才能从源端到达终端,因此数据包可能要沿着它所经历的路线由不同的链路层协议来处理。例如,一个数据包也许要由一个链路上的以太网协议和下一个链路上的PPP协议来处理。(5)物理层:物理层的主要工作是把整个数据帧从一个网络单元递送到相邻网络单元。物理层的责任是把数据帧中的数据从一个网络单元递送到相邻网络单元。这一层的协议则取决于链路
25、的实际的传输媒介,例如双绞线和单模态光纤。在这一层上就要规定位速率、传输电压的高低、调制方式和编码方法。应用层运输层网际层网络接口层主机A主机B路由器网络 2网络 1应用层运输层网际层网络接口层网际层网络接口层4321IP协议是网络层上的主要协议,同时被TCP协议和UDP协议使用 IP的主要任务是把来自TCP或者UDP协议执行软件装配的消息装配成数据包(datagram),负责安排数据包的传送路线以及在接收端把数据包还原成原来的消息段。数据包是IP使用的传输单元。IP协议的主要内容是定义IP数据包标题(Internet Protocol Datagram Header),它由6个32位长共计2
26、4个字节组成。如果不使用“选择(option)”域,最短的标题是5个32位长的字与网际协议IP一起工作的一个协议是网际控制消息协议ICMP(Internet Control Message Protocol)。在把消息从发送端传输到接收端的过程中可能会出现许多问题,例如生存时间TTL定时器到时,网关设备把数据包错送到其他地方等问题。让发送者知道数据包传输过程中出现的问题是很重要的事情,ICMP协议就是为这个目的开发的协议。以太网数据包以太网数据包头头IP头头TCP/UDP/ICMP/IGMP头头数据数据版本号(Version Number)域:4位长的版本号域包含协议软件使用的IP版本号,接收
27、软件根据版本号就可以知道如何处理标题中的其他域的内容。目前使用最广泛的版本号是4。虽然有几个系统正在测试第6版本,叫做下一代网际协议(IPng)IPv6,但因特网和大多数局域网目前还不支持这个新协议。标题长度(Header Length)域:4位长的标题长度域包含由发送端创建的IP标题的总长度。最短的标题长度为20个字节,最长为24个字节。服务类型(Type of Service)域:8位长的服务类型域用来引导IP如何处理数据包,它的格式如下:前3位表示数据包的优先权(precedence),数值越大表示优先权越高,但执行TCP/IP的大多数软硬件在实际中都不管这个域的值,对数据包的先后传送次
28、序都一视同仁。后面3个1位的标志域分别是延迟(delay)、吞吐量(throughput)和可靠性标志。如设置为0,表示正常值;如果设置成1,则分别表示低延迟、高吞吐量和高可靠性。当前的软硬件也都不管它们的设置。数据包长度(Datagram Length)域:16位长的数据包长度域中的数值是数据本身的字节数和标题长度的字节数之和。一个IP数据包的最大长度为65 535个字节。标识(Identification)域:该域包含一个由发送端创建的唯一的标识号,它在接收端用来引导如何把数据包还原出原来的消息。标志(Flags)域:该域用来控制数据包的分块。由于一个IP数据包的最大长度不能超过65 53
29、5个字节,因此有可能要把消息分成碎块。当DF(Dont Fragment)0,表示数据包可以分成碎块,当DF1,表示数据包不可以分碎块。MF(More Fragments)0,表示最后的一个碎块,MF1表示后面还有碎块要处理。数据块偏移量(Fragment Offset)域:当MF(More Fragments)1时,该域包含有碎块的位置信息。生存时间TTL(Time to Live)域:该域包含有数据包在网络上保留的时间,其值由发送端设置,通常设置为15秒或者30秒。传输协议(Transport Protocol)域:该域包含有传输协议的标识号。目前定义和指定了大约50个传输协议号。两个最重
30、要的协议是网际控制消息协议(Internet Control Messages Protocol,ICMP),协议号为1,和传输控制协议(Transfer Control Protocol,TCP),协议号为6。标题检查和(Header Checksum):该域的值仅由这个协议标题域中的值计算得到,不计算数据域中的值。检查和的计算方法将在后面介绍。发送端地址和目的地地址(Sending Address and Destination Address):该域包含创建数据包(datagram)时生成的32位IP地址。选择(Options)域:主要用来提供安全保证的方法,有兴趣的读者请参看RFC 7
31、91。地址(address)的含义很多,它可以指发送端地址、接收端地址、机器的端口地址、存储器地址、应用程序地址等。因此遇到这个术语时需要倍加小心,确信它所指的真正含义。网络地址(network address)类似于信函上的地址,它告诉传输系统把数据包(datagram)递送到何处去。在因特网上与地址相关的术语主要有3个:名称(name)、地址(address)和传输路线(route)。名称是一台机器、一个用户或者一个应用软件的唯一的标识符,它为数据包(datagram)提供一个绝对目标;地址用来标识这个绝对目标所在的位置,通常是它指网络上的物理位置或者逻辑位置;传输路线是告诉传输系统如何从
32、这个地址中获取数据包。网络上需要与他人通信的任何一台设备都需要一个唯一的地址物理地址(physical address),有时也叫做硬件地址。在一个给定的网络上一个物理地址只能出现一次,否则域名服务系统就无法准确确定目标设备。硬件地址通常设计在网络接口卡上,通过开关或者软件进行设置。IP地址中的每一个8位组用0255之间的一个十进制数表示。这些数之间用点“.”隔开 最小的IPv4地址值为0.0.0.0,最大的地址值为255.255.255.255,两者都没有分配给任何系统。每一个IP地址包括两部分:网络地址和主机地址,示意图如下图32 BitsNetworkHost8 Bits8 Bits8
33、Bits8 BitsA类NHHHB类NNHHC类NNNHD类无结构E类保留用于研究IP地址分成五类:A类地址、B类地址、C类地址、D类地址和E类地址N=网络地址网络地址H=主机地址主机地址高端高端Bits十进置表示十进置表示地址类别地址类别0101101 126128 191192 223ABC有128种可能取值:但是0.0.0.0地址没有分配,127.0.0.0已被保留作闭环实际上只有126个A类网:范围从1.0.0.0到126.0.0.0,每一个A类支持 16,777,214个不同的主机地址A类地址的目标是支持巨型网络0#HHHB类地址的目的是支持中到大型的网络B类地址的第1个8位组的前两
34、位总是设置为1和0,所以第一个数字的范围是128191每一个B类地址能支持65,534个惟一的主机地址10#HHC类地址用于支持大量的小型网络C类地址的前3位数为110,前两位和为192(128+64),C类网络地址第一个数字的范围从192223最后一个8位组用于主机寻址。每一个C类地址理论上可支持最大2 5 6个主机地址(0255),但是仅有254个可用110#HD类地址用于在IP网络中的组播(Multicasting)。一个组播地址是一个惟一的网络地址,可以分配给预定义的IP地址组。D类地址的前4位恒为1110,第一个数字的范围是2242391110#E类地址虽被定义为保留研究之用。因此I
35、nternet上没有可用的E类地址。E类地址的前4位为1,因此有效的地址范围从240.0.0.0至255.255.255.254。1111#IPv4,是一个古老的协议,在70年代末、80年代初被构思出来,他出色的工作了这么长时间,但随着技术发展,暴露了许多不足:有限的寻址空间:IPv4将地址空间限制在了32位以内。许多操作效率不高自IPv4产生之后,人们对数据网络的认识提高了许多,IPv4制约了技术的发展。为避免地址资源全面用完的尴尬局面,IETF早就开始了下一版IP协议的研究,名为IPv6。IPv6的一个主要优点是将地址空间从32位提升到了128位(16个字节)。IPv6IPv6的设计宗旨主
36、要是扩展的设计宗旨主要是扩展IPIP地址空间,同时使协议使用起地址空间,同时使协议使用起来更加简单、操作更加高效。来更加简单、操作更加高效。IPv6IPv6在以下方面解决在以下方面解决IP4IP4的存在问题:的存在问题:(1)(1)扩展寻址和路由选择能力;扩展寻址和路由选择能力;(2)(2)包头格式的简化;包头格式的简化;(3)(3)服务功能的质量;服务功能的质量;(4)(4)安全性和保密性;安全性和保密性;(5)(5)IPIP的可移动性。的可移动性。IPv6IPv6与与IPv4IPv4最引人注目的区别是寻址空间从最引人注目的区别是寻址空间从3232位增加到位增加到128128位,位,2 21
37、28128能够容纳能够容纳100100亿人每人拥有至少亿人每人拥有至少100100台计算机所需要台计算机所需要的地址,从根本上解决了的地址,从根本上解决了IPIP地址的分配问题。地址的分配问题。域名(Domain Name)是连接到网络上的计算机或者计算机组的名称,在数据传输时用来标识计算机的电子方位,有时也指地理位置。域名通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型和所在的国家或者地区。例如,域名 ,其中microsoft是组织名,com是commercial的缩写,代表商业组织。在美国使用的其它后缀包括gov(政府)、edu(教育机构)、org(组织,一般指非盈利组织)
38、以及net(网络,ISP使用)。在美国以外,两个字的后缀表示该域所在的国家或者地区,例如 uk(英国)、de(德国)、jp(日本)。例如,其中,cn:表示在中国的I:表示中国邮电部负责组建的Internet商业网,即ChinaNET :表示北京地区的ChinaNET :表示北京地区ChinaNET上一台联网服务器的名字人们经常使用收发者的名字来指定一个用户名或者一台机器。根据指定的名称,通过称为域名服务器(Domain Name Server,DNS)也叫做名称服务器(name server)的网络软件包去分析物理地址。例如,当发送电子邮件时,你可简单地指出接收者的名称,域名服务器就会想办法解
39、决如何把电子邮件传送给接收者。使用域名服务器除了把名称转换成地址和传输路径之外,也为系统管理员或者网络管理员提供许多方便,更改网络时就不必要把更改内容告诉每一台机器。域名系统(DNS)是Internet中一种简单和易于扩展的目录系统。它最重要的功用是将采用这种形式的一个机器名称翻译成数字形式的IP地址。对普通人来说,显然不可能记住大量地址,特别是当地址没有语义上的关联时。此外,IP地址大多是动态分配的,IP地址的记忆通常是件没有意义的事情。但在另一方面,网络层能够识别和处理的只能是这种形式的地址。因此,有必要设置一个易于伸缩的系统,将一个名字动态地翻译成IP地址。域名或IP地址只能识别到计算机
40、及其所在网络,但如要识别到人,使用Internet的某些服务,如收发E-mail,则需要使用电子邮箱地址。电子邮箱地址的格式为:用户名服务器域名需要在主机上设置DNS解析的主机,将主机的DNS的解析指向虚拟机,如图所示。子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。具体操作:将两台计算机各自的IP地址与子网掩码进行二进制“与”(AND)运算后,结果相同则表明在同一子网计算机A的IP地址为192.168.0.1,子网掩码为255.255.255.0,将转化为二进制进行“与”运算,运算过程如表所示IP地址11010000.10101000.00000000.00000001子
41、网掩码11111111.11111111.11111111.00000000IP地址与子网掩码按位“与”运算11000000.10101000.00000000.00000000运算的结果转化为十进制192.168.0.0计算机B的IP地址为192.168.3.1,子网掩码为255.255.255.0,将转化为二进制进行“与”运算。运算过程如表所示。IP地址11010000.10101000.00000011.00000001子网掩码11111111.11111111.11111111.00000000IP地址与子网掩码按位“与”运算11000000.10101000.00000011.000
42、00000运算的结果转化为十进制192.168.3.0计算机C的IP地址为192.168.0.4,子网掩码为255.255.255.0,将转化为二进制进行“与”运算。运算过程如表所示IP地址11010000.10101000.00000000.00000100子网掩码11111111.11111111.11111111.00000000IP地址与子网掩码按位“与”运算11000000.10101000.00000000.00000000运算的结果转化为十进制192.168.0.0如果因特网协议堆按5层来划分,第4层就是传输层(transport layer),它是应用层(第5层)和网络层(第3
43、层)之间的接口。传输层为应用层上的应用提供两类截然不同的服务:第一类服务叫做可靠的面向连接服务(connection-oriented service),确保正确无误地把消息从源端传送到目的地,使用的协议是TCP协议。第二类服务是不可靠的无连接服务(unreliable,connectionless service),使用的协议是用户数据包协议UDP(U User D Datagram P Protocol)。一般来说,应用层协议运行在操作系统之上,而传输层协议集成在操作系统之中。因此,当设计网络应用时,设计人员必需要指定指定其中的一种网络传输协议,网络多媒体应用通常使用UDP协议。至于到底选
44、用TCP还是UDP,则完全由应用(程序)决定。传输控制协议TCP的特点是:提供可靠的、面向连接的数据报传递服务。传输控制协议可以做到如下的六点:1、确保IP数据报的成功传递。2、对程序发送的大块数据进行分段和重组。3、确保正确排序以及按顺序传递分段的数据。4、通过计算校验和,进行传输数据的完整性检查。5、根据数据是否接收成功发送消息。通过有选择的确认,也对没有收到的数据发送确认。6、为必须使用可靠的基于会话的数据传输的程序提供支持,如数据库服务和电子邮件服务。传输控制协议TCP是TCP/IP协议堆中的一部分。消息在网络内部或者网络之间传递时要打包,TCP负责把来自高层协议的数据装配成标准的数据
45、包,相当于在数据包上贴包装清单,而IP则相当于在数据包上贴收、发人的姓名和地址,TCP和IP之间要进行相互通信才能完成数据的传输。IP主要负责在计算机之间搬运数据包,而TCP主要负责传输数据的正确性。TCP是传输层上的协议,该协议定义在RFC 793,RFC 1122,RFC 1323和RFC 2001文件中。目前,TCP协议比UDP协议用得更广泛,也更复杂。TCP是面向连接的协议。面向连接的意思是在一个应用程序开始传送数据到另一个应用程序之前,它们之间必须相互沟通,也就是它们之间需要相互传送一些必要的参数,以确保数据的正确传送。TCP是全双工的协议。全双工(full duplex)的意思是,
46、如果在主机A和主机B之间有连接,A可向B传送数据,而B也可向A传送数据。TCP也是点对点的传输协议,但不支持多目标广播。TCP连接一旦建立,应用程序就不断地把数据送到TCP发送缓存(TCP send buffer),如图所示TCP就把数据流分成一块一块(chunk),再装上TCP协议标题(TCP header)以形成TCP消息段(TCP segment)。这些消息段封装成IP数据包(IP datagram)之后发送到网络上。当对方接收到消息段之后就把它存放到TCP接收缓存(TCP receive buffer)中,应用程序就不断地从这个缓存中读取数据。TCP为应用层和网络层上的IP提供许多服务
47、,其中3个最重要的服务是:(1)可靠地传输消息:为应用层提供可靠的面向连接服务,确保发送端发出的消息能够被接收端正确无误地接收到。接收端的应用程序确信从TCP接收缓存中读出的数据是否正确是通过检查传送的序列号(sequence number)、确认(acknowledgement)和出错重传(retransmission)等措施给予保证的。(2)流程控制:连接双方的主机都给TCP连接分配了一定数量的缓存。每当进行一次TCP连接时,接收方主机只允许发送端主机发送的数据不大于缓存空间的大小。如果没有流程控制,发送端主机就可能以比接收端主机快得多的速度发送数据,使得接收端的缓存出现溢出。(3)拥挤控
48、制:TCP保证每次TCP连接不过分加重路由器的负担。当网络上的链路出现拥挤时,经过这个链路的TCP连接将自身调节以减缓拥挤。TCP递给IP的数据块叫做消息段(segment)。这个消息段由TCP协议标题域(TCP header field)和存放应用程序的数据域(header fields)组成,如图所示。TCP协议标题有很多域组成。(1)源端端口号(Source Port Number)域和目的地端口号(Destination port Number)域:前者的16位域用来识别本机TCP;后者的16域用来识别远程机器的TCP。(2)顺序号(sequence number)域和确认号(ackn
49、owledgment number)域:这两个域是TCP标题中两个最重要的域。32位的顺序号域用来指示当前数据块在整个消息中的位置,而32位的确认号域用来指示下一个数据块顺序号,也可间接表示最后接收到的数据块顺序号。顺序号域和确认号域由TCP收发两端主机在执行可靠数据传输时使用。TCP在建立连接的时候需要三次确认,俗称“三次握手”。TCP协议的三次“握手”如下:TCP连接不是端对端的TDM或者FDM线路连接,因为收发端之间的路由器并不维持TCP连接的任何状态,TCP连接状态完全是留驻在收发两端的主机中。现在让我们来分析TCP连接建立的过程。假设主机A想与主机B建立TCP连接,主机A就发送一个特殊的TCP“连接请求消息段(connection request segment)”给主机B,这个消息段封装在IP数据包中,然后发送到因特网。主机B接收到这个消息段之后就分配接收缓存和发送缓存给这个TCP连接,然后就给主机A回送一个“允许连接消息段(connection-granted segment)”。主机A接收到这个回送消息段之后也分配接收缓存和发送缓存,然后就给主机B回送“确认消息段(acknowledgement segment)”,这时主机A和主机B之间就建立了TCP连接,它们就可在这个连接上相互传送数据。由于主机A和主机B之间连接要连续交换3次消息,因此把这种TCP连接建立的方