Chinaunix首页 | 论坛 | 博客
  • 博客访问: 868301
  • 博文数量: 190
  • 博客积分: 7021
  • 博客等级: 少将
  • 技术积分: 1752
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-17 19:26
文章分类

全部博文(190)

文章存档

2014年(9)

2011年(32)

2010年(149)

我的朋友

分类: LINUX

2010-09-18 22:17:48

网络拓扑结构:

    网络拓扑结构是指用传输媒体互联各种设备的物理布局。网络的拓扑结构反应了网络中各个实体的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性都有重大影响,目前主要的网络拓扑结构有总线型拓扑星型拓扑环型拓扑


主要的网络通讯协议有:OSI协议,TCP/IP协议,NetBEUI协议,IPX/SPX协议,SNA协议等等。

网络分层的基本概念:

    两个系统中实体间通信是一个十分复杂的过程。为减少协议设计过程的复杂度性,多数网络的实现都按分层次的方式来组织。每一层完成其特定的功能,同时,每一层又建立在他的下层之上,不同的网络标准,气氛曾的数量,层次的功能及内容都不尽相同。但是,对每层来说,都是通过层间的接口向上一层提供特定的服务。


OSI参考模型:

    OSI参考模型采用了分层的结构化技术,共分七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

TCP/IP协议概述:

    TCP/IP也是一种分层模型,他是基于硬件层次上的四个概念性层次构成,即网络接口层,IP层,传输层,应用层

应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

  传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
  互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
  网络接口层(主机-网络层):接收并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

主要协议

  以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:
  1. IP
  网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
  IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
  高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
  2. TCP
  如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
  TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。
  面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收数据库),但使用UDP传送有关单个主机的信息。
  3.UDP
  UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。
  欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
  4.ICMP
  ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。
  5. TCP和UDP的端口结构
  TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。
  两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:
  源IP地址 发送包的IP地址。
  目的IP地址 接收包的IP地址。
  源端口 源系统上的连接的端口。
  目的端口 目的系统上的连接的端口。
  端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

IP地址及其分类

  在Internet上连接的所有计算机,从大型机到微型计算机都是以独立的身份出现,我们称它为主机。为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址。就好像每一个住宅都有唯一的门牌一样,才不至于在传输资料时出现混乱。
  Internet的网络地址是指连入Internet网络的计算机的地址编号。所以,在Internet网络中,网络地址唯一地标识一台计算机。
  我们都已经知道,Internet是由几千万台计算机互相连接而成的。而我们要确认网络上的每一台计算机,靠的就是能唯一标识该计算机的网络地址,这个地址就叫做IP(Internet Protocol的简写)地址,即用Internet协议语言表示的地址。
  目前,在Internet里,IP地址是一个32位的二进制地址,为了便于记忆,将它们分为4组,每组8位,由小数点分开,用四个字节来表示,而且,用点分开的每个字节的数值范围是0~255,如202.116.0.1,这种书写方法叫做点数表示法。
  IP地址可确认网络中的任何一个网络和计算机,而要识别其它网络或其中的计算机,则是根据这些IP地址的分类来确定的。一般将IP地址按节点计算机所在网络规模的大小分为A,B,C三类,默认的网络屏蔽是根据IP地址中的第一个字段确定的。

32IP


其中A、B、C3类(如下表格)由InternetNIC在全球范围内统一分配,D、E类为特殊地址。
  
