《TCP/IP详解 卷1:协议》读书笔记 第三章 IP :网际协议

读书笔记 TCP/IP详解 卷1 经过了一个国庆的颓废,还是要收收心,继续复习。之前对很多书籍进行了一次大扫荡。接下去需要二刷,另外,需要一刷的书籍是《设计模式》。先利用黑皮书对网络知识进行一次巩固吧。 第二章 链路层 以太网(可以理解为就是一个标准(RFC894),RFC1042就是IEEE 802.2/802.3,除此之外还有SLIP封装,PPP封装等)的封装图: MTU最大传输单元,数据长度假如比链路层的MTU大,则需要 阅读详情

第三章 IP :网际协议


IP协议提供不可靠,无连接的数据报传送服务。
不可靠:不保证IP数据报成功到达目的地。
无连接:IP不维护后续数据报的状态信息(不一定按序发送和接收)。

IP首部

 

IP首部一般为20个字节,除非包含选项字段。

版本:IPv4或IPv6

首部长度:首部的长度,以4 byte为单位,包含选项字段。该字段共4 bit,因此IP首部最长为60 Byte,且必须为4 Byte的倍数

服务类型:

总长度:整个IP数据报的长度,以byte为单位。该字段共16 bit,所以IP数据报最长为2^16 byte

标识:唯一标识主机发送的每一份数据报

TTL:Time-To-Live,数据报可以经过的最多路由数,一旦经过一个处理它的路由器,它的值减1,当为0时,数据报就被丢弃,并发送ICMP报文通知   源主机。

协议:识别是哪个协议向IP协议传送数据,包括TCP,UDP,ICMP,IGMP……

首部检验和:根据IP首部计算的检验和码(将该字段置0,对首部中每16bit进行二进制反码求和,结果存在该字段;接收方收到后对首部中没16bit进行二进制反码求和,若结果全为全1,则正确)(注意是对IP首部进行检验,而不是IP首部+IP数据,而UDP的检验和是针对UDP首部+UDP数据)(但是为什么要反码?)

IP地址:32bit,记录格式一般为点分十进制(e.g. 192.168.1.1)

为什么要用反码求和而不是原码求和来检验首部和?

1)首先,我们要明确反码求和和原码求和的区别,反码求和溢出时,即最高位有进位,则将该进位加到最低位上;而原码求和则是丢弃该进位。

2)其次,明确Big Endian字节序和Little Endian字节序:

TCP/IP网络传输时,先传0-7bit,其次8-15bit,然后16-23bit,最后24-31bit(从小到大),这叫网络字节序,也叫Big Endian字节序。

Big Endian字节序:最高字节在地址最低位,最低字节在地址最高位

Little Endian字节序:反之

比如将 0x1234 存入 0x0000 开始的内存

Memery     Big Endian    Little Endian

0x0000     0x12            0x34

0x0001     0x34            0x12

3)那么,使用反码求和就可以不依赖系统是Big Endian字节序还是Little Endian字节序,而原码求和会受到字节序的影响。

4)最后,举个例子就明白了。

原码:

  10000000 00000000

+10000010 00000000

=00000010 00000000

原码,使用另一种字节序:

  00000000 10000000

+00000000 10000010

=00000001 00000010

反码:

  01111111 11111111

+01111101 11111111

=11111101 11111111

反码,使用另一种字节序:

  11111111 01111111

+11111111 01111101

=11111111 11111101

可以看到,反码求和,改变了字节序,结果相同,只是字节顺序相应地也交换了;而原码的结果就不同了。

 

IP路由选择

IP从TCP,UDP,ICMP和IGMP接收数据报(即本地生成的数据)并进行发送,或者从一个网络接口接收数据进行转发或接收。

1)当数据来自TCP,UDP,ICMP和IGMP(从上传递下来的):

传递给链路层

2)当数据报来自网络接口(从下传递上来的):

(1)IP首先判断IP地址是否为本地地址或者广播地址,如果是就送到首部协议段所指定的协议模块进行处理(继续向上传递)

(2)如果不满足这些地址,且IP层设置为了路由功能,那么就对数据报进行转发,否则数据报被丢弃

 

那么,什么叫IP的路由功能呢?有了路由功能怎么对数据报进行转发呢?

当收到一个IP数据报的时候,IP并不知道该数据报达到最终目的的完整路径,所有的IP路由选择只为数据报提供下一站路由器的IP地址,IP的路由选择功能为:

1)搜索路由表,寻找目的IP地址(网络号+主机号),找到则发给该行记录的下一个路由器

2)若1)失败,则继续搜索路由表,寻找目的IP地址的所在网络号,找到则发给该行记录的下一个路由器

3)若2)失败,则继续搜索路由表,寻找叫做“默认”的那行记录,找到则发给该行记录的下一个路由器

4)若3)失败,则该数据报就不能被传送

 

子网掩码

IP地址=网络号+子网号+主机号

子网掩码即与IP地址对应的网络号和子网号为1,主机号为0的32个bit

子网的划分缩减了路由表的规模:

