接  计算机网络基础(3)——TCP/IP模型各层的主要协议及其功能(一)(点击可直接跳转)

3>网络层

        网络层是整个TCP/IP体系结构的关键部分。它的功能是使主机可以把分组发往任何网络并使分组独立地传向目标(可能经由不同的网络)。这些分组到达时的顺序和发送时的顺序可能不同,因此,如果需要按顺序发送和接收时,高层必须对分组进行排序。

        互联网层定义了正式的分组和协议,包括的主要协议有IP(Internet Protocol)协议,ARP(Address Resolution Protocol)协议,RARP(Reverse Address Resolution Protocol)协议,ICMP(Internet Control Message Protocol)协议等。网络层的功能就是把IP分组发送到应该去的地方。分组路由和避免阻塞是这里的主要设计问题。

3.1>IP协议

        IP协议是将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

       IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认,对数据没有差错控制,它只使用报头的校验码,它不提供重发和流量控制。如果出错可以通过ICMP报告,ICMP在IP模块中实现。

       IP协议的功能:寻址和路由,传送服务(不可靠,可靠性由上层协议提供;无连接),数据报分段和重组。

       对于IP数据报的头部信息,我写了一篇专门的文章,附文章的超链接:IP数据报头部信息分析

3.2> ARP(地址解析协议)

  • ARP(AddressResolutionProtocol)地址解析协议用于将计算机的网络IP地址转化为物理MAC地址。
  • ARP协议的基本功能就是通过目标设备的IP地址,用来定位下一个要接受数据报设备的MAC地址,以保证通信的顺利进行。
  • 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
  • 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
  • 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。如果没有的话  ,就如下图所示,主机A广播发送ARP请求,网络中的每个主机都会接收到,只有当B主机接受到时会给与A回应(单播回应)

  • ARP相关命令:arp -d 清除本机arp缓存表;arp -a查看本机当前arp表;  arp -s绑定arp地址(本次机器生效,下次重启后全部失效)
  • ARP协议应该注意的问题:如果所找的主机和源主机不在同一个局域网上,那么就要通过ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。

ARP包分析如下:

3.3> RARP(反地址解析协议)

反地址解析协议 RARP 是将ARP反过来,使只知道自己MAC地址的主机能够知道其自己的IP 地址。

3.4> ICMP(互联网控制消息协议)

ICMP是(Internet Control Message Protocol)Internet控制消息协议。用于在IP主机,路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP本身是网络层协议。但是,它的报文不是如设想的那样直接传送给数据链路层,实际上,ICMP报文首先封装成IP数据报,然后再传送给下一层。

ICMP报文种类
差错报告报文:ICMP总是把差错报文报告给原始的数据源

  •     类型3:终点不可达(子网或路由器不能定位或找不到终点)
  •     类型4:源点抑制(路由器有控制流量的能力,发送消息通知源点减缓发送速度)
  •     类型11:超时(当IP数据报的生存时间为0,表明IP数据报在网络中停留时间太长或者存在拥塞现象或者计时器初值太小)
  •     类型12:参数问题(IP报文首部中的字段值出现了非法值)
  •     类型5:改变路由(当路由器注意到数据报要传送到一个错误路由(或是路径并非最佳)时,重定向)

查询报文

  •     类型8或0:回送请求或回答
  •     类型13或14:时间戳请求或回答
  •     类型17或18:地址码请求或回答
  •     类型10或9:路由器查询通告

不应发送ICMP差错报文的几种情况

  • 对ICMP差错报告报文(即该报文本身出错)
  • 对第一个分片的数据报片的所有后续数据报片
  • 对具有多播地址的数据报
  • 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报

4>网络接口层(network interface layer)

在TCP/IP模型中,网络接口层对应ISO/OSI参考模型的物理层和数据链路层

物理层

a)确定与传输媒体的接口相关的一些特性:机械特性、电子特性、功能特性规程特性。

b)物理层向数据链路层提供的服务:

  • 物理连接的建立、维护和释放;
  • 物理连接方式有点—点,多点连接;
  • 可以提供同步/异步传输,也可提供串行/并行传输,还可提供单工、半双工以及全双工方式。

数据链路层

是负责接收IP数据包并通过网络发送,或者从网络上接收物理,抽出IP数据包,交给IP层。

链路层协议执行的主要任务:

  • 管理对所使用的任何联网介质的访问,称为介质访问控制(MAC)--与传输媒体有关
  • 创建一对MAC层地址之间点到点的临时连接以传输数据,称为逻辑链路控制(LLC)

为了使数据链路层更好的适应多种局域网,802 委员会就将局域网的数据链路层拆成两个子层:

  • MAC子层的主要功能是:帧的封装和拆封,物理介质传输差错的检测,寻址,实现介质访问控制协议
  • LLC子层的主要功能是:连接管理(建立和释放链接),与高层的接口,帧的可靠,按序传输及流量控制

常见的接口层协议有:

Ethernet 802.3、Token Ring 802.5、X.25Frame relayHDLC、PPP ATM等。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