IP:网际协议

1.概述

     IP是TCP/IP协议族中最为核心的协议。所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输。
     IP提供不可靠,无连接的数据报传送服务。
  • 不可靠:它不能保证IP数据报能成功的到达目的地。
  • 无连接:IP并不维护关于后续数据报的状态信息。每个数据报的处理都是相互独立的。

2.IP数据报

     IP数据报的格式如图所示,普通的IP数据报首部为20个字节,除非含有选项字段。
  • 版本号:目前的版本号为4,即IPv4
  • 首部长度:指的是首部占32bit字的数目,包括选项长度
  • 服务类型(TOS):(现在大多数的TCP/IP实现不支持TOS特性)4bit的TOS分别代表:最小延迟,最大吞吐量,最高可靠性和最小费用。4bit只能置其中1bit,如果4bit均为0,则为一般服务。
  • 总长度字段:整个IP数据报的长度,以字节为单位。总长度是IP首部中必要的内容
  • 标识字段:唯一地标识主机发送的每一份数据报。
  • 标志字段:会在IP分片和重组的时候使用到。标志字段的最低位记为MF,中间的一位记为DF。MF=1表示后面还有分片。DF=0时,才能进行分片。
  • TTL(time-to-live):设置了数据可以经过的最多的路由器数,每经过一次路由器,该值-1.
  • 首部检验和:是根据IP首部计算的检验和码。
  • 源地址:
  • 目的地址:
  • 任选项:(一般没有)包括以下内容
    • 安全和处理限制
    • 记录路径(每个路由器都记录它的IP地址)
    • 时间戳
    • 宽松的源站选路
    • 严格的源站选路
3.IP路由选择(见TCP/IP详解学习(6)-- IP选路)
     路由表:
          路由表项:包括5bit标志,目的IP地址(主机,网络,默认),下一站路由的IP地址(间接路由)或者本地接口的我IP地址(直接路由)及指向本接口的指针。
          路由表中的每一项都包含下面这些信息:
    • 目的IP地址。可以是完整的主机地址,也可以是网络地址,由标志字段来指定
    • 下一站(或者下一跳)路由器的IP地址。
    • 标志。其中一个标志指明目的IP地址是网络地址还是主机地址,另一个标志指明下一站路由器是否为真的下一站路由器,还是一个直接相连的接口。
    • 为数据报的传输指定一个网络接口。

IP路由选择主要完成以下功能:

  • 搜索路由表,寻找能与目的IP地址完全匹配的表目。
  • 搜索路由标,寻找能与网络号相匹配的表目。
  • 搜索路由表,寻找标为默认的表目

4.IP地址

     如今的IP网络使用32位地址,以点分十进制表示,如192.168.0.1。

地址格式为:IP地址=网络地址+主机地址或 IP地址=网络地址+子网地址+主机地址。

     根据用途和安全性级别的不同,IP地址还可以大致分为两类:公共地址和私有地址。公用地址在Internet中使用,可以在Internet中随意访问。私有地址只能在内部网络中使用,只有通过代理服务器才能与Internet通信。
 
5.IP地址分类
  • 网络号

用于识别主机所在的网络;

  • 主机号

用于识别该网络中的主机。

  • IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。

A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。

  • A类地址
