首 页 | 培训频道 | 思科频道 | 华为频道 | 技术论坛 |
湖南长沙思科培训 咨询电话:0731-5552235
考试认证 | Cisco产品 | 解决方案 | 综合技术 | 路由技术 | 交换技术 | 网络管理 | 网络协议 | 无线技术 | 安全技术
您现在的位置: 龙光CISCO频道 -> 网络协议-> TCP/IP -> 文章正文
TCP/IP基础

龙光国际 收集整理  09月14日 14:28  访问次数 

1、TCP/IP协议栈 

四层模型 
  TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 

网络接口层 
  模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。 

互联层 
  互联协议将数据包封装成internet数据报,并运行必要的路由算法。 
这里有四个互联协议: 
网际协议IP:负责在主机和网络之间寻址和路由数据包。 
地址解析协议ARP:获得同一物理网络中的硬件主机地址。 
网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。 
互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。 

传输层 
  传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 
两个传输协议: 
传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 
用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。 

应用层 
应用程序通过这一层访问网络。 

网络接口技术 
IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。 

串行线路协议 
TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。(是不是我们平时把它称之为异步通信,对于要拿L INUX提供建立远程连接的朋友应该多研究一下这方面的知识)? 


2、ARP 

要在网络上通信,主机就必须知道对方主机的硬件地址(我们不是老遇到网卡的物理地址嘛)。地址解析就是将主机IP地址映射为硬件地址的过程。地址解析协议A RP用于获得在同一物理网络中的主机的硬件地址。 

解释本地IP地址(要了解地址解析工作过程的朋友看好了) 
主机IP地址解析为硬件地址: 
(1)当一台主机要与别的主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的硬件地址。 
(2)要是找不到映射的话,ARP建立一个请求,源主机IP地址和硬件地址会被包括在请求中,该请求通过广播,使所有本地主机均能接收并处理。 
(3)本地网上的每个主机都收到广播并寻找相符的IP地址。 
(4)当目标主机断定请求中的IP地址与自己的相符时,直接发送一个ARP答复,将自己的硬件地址传给源主机。以源主机的IP地址和硬件地址更新它的A RP缓存。源主机收到回答后便建立起了通信。 

解析远程IP地址 
不同网络中的主机互相通信,ARP广播的是源主机的缺省网关。 
目标IP地址是一个远程网络主机的话,ARP将广播一个路由器的地址。 

(1)通信请求初始化时,得知目标IP地址为远程地址。源主机在本地路由表中查找,若无,源主机认为是缺省网关的IP地址。在ARP缓存中查找符合该网关记录的I P地址(硬件地址)。 

(2)若没找到该网关的记录,ARP将广播请求网关地址而不是目标主机的地址。路由器用自己的硬件地址响应源主机的ARP请求。源主机则将数据包送到路由器以传送到目标主机的网络,最终达到目标主机。 

(3)在路由器上,由IP决定目标IP地址是本地还是远程。如果是本地,路由器用ARP(缓存或广播)获得硬件地址。如果是远程,路由器在其路由表中查找该网关,然后运用A RP获得此网关的硬件地址。数据包被直接发送到下一个目标主机。 

(4)目标主机收到请求后,形成ICMP响应。因源主机在远程网上,将在本地路由表中查找源主机网的网关。找到网关后,ARP即获取它的硬件地址。 


(5)如果此网关的硬件地址不在ARP缓存中,通过ARP广播获得。一旦它获得硬件地址,ICMP响应就送到路由器上,然后传到源主机。 

ARP缓存 
  为减少广播量,ARP在缓存中保存地址映射以备用。ARP缓存保存有动态项和静态项。动态项是自动添加和删除的,静态项则保留在CA CHE中直到计算机重新启动。 

ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项。 
此项使主机能够接受ARP广播。当查看缓存时,该项不会显示。 
每条ARP缓存记录的生命周期为10分钟,2分钟内未用则删除。缓存容量满时, 
删除最老的记录。 