网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数
A126112616777214
B16382128.1191.25465534
C2097150192.0.1223.228.254254


 1. A类地址

  A类地址的表示范围为:1.0.0.1~126.255.255.255,默认网络屏蔽为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。
  127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
  0.0.0.0到0.255.255.255也是保留地址,用做表示所有的IP地址。
  一个由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”,即第一段数字范围为1~127。每个A类地址理论上可连接16777214<256*256*256-2>台主机(因为不存在最后一个字节值为“0”或“256”的IP地址,例如127.234.123.0或123.5.34.256这样的地址是不存在的),Internet有126个可用的A类地址。A类地址适用于有大量主机的大型网络。
  2. B类地址
  B类地址的表示范围为:128.0.0.1~191.255.255.255,默认网络屏蔽为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
  169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.0到169.254.255.255中临时获得一个IP地址。
  一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,即第一段数字范围为128~191。每个B类地址可连接65534(2^16-2, 因为主机号的各位不能同时为0,1)台主机,Internet有16383(2^14-1)个B类地址(因为B类网络地址128.0.0.0是不指派的,而可以指派的最小地址为128.1.0.0[COME06])。
  3. C类地址
  C类地址的表示范围为:192.0.0.1~223.255.255.255,默认网络屏蔽为:255.255.255.0;C类地址分配给小型网络,如一般的局域网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。
  一个C类地址是由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是“110”,即第一段数字范围为192~223。每个C类地址可连接254台主机,Internet有2097152个C类地址段(32*256*256),有532676608个地址(32*256*256*254)。
  RFC 1918留出了3块IP地址空间(1个A类地址段,16个B类地址段,256个C类地址段)作为私有的内部使用的地址。在这个范围内的IP地址不能被路由到Internet骨干网上;Internet路由器将丢弃该私有地址。
  IP地址类别 RFC 1918内部地址范围
  A类 10.0.0.0到10.255.255.255
  B类 172.16.0.0到172.31.255.255
  C类 192.168.0.0到192.168.255.255
  使用私有地址将网络连至Internet,需要将私有地址转换为公有地址。这个转换过程称为网络地址转换(Network Address Translation,NAT),通常使用路由器来执行NAT转换。
  实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:
  D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。 D类地址范围:224.0.0.1到239.255.255.254 。 D类地址用于多点播送。D类地址称为,供特殊协议向选定的节点发送信息时用。
  E类地址保留给将来使用。
  连接到Internet上的每台计算机,不论其IP地址属于哪类都与网络中的其它计算机处于平等地位,因为只有IP地址才是区别计算机的唯一标识。所以,以上IP地址的分类只适用于网络分类。
  在Internet中,一台计算机可以有一个或多个IP地址,就像一个人可以有多个通信地址一样,但两台或多台计算机却不能共享一个IP地址。如果有两台计算机的IP地址相同,则会引起异常现象,无论哪台计算机都将无法正常工作。
  顺便提一下几类特殊的IP地址:
  1. 广播地址 目的端为给定网络上的所有主机,一般主机段为全1
  2. 单播地址 目的端为指定网络上的单个主机地址
  3. 组播地址 目的端为同一组内的所有主机地址
  4. 环回地址  在环回测试和广播测试时会使用

协议簇

  TCP/IP(Transmission Control Protocol/Internet Protocol)已成为一个事实上的工业
  标准。
  TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
  TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第
  三层(对应OSI的第四层)。
  TCP和IP是TCP/IP协议簇的中间两层,是整个协议簇的核心,起到了承上启下的作用。
  1、接口层
  TCP/IP的最低层是接口层,常见的接口层协议有:
  Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP ATM 等。
  2、网络层
  网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)
  控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向
  地址转换协议。
  IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务
  。
  ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。
  Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。
  ARP是正向,通过已知的IP,寻找对应主机的
  RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。
  3、传输层
  传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协
  议UDP(User Datagram rotocol)。
  TCP是面向连接的通信协议,通过建立连接,通讯时完成时要拆除连接,由于TCP
  是面向连接的所以只能用于点对点的通讯。
  TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠
  性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用
  以限制发送方的发送速度。
  UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要
  连接,所以可以实现广播发送。
  UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求
  在程序员编程验证。
  4、应用层
  应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。
  FTP(File Transmision Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口
  是20H,控制端口是21H。
  Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。
  DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。
  SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中
  转。 
  POP3(Post Office Protocol 3)是邮局协议第3版本,用于接收邮件。
  数据格式:
  数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)
  IP数据包:IP头部+TCP数据信息 (IP头包括源和目标主机IP地址、类型、生存期等)
  TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)
 

阅读(2087) | 评论(0) | 转发(0) |
0

上一篇:Linux知识

下一篇:TCP报头结构

给主人留下些什么吧!~~