TCP/IP概述

一、

1、TCP/IP协议,包含了一系列构成互联网基础的网络协议。这些协议最早发源于美国国防部的ARPA

项目。TCP/IP模型也被称作DoD模型(Department of Defense Model)。TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议)。


1983年1月1日,在因特网的前身(ARPA网)中,TCP/IP协议取代了旧的网络控制协议(NCP,Network Control Protocol),从而成为今天的互联网的基石。最早的TCP/IP由文顿·瑟夫罗伯特·卡恩两位开发,慢慢地通过竞争战胜了其他一些网络协议的方案,比如国际标准化组织ISOOSI模型。TCP/IP的蓬勃发展发生在1990年代中期。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了互联网应用的飞速发展。


随着互联网的发展,目前流行的IPv4协议(网际协议版本四)已经接近它的功能上限。IPv4最致命的两个缺陷在于:

  • 地址只有32位,IP地址空间有限;

  • 不支持服务质量(Quality of Service,QoS)的想法,无法管理带宽和优先级,故而不能很好的支持现今越来越多的实时的语音和视频应用。因此IPv6(网际协议版本六)浮出水面,用以取代IPv4。


TCP/IP成功的另一个因素在于对为数众多的低层协议的支持。这些低层协议对应OSI模型 中的第一层(实体层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量支持TCP/IP,例如:以太网(Ethernet)、令牌环(Token Ring)、光纤数据分布接口(FDDI)、端对端协议(PPP)、X.25帧中继(Frame Relay)、ATMSonetSDH等。


2、分层

1)OSI模型

  clip_p_w_picpath002

2)

  clip_p_w_picpath004

 每一层负责不同的功能:

1) 数据链路层(DateLink),也称作网络接口层,通常包括操作系统中的设备驱动程序和计算机中对

                          应的网络接口卡。负责在不同的物理介质上处理物理信号的细节。

2) 网络层(Network),也称作互联网层,负责数据在网络中传输的路径。在T C P / I P协议族中,

                     网络层协议包括 I P 协议(网际协议) ,I C M P 协议(I n t e r n e t

                     互联网控制报文协议) ,以及I G M P协议(I n t e r n e t 组管理协

                     议) 。

3 ) 传输层(Transport)主要是在两台主机上的应用程序之间提供数据传输的服务。传输层是承上启

                      下的一层。为应用层屏蔽下面的网络层和数据链路层;同时为下层的传输数

                      据传递给到应用层。


在 T C P / I P协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和 U D P(用户数据报协议) 。T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。


而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。


4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的 T C P /

   I P实现都会提供下面这些通用的应用程序:

   Telnet 远程登录。

   FTP 文件传输协议。

   SMTP 简单邮件传送协议。

   SNMP 简单网络管理协议。


分层的意义:

clip_p_w_picpath006

我们列举一个 F T P客户程序和另一个 F T P服务器程序。大多数的网络应用程序都被设计成客户—服务器模式。服务器为客户提供某种服务,在本例中就是访问服务器所在主机上的文件。在远程登录应用程序 Te l n e t中,为客户提供的服务是登录到服务器主机上。

clip_p_w_picpath008

router位置使用的三种设备:

router(路由器):具有处理网络层协议的功能。

bridge:把不同的网络连接在一起的设备,称为桥。

以太网交换机。


3、TCP/IP协议族的分层

clip_p_w_picpath010

T C P和U D P是两种最为著名的运输层协议,二者都使用 I P作为网络层协议。

虽然T C P使用不可靠的I P服务,但它却提供一种可靠的运输层服务。虽然T C P使用不可靠的I P服务,但它却提供一种可靠的运输层服务。


U D P为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)但是与T C P不同的是,U D P是不可靠的,它不能保证数据报能安

全无误地到达最终目的。


I P是网络层上的主要协议,同时被 T C P和U D P使用。T C P和U D P的每组数据都通过端系统和每个中间路由器中的I P层在互联网中进行传输。


ARP协议Address Resolution Protocol),或称地址解析协议。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。他是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被ICMPv6所替代。


网络控制消息协定英文:Internet Control Message Protocol,ICMP)是网路协议族的核心协议之一。它用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

ICMP 依靠IP来完成它的任务,它是IP的主要部分。它与传输协议,如TCPUDP显著不同:它一般不用于在两点间传输数据。它通常不由网络程序直接使用,除了pingtraceroute这两个特别的例子。 IPv4中的ICMP被称作ICMPv4,IPv6中的ICMP则被称作ICMPv6


因特网组管理协议Internet Group Management Protocol或简写IGMP)是用于管理因特网协议多播组成员的一种通信协议。IP主机和相邻的路由器利用IGMP来建立多播组的组成员。像ICMP用于单播连接一样,IGMP也是IP多播说明的一个完整部分。


4、互联网的地址

互联网上的每个接口必须有一个唯一的 I n t e r n e t 地址(也称作 I P 地址)。I P 地址长 32 bit,通常写成四个十进制 的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法( Dotted decimal notation) ”。

clip_p_w_picpath012

区分各类地址的最简单方法是看它的第一个十进制整数。