加入静态(永久)记录 
通过添加静态ARP项可减少ARP请求访问主机的次数。 

ARP包的结构 
ARP结构的字段如下: 
硬件类型--使用的硬件(网络访问层)类型。 
协议类型--解析过程中的协议使用以太类型的值。 
硬件地址长度--硬件地址的字节长度,对于以太网和令牌环来说,其长度为6字节。 
协议地址长度--协议地址字节的长度,IP的长度是4字节。 
操作号--指定当前执行操作的字段。 
发送者的硬件地址--发送者的硬件地址。 
发送者的协议地址--发送者的协议地址。 
目的硬件地址--目标者的硬件地址。 
目的站协议地址--目标者的协议地址。 


3、ICMP和IGMP 

internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。 
IP运用互联组管理协议IGMP来告诉路由器,某一网络上指导组中的可用主机。

以上算是开头,以后一点点增加,实在是现在还有很多事情等着去做,不好意思了 :-) 


TCP/IP 完整的一套基础介绍 (2) 


以下内容是子网的设定 


若公司不上Internet,那一定不会烦恼IPAddress的问题,因 为可以任意使用所有的IPAddress,不管是AClass或是BClass, 这个时候不会想到要用SubNet,但若是上Internet那IPAddress 便弥足珍贵了,目前全球一阵Internet热,IPAddress已经愈 来愈少了,而所申请的IPAddress目前也趋保守,而且只有 经申请的IPAddress能在Internet使用,但对某些公司只能申 请到一个CCLass的IPAddress,但又有多个点需要使用,那这 时便需要使用到Subnet,这篇短文说明Subnet的原理及如 何规划。 

SubnetMask的介绍 
设定任何网路上的任何设备不管是主机、PC、Router等 皆需要设定IPAddress,而跟随著IPAddress的是所谓的NetMask, 这个NetMask主要的目的是由IPAddress中也能获得NetworkNumber ,也就是说IPAddress和NetMask作AND而得到NetworkNumber,如下所 示 


IPAddress 192.10.10.611000000.00001010.00001010.00000110 
NetMask 255.255.255.011111111.11111111.11111111.00000000 
AND ------------------------------------------------------------------- 
etworkNumber 192.10.10.011000000.00001010.00001010.00000000 


NetMask有所谓的预设值,如下所示 

ClassIPAddress范围NetMask 
A 1.0.0.0-126.255.255.255255.0.0.0 
B 128.0.0.0-191.255.255.255255.255.0.0 
C 192.0.0.0-223.255.255.255255.255.255.0 

在预设的NetMask都只有255的值,在谈到SubnetMask时这个值 便不一定是255了。 
在完整一组CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0, 203.67.10.0称之NetworkNumber(将IPAddress和Netmask作AND),而 203.67.10.255是Broadcast的IPAddress,所以这?两者皆不能使用,实 际只能使用203.67.10.1--203.67.10.254等254个IPAddress,这是以 255.255.255.0作NetMask的结果,而所谓SubnetMsk尚可将整组C Class分成数组NetworkNumber,这要在NEtMask作手脚,若是要将 整组CCLass分成2个NetworkNumber那NetMask设定为255.255.255.192, 若是要将整组CCLass分成8组NetworkNumber则NetMask要为 255.255.255.224,这是怎麽来的,由以上知道NetworkNumber是由IP Address和NetMask作AND而来的,而且将NetMask以二进位表示 法知道是1的会保留,而为0的去掉 

192.10.10.193--11000000.00001010.00001010.10000001 
255.255.255.0--11111111.11111111.11111111.00000000 
-------------------------------------------------------------- 
192.10.10.0--11000000.00001010.00001010.00000000 


以上是以255.255.255.0为NetMask的结果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask结果便有所不同 


192.10.10.193--11000000.00001010.00001010.10000000 
255.255.255.224--11111111.11111111.11111111.11100000 
-------------------------------------------------------------- 
192.10.10.192--11000000.00001010.00001010.10000000 


