鱼C论坛

 找回密码
 立即注册

憔悴心只为你

https://fishc.com.cn/?107996

第一章 网络和编程的基本知识2

已有 476 次阅读2011-11-6 17:37

“今天我给大家介绍一下windows 网络协议。首先问大家一个问题:网络上的计算机之间是如何交换信息的呢?

“我知道!利用电话线!”马蜂窝一马当先。

@#$%......

“楼上的!这个地球人都知道了!我们还是让谷大哥为我们介绍介绍吧!”

看来非得我出马不行了。

“其实,就像我们说话用某种语言一样,网络上的各台计算机之间也有一种共同语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。”

***************************************************************************

小知识:什么是网络协议

网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它定义了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上层加以屏蔽。一台设备上的第n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则,一方将无法识别另一方发出的信息。网络协议使网络上各种设备能相互交换信息。

***************************************************************************

“我们还是不明白啊·······”冰眼说。

“是啊!大哥,再将清楚点三!”马蜂窝也附和着。

“我在这里也很难说清楚,建议大家参考《TCP/IP协议详解》这本经典著作。”

“好的!我明天马上去买!”我话刚说完,多多喵就冒出这么一句,看来是位富家子弟啊!

“如果我没记错的话,这本书分三卷,价格分别是30多元、70多元、30多元。”

!@#$%^&*”我是良民发出了一连串字符。

“大家以后有机会去借就行了。下面我介绍一些常用的协议。”

***************************************************************************

小知识:常见的协议

常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中,用得较多的是IPX/SPX协议(打CS时就是用这个来搜索主机)。用户如果访问internet ,则必须在网络协议中添加TCP/IP协议。

***************************************************************************

TCP/IP协议我听得多了,但就是不知道有什么用?”马蜂窝问道。

TCP/IP是‘Transmission Control Protocol/Internet Protocol’的简写,中文译为传输控制协议/互联网络协议,TCP/IP是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。”

***************************************************************************

小知识:TCP/IP协议

TCP/IPinternet 的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可形象地理解为有两个信封,TCPIP就像信封,要传递的信息被划分为若干段,每一段塞入一个TCP信封,并在该信封面上记录分段号的信息,再将TCP信封塞入IP大信封,然后发送上网。在接收端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IPinternet 中几乎可以无差错地传送数据。对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。

IPX/SPX是基于施乐的XEROX'S Network System(XNS)协议,而spx是基于施乐的XEROX'S SPP(Sequenced Packet Protocol:顺序包协议),它们都是应用于局域网的一种高速协议。与TCP/IP的一个显著不同就是:IPX/SPX不适用ip地址,而是使用网卡的物理地址(即MAC地址)。在实际使用中,它基本不需要什么设置,装上就可以使用。

NetEBUINetBios Enhanced User Interface ,意为NetBios增强用户接口。它是NetBios协议的增强版本,曾被许多操作系统采用,如windows for workgroupwin9x系列、

windows nt等。NetBEUI协议在许多情形下很有用,是windows 98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装之后不需要进行设置,特别适合在“网络邻居”传送数据。所以,建议除了TCP/IP协议之外,局域网的计算机最好也岸上NetBEUI协议。另外,还有一点要注意,如果一台只装了TCP/IP协议的windows 98机器要加入winNT域,也必须安装NetBEUI协议。

***************************************************************************

“在网络的各层中还存在着许多协议,下面就列出一些网络协议规范。”

ARPAddress Resolution Protocol )地址解析协议:

它用于映射计算机的物理地址和临时指定的网络地址。启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用。如果没有被使用,此结点将使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,我们只能再另选一个地址了。

SNMPSimple Network Management Protocol)网络管理协议:

它是TCP/IP协议中的一部分,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中集中化管理的重要组成部分。

BOOTP协议:

它是一个基于TCP/IP协议的协议,可以让无盘站从一个中心服务器上获得ip地址,现在我们通常使用DHCP协议进行这一工作。

DHCPDynamic Host Configuration Protocol)动态主机配置协议:

它是在TCP/IP网络上使客户机获得配置信息的协议,它基于BOOTP协议,并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可通过一些机制互操作。DHCP协议在安装TCP/IP协议和使用TCP/IP协议进行通信时,必须配置IP地址、子网掩码、缺省网关三个参数,这三个参数可以手动配置,也可使用DHCP自动配置。

windows 网络编程虽然形形色色,但它们都必须遵循一个或多个以上的网络协议。一般的电脑用户是不必留意这些细节的,但你们作为一个‘准黑客’,尤其是想自己编写黑客软件的‘黑客’,就必须了解这些细节,否则就谈不上写什么黑客工具。”

“一下子来了这么多东西,我们还需要点时间来消化呢!”冰眼有点疲惫的样子。

···········

“都好了吗?接下来让我们看看网络7层协议在windows中的实现。”

“什么是‘网络7层协议’?”马蜂窝问。

“所谓的7层协议就是OSI模型,具体分为:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。下面,我们简单地看看这个OSI模型。如图13。”

7.   应用层

6.   表示层

5.   会话层

4.   传输层

3.   网络层

2.   数据链路层

1.   物理层

   物理介质

13

“至于每层代表的含义,我们没必要知道(当然有兴趣的可以去google搜索一下)。”

“这7层模型在windows 程序下是怎样体现的呢?”我是良民问道。

“这个问题问的好!我在这里就简单解释一下,以加深大家的理解。”

***************************************************************************

小知识:7层模型在windows 程序下的实现

物理层--这个很好理解,就是我们看得见摸得着的网卡。网卡的作用就是把线路发送过来的高频电流转化成数据包,然后传给网卡驱动程序,同时也把网卡驱动程序传送过来的数据转化成电信号传送出去。定义通过网络设备发送数据的物理方式;是网络媒介和设备间的接口。

数据链路层--是网卡的驱动程序。定义控制通信连接的程序;封包;监测和改正包传输错误。

网络层--即NDISNDIS提供网络层接口。决定网络设备间如何传输数据;根据唯一的网络设备地址选择包;提供流和拥塞控制,以阻止网络资源的损耗。

传输层--即TDITCP协议的封包处理是在这一层进行的。管理网络中首尾连接的信息传送;提供通过错误恢复和流控制装置传送可靠且有序的包;提供无连接面向包的传送。

会话层--即SPISPI是服务提供者接口。管理用户间的会话和对话;控制用户间的连接和挂断连接;报告上层错误。

表示层--API,这个大家应该比较熟悉了,它为应用程序提供接口。API负责SPI与应用程序之间的通信;定义不同体系间不同数据格式;具体说明独立结构的数据传输格式;编码和解码数据;加密和解密数据;压缩和解压数据。

应用层--EXE,就是大家常见的应用程序。定义用于网络通信和数据传输的用户接口程序;提供标准服务,比如虚拟终端、文档以及任务的传输和操作。

***************************************************************************

“下面再来一个7层协议与windows 结构的简略映射图,如图14。”

   7层协议         WIN系统   

________________________________________

   7  应用层       7  应用程序

________________________________________________

   6  表示层       6  WINSOCK API(DLL)

___________________________________________

   5  会话层       5  SPI(DLL)

__________________________________________________

   4  传输层       4  TDI(VXD,SYS)

___________________________________________________

   3  网络层       3  NDIS(VXD,SYS)

__________________________________________________

   2  数据链路层   2  网卡驱动程序(VXD,SYS)

___________________________________________

   1  物理层       1  网卡

_________________________________________________

                图14

“通过图14,相信大家对OSI七层协议有了比较清晰的了解!”

“哇!介绍的很好,但有些名词如NIDS我们也不知道是什么呢!”马蜂窝同学一向喜欢发问。

“这些就要涉及到系统驱动程序方面的知识了,现在给大家说,估计你们也听不懂,我说了也是白说啊!”

“那我们以后学系统驱动程序的知识吧!”马蜂窝说道。

未完待续,接下来是关于TCP/IP的详细讲解,今天就先不发了,太累了,明天续上....



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 23:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部