3.1 引言

unreliable不可靠的意思是它并不能保证IP数据报能成功的到达目的地。IP只提供尽力而为的传输服务。
conectionless无连接的意思是IP并不维护任何关于后续数据报的状态信息。整个数据报的处理是相互独立的。即每个数据报都是独立地进行路由选择,可能选择不同的路线。

3.2 IP首部

  • 4个字节的32bit值以下面的次序传输:(1)0-7 bit (2)8-15 bit (3)16-23 bit (4)24-31 bit,这种传输次序称为big endian字节序,因此他又称为网络字节序。
  • 目前的协议版本号是4,因此IP有时也称作IPv4。
  • 服务类型TOS字段:3 bit优先权子字段(已被忽略),4 bit的TOS子字段,1 bit未用位但必须置为0。如果所有的4 bit(TOS字段)都置0,则意味着是一般服务。
  • Telnet 和 Rlogin 这两个交互应用要求最小的传输时延,因此人们主要用来传输少量的交互数据。 FTP文件要求最大的吞吐量。SNMP(网络管理)和路由选择协议要求最高可靠性。NNTP(用户网络新闻)是唯一要求最小费用的应用。
  • 总长度字段是指整个IP数据报的长度,以字节byte为单位,是IP首部中必要的部分。利用首部长度字段和总长度字段可以知道IP数据报中数据内容的起始位置和长度。
  • 标示字段唯一地标识主机发送的每一份数据报。
  • TTL(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数,它指定了数据报的生存时间。TTL的初始值由源主机设置(一般为32 或者 64),一旦经过一个处理它的路由器,值-1,。当字段值为0时,数据报就被丢弃。TTL体现了IP协议的unreliable。
  • 协议字段,被用于对数据报进行分用。可以识别出是哪个协议向IP传送数据。
  • 首部检验和字段是根据IP首部计算的检验和码。具体检验方法参见教材P26-27。
  • 每一份IP数据报都包含源IP地址和目的IP地址,它们都是32 bit的值。

3.3 IP路由选择

特殊情况:(1)目的主机与源主机直接相连(PointToPoint链路) (2)都在同一个共享网络上(以太网或令牌环网) IP直接到达目的主机。
教材P4 介绍了主机和路由器的区别,多接口主机一般不称作路由器,但是也可以具有路由器的功能:单纯的转发数据报。

IP可以从(1)TCP,UDP,ICMP,IGMP接收数据报(即在本地生成的数据报) (2)从一个网络接口接收数据报(待转发的数据报) 进行发送。
IP路由选择是逐跳逐跳(hop-by-hop)的进行,IP内存中有一个路由表,当接收到一份数据报之后,对该表进行搜索:

  • (1)搜索路由表,寻找能与目的IP地址完全匹配的表目(网络号和主机号均匹配),找到后由标志字段的值决定发往下一跳路由器或者网络接口。
  • (2)步骤1 missed,搜索路由表,寻找能与目的网络号所匹配的表目,找到后由标志字段的值决定发往下一跳路由器或者网络接口。
  • (3)步骤1 2 missed,搜索路由表,寻找标为“默认”的表目,找到后发往表目指定的下一跳路由器。
  • (4)以上均失败,向生成数据报的application发送一个“不可达”的错误。

当接收一份来自某个网络接口的数据报时(待转发的数据报),IP先检查是否是本机的IP地址之一或者IP广播地址,是的话数据报被送到IP首部协议字段所指定的协议模块进行处理。如果不是,if(1)IP层被设置为路由器的功能,进行转发数据报的工作 else(2)数据报被丢弃。

3.4 子网寻址

  • 现在所有的主机都支持子网编址,把原来地址的主机号分为一个子网号和一个主机号。
  • 从InterNIC获得某类IP网络号以后,就由当地的管理员进行分配,一般采用自然的划分方式,对于B类地址来说,把留给主机号的16 bit中的8 bit分配给子网地址,剩下的8 bit作为主机号。
  • 子网对于外部路由器来说隐藏了内部网络结构的细节。但是子网对于子网内部的路由器是不透明的。
  • 与30个C类地址相比,用1个包含30个子网的B类地址的好处是:缩小了Internet路由表的规模。即子网划分缩短了路由表的规模。

3.5 子网掩码

  • 主机在引导过程中通过子网掩码确定有多少比特分配给子网号,有多少比特用于主机号。
  • 子网掩码经常用十六进制表示,特别是当界限不是一个字节(8 bit)时,因为子网掩码是一个比特掩码。
    给定IP地址和子网掩码之后,主机能够确定IP数据报的目的是:
  • (1)本子网上的主机
  • (2)本网络中其他子网的主机
  • (3)其他网络中的主机。
  • 知道IP地址之后,可以根据它的高位得知它是A类或者B类或者C类地址。也就是子网号和网络号的分界线
  • 知道子网掩码之后,可以知道子网号和主机号之间的分界线。
  • 子网掩码是一个32 bit的值,其中值为1的bit留给网络号和子网号,值为0的bit留给主机号。

做个这样的比方:
有很多人住在很多不同的小区里面,小区类比于子网,人类比于主机,比如说我们要找到幸福小区的陈某某同学,那么我们找的顺序是:先找到幸福小区,再找到陈某某同学。
小区有大有小,那么这通过小区的户口来决定,小区的户口类比于子网掩码。

举典型的例子:
IP 中前 24 位代表子网号,后 8 位代表主机号。
所以子网掩码就是 24 个 1(代表前 24 位是子网部分),加 8 个 0(后 8 位是主机部分)。
如果沿用 IP 的标识方式,就是 255.255.255.0 。
每一个 255 对应 8 个二进制 1,最后一个 0 对应 8 个二进制 0。
该子网可以容纳最多 256 台主机,也就是主机号从 0 到 255。

2016/7/24

【TCP/IP协议 卷一:协议】第三章 IP:网际协议相关推荐

  1. TCP/IP illustrated 阅读笔记(三) IP协议

    1. 什么是IP协议: Internet Protocol,工作在网络层,是TCP/IP协议族中的workhorse协议(意思就是IP是个搬砖的),是一个提供最best-effort(尽最大努力)的无 ...

  2. TCP/IP 网络编程笔记 第三章 地址族与数据序列

    文章目录 3.1 分配给套接字的 IP 地址与端口号 3.1.1 网络地址(Internet Address) 3.1.2 网络地址分类与主机地址边界 3.1.3 用于区分套接字的端口号 3.2 地址 ...

  3. [深入理解Android卷一全文-第三章]深入理解init

    由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...

  4. 第三章IP网际协议层

    IP数据报的格式.普通的IP首部长为20个字节,除非含有选项字段. 4字节的32bit值传输次序:0-7,其次8-15,然后16-23,最后24-31.这种传输次序为大端字节序,又称网络字节序.另外一 ...

  5. 《网络安全工程师笔记》 第三章:进制转换

    注:本笔记来自温晓飞老师的网络安全课程 第三章:进制转换 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章:服务器远程 ...

  6. 计算机三级网络技术第三章(第一轮)

    第三章  IP地址规划技术 (选择题8-11    综合题第一题.应用题子网划分(占分值20分) 常考知识点:IP地址分类及子网划分     无类域间路由技术(CIDR)     NAT技术工作原理  ...

  7. ip广播系统服务器设备,校园IP网络广播设备都有哪些?数字IP广播系统如何配置-航天广电软件...

    校园IP广播系统概述 校园采用网络广播设备近几年正处于如火如荼的快节奏发展中,各大中院校,中小学校,数字IP广播系统的安装量每年剧增.今年大兴区教委为大兴区校园通过招标形式统一采购数字IP广播系统. ...

  8. 【TCP/IP详解 卷一:协议】第十二章 广播和多播

    建议参考:广播和多播 IGMP 12.1 引言 IP地址知识点回顾: IP地址分为三种:(1)单播地址 (2)广播地址 (3)多播地址 另外一种是,IP地址一般划分成五类:A-E类. 单播 考虑 类似 ...

  9. TCP笔记之阅读《TCP/IP协议卷一》

    标注: 看<TCP/IP协议卷一>记的笔记 处理差错的两种主要方法 差错校正码 数据重传 使用序列号解决分组重复的问题 停止个等待协议的吞吐量性能低,因此允许多个分组被注入网络(滑动窗口) ...

最新文章

  1. 那些年,SDN走过来时的路
  2. mysql中创建用户并授权_MySQL中创建用户及授权[转]
  3. SVG 与 HTML5 的 canvas 相比较:
  4. Orchard详解--第八篇 拓展模块及引用的预处理
  5. 每天一道剑指offer-数组中出现次数超过一半的数字
  6. 地理信息系统(GIS)系列——ArcGIS API for JavaScript 3.9(2)
  7. excel VBA编程入门,自定义excel数据库模板生成sql语句
  8. 人类自然语音频率范围
  9. 圣诞节flash卡通短片
  10. 爷青回|用Python重构【超级马里奥】制作过程+解析|快收藏起来跟小伙伴一起拯救公主吧~
  11. 制作Win7多合一原版系统光盘镜像
  12. 扔掉你 WINDOWS 中的盗版软件吧
  13. 大型机是微型计算机吗,计算机按规模分为巨、大、中、小、微型计算机,其发展趋势为()。A、巨型机B、大型机C、微型机D、巨型机...
  14. 关于罗德里格斯公式(Rodrigues‘sFormula)的详细推导过程
  15. 最新!Xmind2020安装教程
  16. 【网络安全】细分领域总览
  17. 如何测试人工智能软件?
  18. 数据表分区策略及实现
  19. 【转】什么是WTW Wi-Fi 6(802.11ax)解析18:TWT节能机制(Target Wake Time)
  20. Android 读shp属性字段

热门文章

  1. mysql5.7与8.0用那个_MySQL 5.7 vs 8.0,哪个性能更牛?
  2. 如何拼通网络ip地址_如何解决IP地址冲突
  3. Java项目:学生选课系统(java+javaweb+jdbc)
  4. 临平职高计算机专业高职考大学,临平职高高考再传捷报 本科连续四年蝉联杭州市第一...
  5. Injection of @Reference dependencies failed;
  6. Window对象中setInterval()和setTimeout()的区别
  7. python启动appium服务_python下appium服务的自启动和关闭
  8. lua5.2调用c函数成功的例子
  9. 微信小程序之apply和call ( 附示例代码和注释讲解) apply call  bind
  10. Swift 值类型和引用类型的内存管理