为了到达IP地址为140.252.*.*的主机,路由表现在只需记录到达子网络140.252的下一跳,而不需要记录该子网下的所有主机的下一跳。


TCP/IP协议初步认识 ——《TCP/IP Illustrated, Vol. 1: The Protocols》读书笔记 TCP/IP协议初步认识 ——《TCP/IP Illustrated, Vol. 1: The Protocols》读书笔记 by斜风细雨QQ:253786989    2012-02-19    TCP/IP协议起源于60年代末美政府的一个分组交换网络研究项目,现如今已成为计算机之间最常用的组网方式。 (1) 分层   TCP/IP协议簇分为4个不同的抽象层,每一层完成不同的功 阅读详情

相关推荐

TCP/IP Illustrated学习笔记(1)

这是我写得第一篇博客,是一篇读书笔记。 前段时间,从网上买了W.Richard.Stevens的两本书《APUE》与《TCP/IP详解 卷1:协议》,前一本粗略的翻了一遍,算是对Linux系统有了直观上的了解,比如说文件操作、进程、线程等知识,准备这几天开始把《APUE》认真地看一遍,每天消化一点内容。而后一本书还在看,已经看到11章UDP的前半部分了,这里我把前10章的内容做一个总结,当做是知

linwkr的专栏 1651

TCP/IP详解卷1 读书笔记:第三章 IP网际协议

引言 IP提供不可靠的、无连接的服务,其上层协议(TCP、UDP、ICMP、IGMP)都需要IP协议提供服务。 如果发生某种错误,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP差错报文给源端。任何要求传输的可靠性必须由上层协议来实现(如TCP)。 IP数据报及IP分片到达顺序都是未知的,因为每一个IP数据报和IP分片都可能通过不同的路由。

多学多思 1165

电动快换模块为何首选RS485+Modbus RTU通信方案

RS485是一种广泛应用于工业现场的差分串行通信物理层标准,以其强抗共模干扰能力著称;Modbus RTU则是基于该物理层的轻量级主从式协议,具备CRC校验、帧间隔保护等高可靠性机制。二者组合构成确定性通信的基础范式,在电磁环境复杂、实时性要求适中(<100ms)、故障容忍度极高的场景下展现出不可替代的技术价值。典型应用包括机器人末端执行器控制、PLC与智能执行单元互联、产线分布式IO通信等。本文聚焦电动快换模块这一典型工业执行终端,深入解析RS485物理层七道防护设计与Modbus RTU协议层工程化实现

weixin_34208185的博客 221

《TCP/IP详解 卷1:协议》 读书笔记 第三章 IP:网际协议

第三章 IP:网际协议1.引言IP提供的是不可靠,无连接的数据报传递服务。不可靠是说它不能保证IP数据报能成功地到达目的地,它仅提供最好的传输服务。可靠性必须由上层来提供。无连接则是说IP并不维护任何关于后续数据报的状态信息,每个数据报都是独立的。所以IP数据报可以不按序接收,每个数据报独立地进行路由。2.IP首部IP数据报格式: 普通的IP首部为20字节.除非包含选项字段。网络字节序,也被称

jiange_zh的博客 1337

echarts实现折线图上下限区域展示

效果图: 画这种区域中主要是利用了series的两个属性: 思路:上下限都画上区域,然后折线利用图形透明度隐藏,给上区域加上颜色,给下区域加上白色(echarts图背景是啥色,就加啥色) lineStyle: { opacity: 0 }, // 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形 areaStyle: { color: 'rgba(0,122,255,0.1)' }, // 填充的颜色 我的需求是最大天数、最小天数、

小太阳的博客 1万+

佳能C3025打印机扫描方法

佳能C3025彩色打印机扫描方法 步骤一、如果打印机处于休眠状态,可按图中标记的按钮唤醒打印机; 然后点击屏幕上的【扫描】 步骤二、扫描类型选择【文件】 步骤三、点击屏幕上的【地址簿】 步骤四、此时屏幕胡看到名字,如果看不到自己的名字,可往下滑动直到看到自己的名字,然后点击自己的名字,再点击右下角的【应用】 步骤五、点击【发送设置】,可看到文件格式为PDF,点击可以选择JPEG的图片格式。...

weixin_46019317的博客 2万+

《TC/IP详解:卷I》读书笔记--第三章 IP 网际协议

3.1 引言 (1) IP在传输服务时出现错误(如,路由器的缓冲区用完了),直接丢弃该数据报,然后通过ICMP消息给信源端。 (2) 无连接,意思中IP不维护任何关于后续数据报的状态信息,每个数据报的处理都是独立的。不同的数据报都       要独立地进行路由选择,可能选择不同的路线。 3.2 IP首部 1. 网络字节序      4个字节32位按一下顺序传输:

freezgw1985的专栏 1226

TPS5430/54302调试血泪史:从‘烫手山芋’到冒烟烧板,我的5V电源到底怎么了?

