正文

了解TCP/IP2007-02-27 15:07:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/niao0311/23531.html

分享到:

Internet是由上亿台计算机互联组成的,要能正确地访问每台机器、使数据在Internet中正确传播需要一个协议进行控制。Internet使用的这一协议就是TCP/IP。  


什么是TCP/IP  

这是一组通信协议的代名词。它本身指两个协议:TCP��网络传输控制协议,IP��网际协议。 


IP(网间协议):Internet将消息从一个主机传递到另一个主机使用的协议称为网间协议(IP),这是Internet网络协议。网间协议负责将消息发送到指定接收主机。可以使用广域网或局域网,高速网或低速网,无线网或有线网等几乎所有类型的网络通信技术。  


TCP(传输控制协议):消息在传送时被分割成一个个的小包,传输控制协议(TCP)负责收集这些信息包,并将其按适当的次序放好来发送,在接收端收到后再将其正确地还原。传输控制协议处理了IP协议中没有处理的通信问题,向应用程序提供可靠的通信连接,能够自动适应网络的变化。它保证数据包在传送中正确无误。  

在Internet中,网间协议和传送协议配合工作,即我们常说的TCP/IP协议。TCP/IP协议采用层次体系结构,从上而下分为应用层,传输层,网际层和数据链路层,每一层都实现特定的网络功能。如图1(图1见TCP/IP分层模型.doc)所示。 


数据链路层  

数据链路层提供了TCP/IP与各种物理网络的接口。物理网络指的是各种局域网和广域网,如Ethernet和X.25公共分组交换网等。其还为网络层提供服务。 


网际层  

网际层解决了计算机与计算机之间的通信问题,这一层的通信协议统一为IP协议。IP协议具有以下几个功能: 


管理Internet地址:Internet上的计算机都要有唯一的地址,即IP地址。  


路由选择功能:数据在传输过程中要由IP通过路由选择算法,在发送方和接送方之间选择一条最佳的路径。  


数据的分片和重组:数据在传送过程中要经过多个网络,每个网络所规定的分组长度不一定相同。因此,当数据经过分组长度较小的网络时,就要分割成更小的段。当数据到达目的地后,还需要由IP进行重新组装。  

●传输层 

IP协议仅仅负责数据的传送,而不考虑传送的可靠性和数据的流量控制等安全因素。传输层提供了可靠传输的方法。传输层常用的协议是TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供了可靠传输的机制,它能够自动检测丢失的数据并自动重传,弥补IP协议的不足。TCP和IP总是协调一致地工作,一确保数据的可靠传输。 

●应用层 

应用层提供了网络上计算机之间的各种应用服务,如Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、HTTP(超文本传输协议)和Gopher等。几乎所有的应用程序都有自己的协议。 

在网际上源主机的协议层与目的主机的同层协议通过下层提供的服务实现对话。在源和目的主机的同层实体称为伙伴(peers),或叫对等进程。它们之间的对话实际上是在源主机上从上到下然后穿越网络到达目的主机后在从下到上到达相应层。下面以使用TCP协议传输文件(如FTP应用程序)为例说明TCP/IP的工作原理: 


在源主机上应用层将一串字节流传给传输层。  


传输层将字节流分成TCP段,加上TCP包头交给网际(IP)层。  


IP层生成一个包,将TCP段放入其数据域,并加上源和目的主机的IP地址。将IP包交给数据链路层。  


数据链路层在其帧的数据部分装IP包,发往目的主机或IP路由器处。  


在目的主机,数据链路层将数据链路层帧头去掉,将IP包交给网际层。  


IP层检查IP包头,如果包头中的检查和与计算出来的不一致,则丢该包。  


如果检查一致,IP层去掉IP头,将TCP段交给TCP层,TCP层检查顺序号来判断是否为正确的TCP段。  


TCP层为TCP包头计算TCP头和数据。如果不对,TCP层丢弃这个包,若对,则向源主机发送确认。  


在目的主机,TCP层去掉TCP头,将字节流传给应用程序。  

10.于是目的主机收到了源主机发来的字节流,就象直接从源主机发来的一样。实际上每往下一层,便多加了一个报头,而这个头对上层来说是透明的,上层根本不知道。如图2所示(图2见在以太网上基于TCP/IP的FTP打包过程.doc)。  



IP地址的表示形式  

Internet和我们直接发生关系的既不是物理网,也不是网络协议,而是网络应用软件和应用程序。它们是我们使用网络时必须借助的基本工具,是我们与网络打交道的交互界面和入口。这些网络应用程序与在单个计算机上运行的单用户应用程序不同,它离开网络使用将没有意义。目前网络应用程序很多,如:Mail、telnet、ftp、archie、gopher、WAIS和WWW浏览器等。要上网,就必须了解Internet的地址和域名等基本常识。Internet的地址就像我们身边的街道号码,用来标示网上计算机的“住址”。Internet实际上是一个大型的TCP/IP网络,在Internet上进行信息交换的基本要求就是网上的所有主机必须具有唯一的地址,就象日常生活中朋友之间相互通信需要写明通信地址一样。Internet地址分为两种形式:用数字表示的IP地址和用字母表示的域名地址。 

