IT小菜鸟网络编程之TCP/IP---子网内寻址

来源:互联网 发布:内饰 防御机制 知乎 编辑:程序博客网 时间:2024/04/30 06:31

      在同一子网内,不同机器之间是可以互相访问,并且机器之间都是互相知道彼此地址(废话!)。我以前只知道机器之间是通过MAC地址来互相访问的。MAC地址我理解就是网卡的唯一标识,不同的网卡拥有不同的MAC地址,这样才能通过MAC地址来找到所要访问的机器。

      网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如T C P / I P,是
一组不同层次上的多个协议的组合。T C P / I P通常被认为是一个四层协议系统,如图1 - 1所示。


      每一层负责不同的功能:
     1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
     2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在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 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在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和e-mail等。
       在链路层中,当知道对方的MAC地址,就能将数据通过电缆等媒介发送到所要访问的机子上(怎样将数据发送到所要访问的机器上的这个过程,我还在了解中)。但是MAC地址是16进制的字母非常难记,大家一般只是记忆IP地址,因此需要个东东能将IP地址转化MAC---那个东东就是ARP协议。在校园网时,经常遭受ARP的攻击,动不动就掉线。为什么会掉线呢?其实很简单,因为访问的MAC地址出现了错误,这样导致发送的数据不能到达,从而导致相应服务无应答,如访问网页失败。

      大致的原理是这样的,具体怎样导致访问的MAC出错,下章ARP协议和ARP攻击会讲到。

原创粉丝点击