本文深入剖析了TPS5430/TPS54302 DCDC电源芯片调试中的常见问题,包括异常发热、电压漂移等,并提供了从热设计到PCB布局的全面解决方案。通过实战案例,揭示了数据手册中未明确的‘潜规则’,帮助工程师避免烧板风险,提升电源系统稳定性。

weixin_28744423的博客 498

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

《TCP/IP详解 卷1:协议》读书笔记 第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理层  

2320

影刀RPA进阶:Excel多条件筛选与数据提取实战

本文详细介绍了如何利用影刀RPA实现Excel多条件筛选与数据提取的自动化。通过拆解文本、数值、日期及颜色筛选等核心指令,并结合实战案例,指导用户构建稳健的销售数据提取机器人,从而高效处理复杂数据报表,提升工作效率。

onion的博客 527

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

python03011的博客 3750

《TCP/IP详解 卷1:协议》读书笔记项目教程

本项目《TCP/IP详解 卷1:协议》的读书笔记,其目录结构如下: ``` tcpip-note/ ├── 1. 概述.md ├── 2. 链路层.md ├── 3. IP:网际协议.md ├── 4. ARP:地址解析协议.md ├── 5. RARP:逆地址解析协议.md ├── 6. ICMP:Internet控制报文协议.md ├── 7. Ping程序.md ├── 8. Tracer...

gitblog_00115的博客 390

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

yohnyang的博客 88

《TCP/IP详解 卷1:协议》 读书笔记 第3章 IP:网际协议

《TCP/IP详解 卷1:协议》 读书笔记 第3章 IP:网际协议

山洞拐 600

【单片机】STM32F103C8T6 最小系统板原理图

STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。LQFP48封装(Low-profile Quad Flat Package,48引脚)SRAM(静态随机访问存储器):20 KB。支持JTAG调试和编程接口(可选)多个通用输入/输出口(GPIO)USB接口(用于USB设备模式)内置调试和编程接口(SWD)

q742971636的博客 6万+

深度学习在移动开发中的应用:实时姿态估计实战

我们将使用TensorFlow Lite框架,结合专为移动端优化的MoveNet模型,实现一个能够在主流Android设备上达到30FPS的多人姿态跟踪解决方案,并深入探讨其优化技巧和实际应用场景。特别是3D姿态估计、多人长期跟踪等前沿技术的发展,将进一步推动移动端姿态估计技术的应用深度和广度。在下一篇文章中,我们将探讨深度学习在移动端的另一个创新应用:实时手势识别,包括如何在资源受限的环境中实现复杂手势的实时识别,以及这项技术在AR/VR交互、智能家居控制等场景中的应用。第四部分:典型应用场景实现。

Programming Talk 325

《TCP/IP详解卷1:协议》第1章 概述-读书笔记 转载

章节回顾: 《TCP/IP详解卷1:协议》第1章 概述-读书笔记 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记 《TCP/IP详解卷1:协议》第5章 RA...

weixin_30753873的博客 172

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

TCP/IP详解卷1读书笔记

第1章 TCP/IP(Transmission Control Protocol/Internet Protocol)传输控制协议/Internet协议 1.1 分层 1)链路层,又称作数据链路层或网络接口层常,包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节; 2)网络层,也称作互联网层,处理分组在网络中的活动,例如分组的...

Sunshine_366的博客 342

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记

章节回顾: 《TCP/IP详解卷1:协议》第1章 概述-读书笔记 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解...

weixin_33758863的博客 82

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

《TCP/IP详解 卷一:协议》读书笔记--IP:网际协议

3.1、引言 不可靠:它不能保证IP数据报能成功地到达目的地。 无连接:IP并不维护任何关于后续数据报的状态信息。这也说明,IP数据报可以不按发送顺序接收。 3.2、IP首部 4个字节的32 bit值以下面的次序传输:首先是0~7 bit,其次是8~15 bit,然后16~23 bit,最后是24~31 bit。这种传输次序称为big endian字节序。由于TCP/IP首部中

crazychen的专栏 2045

《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记

章节回顾: 《TCP/IP详解卷1:协议》第1章 概述-读书笔记 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解...

weixin_34387284的博客 166

读书笔记:TCPIP详解卷一 第三章 IP:网际协议

3.1引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输(见图1-4)。许多刚开始接触TCP/IP的人对IP提供不可靠、无连接的数据报传送服务感到很奇怪,特别是那些具有X.25或SNA背景知识的人。 不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。如果发生某种

持之以恒 7185

用TCP/IP进行网际互联 卷一 读书笔记1

1.MB/s与MBit/s的区别? 前者是兆字节每秒,后者是兆比特每秒。1B=8bit因此,1MB/s=8MBit/s,而带宽一般是Mbit/s,所以2M带宽是250kb/s. 2.TCP/IP协议,包含了一系列构成互联网基础的网络协议。这些协议最早发源于美国国防部的ARPA网项目。TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议)。

Coding Life 1868
上一篇: 《TCP/IP详解 卷1:协议》读书笔记
下一篇: c++: size_type与 size_t
chen-linux
博客等级 码龄12年 39粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值