在Internet上为每台主机指定的地址称为IP地址。其是唯一的,具有固定、规范的格式。每个IP地址含32位,被分为4段,每段8位,段与段之间用句点分隔。为了便于表达和识别,IP地址是以十进制形式表示的,每段所能表示的十进制数最大不超过255。IP地址由两部分组成,即网络号(NetgworkID)和主机号(HostID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表。IP地址根据网络号和主机号的数量而分为A、B、C三类: 


A类IP地址:用7位来标识网络号,24位标识主机号,最前面一位为“0”,即A类地址的第一段取值介于1~126之间。A类地址通常为大型网络而提供,全世界总共只有126个只可能的A类网络,每个A类网络最多可以连接16777214台主机。  


B类IP地址:用14位来标识网络号,16位标识主机号,前面两位是“10”。B类地址的第一段取值介于128~191之间,第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台主机。  


C类IP地址:用21位来标识网络号,8位标识主机号,前面三位是“110”。C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络号。最后一段标识网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。  

所有的IP地址都由国际组织NIC(NetworkInformationCenter)负责统一分配,目前全世界共有三个这样的网络信息中心: 

?InterNIC:负责美国及其他地区; 

?ENIC:负责欧洲地区; 

?APNIC:负责亚太地区。 

我国申请IP地址要通过APNIC,APNIC的总部设在日本东京大学。申请时要考虑申请哪一类IP地址,然后向国内的代理机构提出。 

我们注意到前面讲的IP地址都是以数字形式表示主机的地址的,这种IP地址人们记忆起来是非常困难的。对非计算机和网络的专业人士来说,记住这种地址是很不现实的。因此,Internet还采用域名地址来表示每台主机。通过为每台主机建立IP地址与域名地址之间的映射关系,用户可以在网上避开难以记忆的IP地址,而用域名地址来唯一标记网上的计算机。域名地址与IP地址的关系类似于一个人的姓名与身份证号码之间的关系。 

要把计算机连入Internet,必须获得网上唯一的IP地址与对应的域名地址。域名地址由域名系统(DNS)管理。每个连到Internet的网络中都有至少一个DNS服务器,其中存有该网络中所有主机的域名和对应的IP地址,通过与其他网络的DNS服务器相连就可以找到其他站点。这也就是在TCP/IP属性中要进行DNS配置的原因。 

域名地址是分段表示的,每段分别授权给不同的机构管理,各段之间用圆点分隔。与IP地址相反,各段自左至右越来越高。 

Internet对某些通用性的域名作了规定。例如,com是工商界域名,edu是教育界域名,gov是政府部门域名,等等目前共有14种如表1所示。此外,国家和地区的域名常用两个字母表示。例如,fr表示法国,jp表示日本,us表示美国,uk表示英国,cn表示中国,等等。如果在一个域名的末尾没有找到地理域,就可以假定该域名是自美国的,其他国家的右边第一域名则代表国家。 

表1 


从用户的角度看,TCP/IP协议提供一组应用程序,主要包括: 

1.远程登录协议(Telnet) 

2.文件传输协议(Ftp) 

3.电子邮件服务(Email) 

4.Internet漫游服务(WWW服务) 

5.简单邮件传输协议(SMTP) 

6.信息服务(Gopher) 

7.文件检索服务(Archie) 


远程登录协议(Telnet)  

用Telnet可以登录到远程服务器上并进行信息访问,可访问所有的数据库、联机游戏、对话服务以及电子公告牌,如同与被访问的计算机在同一房间中工作一样。 


文件传输协议(Ftp)  

运用FTP可以从网上得到许多应用程序和信息。最初的FTP程序是工作在UNIX系统下的,而目前的许多FTP程序是工作在Window95下的,FTP程序除了完成文件的传送之外,还允许用户建立与远程计算机的连接,登录到远程主机上,并可在远程主机上的目录间移动。 

●电子邮件服务(Email) 

电子邮件是Internet提供的使用最广泛的服务。通过电子邮件,可以与Internet上的任何人交换信息。电子邮件的快速、高效、方便以及价廉,使得越来越多的人热衷于这项服务。目前,全球平均每天约有几千万份电子邮件在网上传输。 


Internet漫游服务(WWW服务)  

实际上,现在大家使用最多的应该是WWW服务,它同其它Internet程序的最大区别就是它的界面对我们有很大的吸引力,通过WWW服务,只要用鼠标单击加亮的词或者短语,就可以到达世界上的任何地方。由于WWW服务使用的是超文本链接,所以可以很方便的从一个信息页转换到另一个信息页。它不仅能查看文字,还可以欣赏图片、音乐、动画。最流行的WWW服务的程序就是Navigator和IE了。 


简单邮件传输协议(SMTP)  

SMTP是TCP/IP协议族的一个成员,这种协议认为你的主机是永久连接在Internet上的,而且,认为你在网络上的主机在任何时候是可以被访问的。所以,它适用于永久连接在Internet的主机,但是无法使用通过SLIP/PPP连接的用户接收电子邮件。解决这个问题的办法是在邮件主机上同时运行SMTP和POP协议的程序,SMTP负责邮件的发送和在邮件主机上的分拣和存储,POP协议负责将邮件通过SLIP/PPP连接传送到用户的主机上。 

●信息服务(Gopher) 

Gopher最早出现在1991年,它其实是第一个操作简便、使用广泛的从Internet服务器上获取信息的客户应用程序。除了操作简便外,它的另一个特点是速度快。Gopher运行时,将显示一个交互式的供用户选择的菜单,菜单中的选项由简单的短句组成,每个短句通常指向另一个菜单,并最终指向有用的文件。 

Gopher是帮助用户在Internet信息海洋中搜索有用信息的导航器。用户只要关心浏览的内容,而不必关心具体的服务器。 


文件检索服务(Archie)  

它是一种从整个Internet上匿名FTP服务器获取文件的服务。其完全依赖于匿名FTP系统的管理员,他们将他们的站点对全世界的Archie服务器进行了注册。Archie仅通过文件名进行检索。 

阅读(3247) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册