IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。

IP提供不可靠、无连接的数据报传送服务。

1.不可靠:就是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。

2.无连接:每个数据报的处理都是相互独立的,IP数据报可以不按发送顺序接收。

1.IP首部

其中TTL(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。

一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃。并发送ICMP报文通知源主机

2.IP路由选择

IP路由选择是简单的,大多数主机都是采用下面的简单机制。

如果目的主机与源主机直接相连(点对点链路)或在一个共享网络上(以太网),那么IP数据报就直接送到目的主机上。

否则,主机把数据报发往一默认路由器上,由路由器来转发数据报。

在一般的体制中,IP层在内存中由一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。

路由表中的每一项包含下面这些信息:

1.目的地址。既可是一个完整的主机地址,也可以是一个网络地址,由该表的标志字段来指定。

2.下一跳路由器的IP地址,或者有直接连接的网络IP地址。

3.标志

4.为数据报传输指定一个网络接口

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

1.搜索路由表,寻找能与目的IP地址完全匹配的表目。如果找到,则把报文发送给该表目指定的下一跳路由器或直接连接的网路接口。

2.搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目指定的下一跳路由器或直接连接的网络接口。

3.搜索路由器,寻找标为默认的条目。如果找到,则把报文发送给该表目指定的下一跳路由器。

如果上面这些步骤都没有成功,那么该数据报就不能被传送。

3.子网寻址

现在所有的主机都要求支持子网编址(把主机号再分成一个子网号和主机号)

在InterNIC获得某类IP网络号后,就由当地的系统管理员来进行分配,由他来决定是否建立子网,以及分配多少比特给子网号和主机号。

下面是一个B类地址的一种子网编址

4.子网掩码

除了IP地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号,这是通过子网掩码来确定的。

这个掩码是一个32bit的值,其中值为1的比特留给网络号和子网号,为0的比特留给主机号。下图是一个B类地址的两种不同的子网掩码格式。

给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是:

1.本子网上的主机

2.本网络中的其他子网中的主机

3.其他网络上的主机

 

TCP/IP详解 卷一(第三章 IP:网际协议)的更多相关文章

  1. TCP/IP详解 卷一(第二章 链路层)

    在TCP/IP协议族中,链路层主要有三个目的: 1.为IP模块发送和接收IP数据报 2.为ARP模块发送ARP请求和接收ARP应答 3.为RARP请求和接收RARP应答 TCP/IP支持多种不同的链路 ...

  2. TCP/IP详解 卷一(第一章 概述)

    很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们相互进行通信. 1.分层 TCP/IP不是一个协议,而是一个协议族,通常它被认为是一个四层的协议系统,下面展 ...

  3. 《TCP/IP 详解 卷一》读书笔记-----IP静态 路由

    1.主机中的路由表只能被守护进程routing daemon或者“redirect”类型的ICMP报文所更新. 2.在根据路由表进行路由选择时,判断的优先级从高到低依次为1)表中存在与目的IP完全匹配 ...

  4. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  5. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——07

    2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图 ...

  8. 【TCP/IP详解 卷一:协议】第十一章 UDP 用户数据报协议

    11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议, ...

  9. 【TCP/IP详解 卷一:协议】第9章 IP选路

    推荐链接:网络地址与主机地址 9.1 引言 路由选择程序(daemon),通常这是一个用户进程.在大多数的Unix系统中,大多数的路由选择程序都是路由程序和网关程序. 路由表经常被IP访问,但是它被路 ...

  10. 【TCP/IP详解 卷一:协议】第六章:DHCP 和自动配置

    简介 为了使用 TCP/IP 协议族,每台主机or路由器都需要一定的配置信息: IP地址 子网掩码 广播地址 路由或转发表 DNS 协议配置方法: 手动 通过使用网络服务来获得 使用一些算法来自动确定 ...

随机推荐

  1. windows server 2012 下IIS8.5关于“ 配置错误 不能在此路径中使用此配置节”的解决办法

    服务器升级为windows server 2012 r2后,发布在新装的IIS8.5上的网站不能访问,页面显示“500 - 内部服务器错误.” 在服务器上调试后,提示的错误信息为: 配置错误 不能在此 ...

  2. centos6.5 mysql忘记登入密码

    1.修改文件目录为/etc/my.cnf的文件; 在[mysqld]的段中加上一句:skip-grant-tables,保存文件重启数据库: 例如: [mysqld] skip-grant-table ...

  3. BZOJ-1038 [ZJOI2008]瞭望塔

    先求半平面交,然后建塔的地方肯定是在半平面交的交点上或者是在地面线段的交点上. #include <cstdlib> #include <cstdio> #include &l ...

  4. 配置ubuntu16.04下Theano使用GPU运行程序的环境

    ubuntu16.04默认安装了python2.7和python3.5 .本教程使用python3.5 第一步:将ubuntu16.04默认的python2修改成默认使用python3 . sudo ...

  5. Linux下对superblock的理解

    对superblock的理解首先从partition structure的结构开始: 开始的,总的来说,block这个概念好理解..下面就是对super block的理解了Super block即为超 ...

  6. 【04】Vue 之 事件处理

    4.1. 监听事件的Vue处理 Vue提供了协助我们为标签绑定时间的方法,当然我们可以直接用dom原生的方式去绑定事件.Vue提供的指令进行绑定也是非常方便,而且能让ViewModel更简洁,逻辑更彻 ...

  7. POJ3104 Drying

    Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13703   Accepted: 3527 Description It i ...

  8. gpio 預設值

    若 gpio 預設值只寫 pull-down or pull-up or no-pull or keeper, 代表 是 input mode.

  9. Selenium2+python自动化(学习笔记2)

    from selenium import webdriverdriver = webdriver.Ie()driver.get=("http://www.baidu.com")dr ...

  10. sublime text3中成功使用bootstrap3

    在视图这里卡了挺久的,一直是自己在研究.其实自己有一个坏毛病,遇到问题,在网上搜集下找不到便寻求帮助(大多数是求助无效果,因为自己也没搞懂), 这时候自己就会懈怠一会,然后隔一两天心血起伏后便又继续干 ...