码迷,mamicode.com
首页 > 其他好文 > 详细

TCP/IP协议(4):网络层

时间:2017-05-25 10:08:08      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:icm   计算   logs   效率   .com   注意   数据可靠性   时间   nbsp   

网络层上有IP、ICMP、IGMP等协议。

1、IP地址

   在OSI模型中,三层网络层负责IP地址,IP数据报帧头中的源地址和目的地址就是指IP地址。IPV4类型IP地址为32位4个字节,IPV6类型IP地址为128位16个字节,公网IP是全球唯一的。32位的IPV4 IP地址通常用4个十进制的整数来表示,每个整数对应一个字节,如"106.10.21.206",这种表示方法称为“点分十进制表示法”。

   IPV4类IP地址分为五类,如下图为他们各自的地址格式和地址范围:

 技术分享

   

   A类IP地址第一个字节为网络地址,剩余三个字节为主机地址,默认子网掩码为255.0.0.0,可用的A类网络有126个(全0和全1的网络地址用作特殊用途,故为128-2),每个网络能容纳1亿多个主机。A类地址适用于具有大量主机(直接个人用户)而局域网络个数较少的大型网络。需要注意的是A类IP地址中以127开头的地址表示本地环回地址。
   B类IP地址前两个字节为网络地址,后两个字节为主机地址,默认子网掩码为255.255.0.0,可用的B类网络有16382个,每个网络能容纳6万多个主机 。
   C类IP地址前三个字节为网络地址,后一个字节为主机地址,默认子网掩码为255.255.255.0,C类网络可达209万余个,每个网络能容纳254个主机。
   D类IP地址被用在多点广播(Multicast)中。
   E类IP地址范为将来使用保留。

  其中A类、B类、C类地址又预留了一个IP地址段作为私有地址来供局域网使用:
   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

  局域网在选取使用私有地址时,一般会按照实际需要容纳的主机数来选择私有地址段。常见的局域网由于其中的主机数量不是很多,所以一般就选择C类的192.168.0.0作为私有地址段使用。一般的家用路由器的LAN地址默认也是使用C类的私有地址,如192.168.1.1、192.168.0.1。

2、子网掩码

  子网掩码用来设置IP地址多少位用于子网号,多少位用于主机号,它是一个32位的值,为1的位标志网络号/子网号,为0的位标志主机号,如C类地址默认子网掩码为11111111 11111111 11111111 00000000,即255.255.255.0。
  假设有一个C类地址,我们需要16个子网,则子网号应为4位,因为2^4 = 16,所以子网掩码应为11111111 11111111 11111111 11110000,即255.255.255.240。

3、IP协议

  IP称为网间网协议,IP协议是无连接、不可靠的,任何对数据可靠性的要求由上层协议来提供(如TCP),这样的设计成就了IP协议的效率。TCP、UDP、ICMP、IGMP等数据都以IP数据报格式传输。

4、ICMP

  ICMP互联网控制信息协议的主要功能是传输差错或信息IMCP报文,比如网络通不通、主机是否可达、路由是否可用等信息。IP包如果没有被传送到目的地,或者发生错误,IP协议不会做其它的处理,而通过ICMP,下游的路由器和主机可以将错误信息ICMP报文汇报给上游,所以ICMP是IP协议的一个补充,它还可以提供一些咨询类型的信息,比如某台计算机询问路径上的每个路由器都是谁,然后各个路由器同样用ICMP包回答。

  ICMP报文是封装在IP数据报中的数据段中的,它头部的前4个字节是固定的,剩下的其它字节根据不同的类型互不相同。ICMP报文类型有差错报文(目的地无法到达报文、超时报文等),控制报文(重定向报文、源头冷却报文等),请求/应答报文(回音报文、时间戳请求响应报文等)。

  ICMP回音报文又称回显包,PING命令使用的就是ICMP协议:向目标主机发送请求回音的ICMP包(类型为8,代码为0),而目标主机在接收到该ICMP包之后,会发送回音应答的ICMP包(类型为0,代码为0)。

  ICMP协议是IP协议的排错帮手,它可以帮助人们及时发现IP通信中出现的故障。但ICMP却经常被黑客借用进行网络攻击,比如利用伪造的IP包引发大量的ICMP回复,并将这些ICMP包导向受害主机,从而形成DoS攻击。

5、IGMP

  IGMP互联网组管理协议,为了使路由器知道多播组成员的信息,需要利用IGMP,它负责IP 组播成员管理,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。跨越多个网络的组播转发必须依赖于路由器,路由器为建立组播转发路由必需了解每个组员在Internet中的分布,这要求主机必须能将其所在的组播组通知给本地路由器,这也是建立组播转发路由的基础,在此基础上,本地路由器再与其它组播路由器通信,传播组播组的成员信息,并建立组播路由。 

  和ICMP一样,IGMP也使用IP数据报传递其报文,IGMP报文封装在IP报文中。IGMP的工作过程如下:
  ①、当主机加入新的多播组时,向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员.本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器
  ②、本地多播路由器要周期性地探询本地局域网上的主机(通过发送IGMP报文来实现),以便知道这些主机是否还继续是组的成员

 

TCP/IP协议(4):网络层

标签:icm   计算   logs   效率   .com   注意   数据可靠性   时间   nbsp   

原文地址:http://www.cnblogs.com/milanleon/p/6899800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!