(1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.
(2)A类地址范围:1.0.0.1---126.255.255.254
(3)A类地址中的私有地址和保留地址:
① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
范围(10.0.0.1---10.255.255.254)
② 127.X.X.X是保留地址,用做循环测试用的。
  • B类地址
(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.
(2) B类地址范围:128.0.0.1---191.255.255.254。
(3) B类地址的私有地址和保留地址
① 172.16.0.0---172.31.255.254是私有地址
② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
191.255.255.255是广播地址,不能分配。
  • C类地址
(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
(2)C类地址范围:192.0.0.1---223.255.255.254。
(3) C类地址中的私有地址:
192.168.X.X是私有地址。(192.168.0.1---192.168.255.255)
  • D类地址
(1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
(2) D类地址范围:224.0.0.1---239.255.255.254
  • E类地址
(1) E类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1111。
(2) E类地址范围:240.0.0.1---255.255.255.254
IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。
  • 掩码

为了标识IP地址的网络部分和主机部分,要和地址掩码(Address Mask)结合,掩码跟IP地址一样也是32 bits,用点分十进制表示。IP地址网络部分对应的掩码部分全为“1”,主机部分对应的掩码全为“0”。
     缺省状态下,如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络的子网掩码为255.255.255.0。利用子网,网络地址的使用会更加有效。
     有了子网掩码后,IP地址的标识方法如下:
     例:192.168.1.1 255.255.255.0或者标识成192.168.1.1/24(掩码中“1”的个数)

6.特殊的IP地址
  • 组播地址

在IP地址空间中,有的IP地址不能为设备分配的,有的IP地址不能用在公网,有的IP地址只能在本机使用,诸如此类的特殊IP地址众多:注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。

  • 169.254.x.x

主机使用了DHCP功能自动获得一个IP地址。

  • 受限广播地址

广播通信是一对所有的通信方式。若一个IP地址的2进制数全为1,也就是255.255.255.255,则这个地址用于定义整个互联网。如果设备想使IP数据报被整个Internet所接收,就发送这个目的地址全为1的广播包,但这样会给整个互联网带来灾难性的负担。因此网络上的所有路由器都阻止具有这种类型的分组被转发出去,使这样的广播仅限于本地网段。

  • 直接广播地址

一个网络中的最后一个地址为直接广播地址,也就是HostID全为1的地址。主机使用这种地址把一个IP数据报发送到本地网段的所有设备上,路由器会转发这种数据报到特定网络上的所有主机。

  • NetID为0的

当某个主机向同一网段上的其他主机发送报文时就可以使用这样的地址,分组也不会被路由器转发。

  • 环回地址

127网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如使用ping环回地址127.0.0.1就可以测试本地TCP/IP协议是否已正确安装。另外一个用途是当客户进程用环回地址发送报文给位于同一台机器上的服务器进程,来测试服务是否正常启动。

  • 专用地址

IP地址空间中,有一些IP地址被定义为专用地址,这样的地址不能为Internet网络的设备分配,只能在企业内部使用,因此也称为私有地址。

     这些专有地址是:

10/8 地址范围:10.0.0.0到10.255.255.255 共有2的24次方个地址
172.16/12 地址范围:172.16.0.0至172.31.255.255 共有2的20次方个地址
192.168/16 地址范围:192.168.0.0至192.168.255.255 共有2的16次方个地址

 
 

IP:网际协议的更多相关文章

  1. 《TCP/IP详解 卷1:协议》第3章 IP:网际协议

    3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输(见图1-4).许多刚开始接触TCP/IP的人对IP提供不可靠.无连接的数据报 ...

  2. IP 网际协议

    1. IP数据首部长度: 4位版本号 : 4 位,用于标明 IP 版本号,0100 表示 IPv4,0110 表示 IPv6.目前常见的是 IPv4. 4位首部长度: 首部长度是占4位,可表示的最大十 ...

  3. IP网际协议 - IP首部,IP路由选择,子网掩码

    IP首部 4个字节的32 bit值以下面的次序传输:首先是0-7 bit,其次8-15 bit,然后1 6-23 bit,最后是24~31 bit.这种传输次序称作big endian字节序.由于T ...

  4. IP网际协议

    IP分类 IP地址分为网络号和主机号,5类不同的IP地址格式如下: A类地址每个网段内最多有224个,也就是16,777,214个. B类地址每个网段内最多有216个,也就是65535个. C类地址每 ...

  5. TCP/IP 笔记 1.3 IP:网际协议

    ---恢复内容开始--- I P是T C P / I P协议族中最为核心的协议.所有的 T C P.U D P.I C M P及I G M P数据都以I P数据报格式传输. 不可靠( u n r e ...

  6. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

  7. 温故知新--计算机网络 iso/osi七层模型 tcp/ip四层模型

    ISO七层模型由下至上为1至7层,分别为: 应用层(Application layer) 表示层(Presentation layer) 会话层(Session layer) 传输层(Transpor ...

  8. 《TCP/IP详解 卷1:协议》读书笔记

    第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理 ...

  9. 计算机网络自学之路------IP协议(1)

    1)TCP/IP模型与OSI对应 2)TCP/IP集每层主要协议 3)IP协议 4)IP地址的命名与使用 5)子网与子网掩码 1)TCP/IP模型与OSI对应关系 我们看到,TCP/IP只有四层与OS ...

  10. c++游戏服务器编程学习笔记(一)TCP/IP

    1. c++游戏服务器编程c++运行效率非常高2. TCP传输控制协议IP网际协议Socket 3.Linux 乌班图开源第三方库BOOST 4.80%游戏服务器端用C++工作量最大的地方是具体的游戏 ...

随机推荐

  1. Oracle分区表转换

    Oracle普通表—>分区表转换(9亿数据量) 背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空 ...

  2. c# md5

              还可以加盐,更难以破解 public static string GetMD5(string sDataIn)           {               MD5Crypt ...

  3. php中soap应用

    原文:php中soap应用 SOAP:简单对象访问协议 (SOAP:Simple Object Access Protocol) 简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协议 ...

  4. SQL编程之生日问题

    在学习MySQL的时候,一个较为经典的SQL编程题目就是生日问题,已知某个用户的出生日期和当前日期,计算他近期的生日. 一般须要考虑两个问题 闰年2月是29天 今年的生日是否过完 比如:某人的生日是1 ...

  5. SICP 锻炼 (1.45)解决摘要

    SICP 1.45是对前面非常多关于不动点的习题的总结. 题目回想了我们之前在1.3.3节使用的不动点寻找方法.当寻找y -> x/y 的不动点的时候,这个变换本身不收敛.须要做一次平均阻尼才干 ...

  6. 玩转Web之servlet(四)---B/S是怎样使用http协议完毕通信过程的

    在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和server之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是怎样利用http协议去完毕通信的. (一)通讯过程 ...

  7. apache启动报错:the requested operation has failed解决办法

    原因一:80端口占用 例如IIS,另外就是迅雷.我的apache服务器就是被迅雷害得无法启用! 原因二:软件冲突 装了某些软件会使apache无法启动如Dr.com 你打开网络连接->TcpIp ...

  8. Windows安全事件日志中的事件编号与描述

    帐号登录事件(事件编号与描述) 672 身份验证服务(AS)票证得到成功发行与验证.673 票证授权服务(TGS)票证得到授权.TGS是一份由Kerberos 5.0版票证授权服务(TGS)发行.且允 ...

  9. 使用vsnprintf后链接错误及解决方法

    /home/merlin/swinstall/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/../lib//../../../../a ...

  10. js实现文字横向滚动

    页面布局      <div id="scroll_div" class="fl">         <div id="scroll ...