此时NetworkNumber变成了192.10.10.192,这便是Subnet。 
那要如何决定所使用的NetMask,255.255.255.224以二进位表示 法为11111111.11111111.11111111.11100000,变化是在最後一组,11100000 便是224,以三个Bit可表示2的3次方便是8个NetworkNumber 

NetMask二进位表示法可分几个Network 

255.255.255.0 11111111.11111111.11111111.000000001 
255.255.255.128 11111111.11111111.11111111.100000002 
255.255.255.192 11111111.11111111.11111111.110000004 
255.255.255.224 11111111.11111111.11111111.111000008 
255.255.255.240 11111111.11111111.11111111.1111000016 
255.255.255.248 11111111.11111111.11111111.1111100032 
255.255.255.252 11111111.11111111.11111111.1111110064 

以下使用255.255.255.224将C Class203.67.10.0分成8组NetworkNumber,各 个NetworkNumber及其BroadcastIPAddress及可使用之IPAddress 

序号NetworkNumberBroadcast可使用之IPAddress 

1 203.67.10.0 203.67.10.31 203.67.10.1-203.67.10.30 
2 203.67.10.32 203.67.10.63 203.67.10.33-203.67.10.62 
3 203.67.10.64 203.67.10.95 203.67.10.65-203.67.10.94 
4 203.67.10.96 203.67.10.127 203.67.10.97-203.67.10.126 
5 203.67.10.128 203.67.10.159 203.67.10.129-203.67.10.158 
6 203.67.10.160 203.67.10.191 203.67.10.161-203.67.10.190 
7 203.67.10.192 203.67.10.223 203.67.10.193-203.67.10.222 
8 203.67.10.224 203.67.10.255 203.67.10.225-203.67.10.254 

可验证所使用的IPAddress是否如上表所示 

203.67.10.115--11001011.01000011.00001010.01110011 
255.255.255.224--11111111.11111111.11111111.11100000 
-------------------------------------------------------------- 
203.67.10.96--11001011.01000011.00001010.01100000 

203.67.10.55--11001011.01000011.00001010.00110111 
255.255.255.224--11111111.11111111.11111111.11100000 
-------------------------------------------------------------- 
203.67.10.32--11001011.01000011.00001010.00100000 

其他的NetMask所分成的NetworkNumber可自行以上述方法自行推演出来。 

Subnet的应用 
使用Subnet是要解决只有一组CClass但需要数个NetworkNumber的问题,并不是解决IPAddress不够用的问题,因为使用 Subnet反而能使用的IPAddress会变少,Subnet通常是使用在总公司在台北,但分公司在台中,两者之间使用Router连线 ,同时也上Internet,但只申请到一组CCLassIPAddress,过Router又需不同的Network,所以此时就必须使用到Subnet,当然二 办公司间可以RemoteBridge连接,那便没有使用Subnet的问题,这点在此不讨论,所以在以上情况下的网路连线架 构及IPAddress的使用 


TCP/IP 完整的一套基础介绍 (3) 