clip_p_w_picpath014

需要再次指出的是,多接口主机具有多个 I P地址,其中每个接口都对应一个I P地址。


由于互联网上的每个接口必须有一个唯一的 I P地址,因此必须要有一个管理机构为接入互联网的网络分配I P地址。这个管理机构就是互联网络信息中心

( Internet Network Information C e n t r e) ,称作I n t e r N I C。I n t e r N I C只分配网络号。主机号的分配由系统管理员来负责。

I n t e r n e t注册服务( I P地址和D N S域名)过去由N I C来负责, 其网络地址是n i c . d d n . m i l。

1 9 9 3年4月1日,I n t e r N I C成立。现在,N I C只负责处理国防数据网的注册请求,所有其他的I n t e r n e t用户注册请求均由I n t e r N I C负责处理,其网址是:

r s . i n t e r n i c . n e t。


事实上I n t e r N I C由三部分组成:注册服务(r s . i n t e r n i c . n e t) ,目录和数据库服务(d s . i n t e r n i c . n e t),以及信息服务(i s . i n t e r n i c . n e t) 。


有三类I P地址:单播地址(目的为单个主机) 、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机) 。


5、数据的封装

T C P传给I P的数据单元称作 T C P报文段或简称为 T C P段(T C P s e g m e n t)。I P传给网络接口层的数据单元称作 I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。

以太网数据帧的物理特性是其长度必须在 4 6~1 5 0 0字节之间。

clip_p_w_picpath016

U D P数据与T C P数据基本一致。唯一的不同是 U D P传给I P的信息单元称作 U D P数据报(UDP datagram) ,而且U D P的首部长为8字节。


由于T C P、U D P、I C M P和I G M P都要向I P传送数据,因此I P必须在生成的I P首部中加入某种标识,以表明数据属于哪一层。为此, I P在首部中存入一个长度为8 b i t的数值,称作协议域。 1表示为I C M P协议,2表示为I G M P协议,6表示为T C P协议,1 7表示为U D P协议。


6、分用(D e m u l t i p l e x i n g)

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(D e m u l t i p l e x i n g)。

clip_p_w_picpath018


7、常见网络模型

C/S、B/S

1)重复模式

(1)等待客户端请求;

(2)处理了客户端请求;

(3)向发送请求的客户端回应处理结果;

(4)回到步骤1

重复模式节省资源。

主要的问题发生在(2)状态。在这个时候,它不能为其他客户机提供服务。

2)并发模式

(1)等待客户端请求;

(2)启动一个新的服务进程处理客户端请求;

(3)回到步骤1

并发模式处理并发请求效果更好

并发服务器的优点在于它是利用生成其他服务器的方法来处理客户

的请求。也就是说,每个客户都有它自己对应的服务器。如果操作

系统允许多任务,那么就可以同时为多个客户服务。

对服务器,而不是对客户进行分类的原因是因为对于一个客户来说,

它通常并不能够辨别自己是与一个重复型服务器或并发型服务器进

行对话


Peer-to-Peer/P2P(对等)

所有客户端依然需要和服务端进行联系,

服务器不负责将数据具体传输给每个客户端。只是负责收集客户端

的注册以及客户端共享的文件列表信息。

clip_p_w_picpath020


8、端口号

1)什么是端口号?

端口号的本质只是一个标识。

服务器一般都是通过知名端口号来识别的

2)Well-known端口(知名端口号)

任何T C P / I P实现所提供的服务都用知名的 1~1 0 2 3

之间的端口号。由 I n t e r n e t号分配机构(Internet Assigned

Numbers Authority, IANA)来管理。

3)客户端预留端口

1 0 2 4~5 0 0 0之间的端口号。客户端程序开启的端口。受

客户端自身控制。

4)其他服务端口

大于 5 0 0 0的端口号是为其他服务器预留的

(I n t e r n e t上并不常用的服务)。

5)Reserved端口(保留端口号)

U n i x系统有保留端口号的概念。只有具有超级用户特权的

进程才允许给它自己分配一个保留端口号。

这些端口号介于1~1 0 2 3之间,一些应用程序(如有名的

R l o g i n)将它作为客户与服务器之间身份认证的一部分。


9、标准化过程

clip_p_w_picpath022

1) Internet协会(I S O C,Internet Society)是一个推动、支

持和促进I n t e r n e t不断增长和发展的专业组织,它把

I n t e r n e t作为全球研究通信的基础设施。

2) Internet体系结构委员会(I A B,Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的 1 5个志愿者组成,其职能是负责 I n t e r n e t标准的最后编辑和技术审核。I A B隶属于I S O C。

3) Internet工程专门小组(I E T F,Internet Engineering Task

Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等) 。I E T F开发成为I n t e r n e t标准的规范。为帮助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group) 。

4) Internet研究专门小组(IR I F,Internet Research Task Force)主要对长远的项目进行研究。


10、RFC

所有关于I n t e r n e t的正式标准都以R F C(Request for Comment)文档出版。另外,大量的R F C并不是正式的标准,出版的目的只是为了提供信息

可以通过http://www.ietf.org网站获取。