TCP/IP(传输控制协议/ 网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。 TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个T CP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,T CP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。 


在任何一个物理网络中, 各站点都有一个机器可识别的地址,该地址叫做物理地址. 物理地址有两个 


特点: 


物理地址的长度,格式等是物理网络技术的一部分, 物理网络不同,物理地址也不同. 
同一类型不同网络上的站点可能拥有相同的物理地址. 
以上两点决定了,不能用物理网络进行网间网通讯. 

在网络术语中,协议中,协议是为了在两台计算机之间交换数 据而预先规定的标准。TCP/IP并不是一个而是许多协 议,这就是为什么你经常听到它代表一个协议集的原因,而TCP和IP只是其中两个基本协议而已。 

你装在计算机-的TCP/IP软件提供了一个包括TCP、IP 以及TCP/IP协议集中其它协议的工具平台。特别是它包 括一些高层次的应用程序和FTP(文件传输协议),它允 许用户在命令行上进行网络文件传输。 

TCP/IP是美国政府资助的高级研究计划署(ARPA)在二十世纪七十年代的一个研究成果,用来使全球的研究 网络联在一起形成一个虚拟网络,也就是国际互联 网。原始的Internet通过将已有的网络如ARPAnet转换到TCP/IP上来而形成,而这个Internet最终成为如今的国际互联网的骨干 网。 

如今TCP/IP如此重要的原因,在于它允许独立的网 格加入到Internet或组织在一起形成私有的内部网(Intranet)。 构成内部网的每个网络通过一种-做路由器或IP路由器 的设备在物理上联接在一起。路由器是一台用来从一 个网络到另一个网络传输数据包的计算机。在一个使 用TCP/IP的内部网中,信息通过使用一种独立的叫做IP 包(IPpacket)或IP数据报(IPdatagrams)的数据单元进--传输。TCP/IP 软件使得每台联到网络上的计算机同其它计算机“ 看”起来一模一样,事实上它隐藏了路由器和基本的网络 体系结构并使其各方面看起来都像一个大网。如同联 入以太网时需要确认一个48位的以太网地址一样,联入一个内部网也需要确认一个32位的IP地址。我们将它用带点的十进制数表示,如12 8.10.2.3。给定一个远程计算机的IP地址,在某个内部网或Internet上的本地计算 机就可以像处在同一个物理网络中的两台计算机那 样向远程计算机发送数据。 

TCP/IP提供了一个方案用来解决属于同一个内部网而分属不同物理网的两台计算机之间怎样交换数据的问题。这个方案包括许多部分,而T CP/IP协议集的 每个成员则用来解决问题的某一部分。如TCP/IP协议集 中最基本的协议-IP协议用来在内部网中交换数据并且 执行一项重要的功能:路由选择--选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越(hop)。 

TCP是一个更高层次的它允许运行在在不同主机上的应用程序相互交换数据流。TCP将数据流分成小段叫做TCP数据段(TCPsegments),并利用I P协议进行传输。在 大多数情况下,每个TCP数据段装在一个IP数据报中进 行发送。但如需要的话,TCP将把数据段分成多个数据报,而IP数据报则与同一网络不同主机间传输位流和 字节流的物理数据帧相容。由于IP并不能保证接收的 数据报的顺序相一致,TCP会在收信端装配TCP数据段并 形成一个不间断的数据流。FTP和Telnet就是两个非常流行的依靠TCP的TCP/IP应用程序。 

另一个重要的TCP/IP协议集的成员是用户数据报协议(UDP),它同TCP相似但比TCP原始许多。TCP是一个可 靠的协议,因为它有错误检查和握手确认来保证数据 完整的到达目的地。UDP是一个“不可靠”的协议,因为 它不能保证数据报的接收顺序同发送顺序相同,甚至 不能保证它们是否全部到达。如果有可靠性要求,则 应用程序避免使用它。同许多TCP/IP工具同时提供的SNMP( 简单网络管理协议)就是一个使用UDP协议的应用例子。 

其它TCP/IP协议在TCP/IP网络中工作在幕后,但同样也发挥着重要作用。例如地址转换协议(ARP)将IP地址转换为物理网络地址如以太网地址。而与其对应的反向地址转换协议( RARP)做相反的工作,即将物理网络地址 转换为IP地址。网际控制报文协议(ICMP)则是一个支持性协议,它利用IP完成IP数据报在传输时的控制信息和 错误信息的传输。例如,如果一个路由器不能向前发送一个IP数据报,它就会利用ICMP来告诉发送者这里出 现了问题。

[1] [2] [3] [4] 






最新文章
热门文章
相关文章
关于我们 | 联系我们 | 成功客户 | 师资介绍 | 会员服务 | 培训报名 | 免责声明
龙光热线:0731-5552235 2762886  传真:0731-5552235
 龙光国际教育中心  版权所有