接下来,总结一下网络层的协议,IP,ARP,RARP,ICMP,IGMP。当我们在网络传输的过程中,把分组交付到主机或路由器需要两级地址:物理地址和逻辑地址。而且我们需要能够把物理地址映射成为相应的逻辑地址,反过来的映射也是必要的。

  这时候就涉及两个概念:静态映射与动态映射。

  静态映射就是创建一个表,将逻辑地址与物理地址关联起来,这个表存储在网络的每一个机器上。可是存在于网络中的机器的物理地址是经常会发生改变的(更换网卡),这样静态映射表就得时常更新,影响网络的性能。

  动态映射就是每当机器知道其中一个地址,就能够通过协议找出另外的一个地址。这时候就需要ARP和RARP来完成动态映射!

一.ARP(地址解析协议)

  ARP就是把逻辑地址映射为物理地址;ARP请求采用广播发送,回答采用单播发送。

二.RARP(逆地址解析协议)

  RARP就是将物理地址映射为逻辑地址,RARP请求采用广播发送,回答采用单播发送。

三.IP(因特网互联协议)

  IP是TCP/IP的传输机制,不可靠,“尽最大努力”。当可靠性很重要的时候,IP必须与TCP配合起来使用。

  VER:版本

  HLEN:首部长度

  生存时间:数据报在通过互联网时必须具有受限的寿命。最初打算保持一个时间戳,由经过的每一个路由把这个数值减1.当时间戳的值变为0时就丢弃这个数据报。但是这样所                      有的机器都必须同步,还要知道数据从一个机器到另一个机器的时间。所以现在这个数字用来数据报所通过路由的最大跳数。

  协议:1-->ICMP,2-->IGMP,6-->TCP,17-->UDP。定义使用IP层服务的高层协议

  与分片有关的字段:

  标识:

  标志:3位,第一位保留以后用,第二位“不分片”,若为1,表示不能对该数据报进行分片。最后以为是“分片”。

  分片偏移:这是在原始的数据报中的数据的偏移量。

  检验和:在大多数TCP/IP协议族采用的差错检测方法是检验和。检验和能够保护分组在传输时所受的损伤。检验和是在分组上附加的信息。

四.ICMP(★★★网际控制报文协议)

  IP协议缺少差错控制和辅助机制。ICMP就是为了补偿上述两点而设计的。实际上,ICMP报文首先要封装成IP数据报,然后传给下一层。ICMP报文分成两大类:差错报告报文和查询报文。

  其中差错报告报文:

  3-->终点不可达;                          4-->源点抑制;

  11-->超时;                                12-->参数问题;

  查询报文:

  8或0-->回送请求或者回答                13或14-->时间戳请求或者回答

  17或18-->地址掩码请求或回答          10或9-->路由询问和通告

ICMP差错报告报文:

  ICMP总是把差错报告报文报告给原始的数据源;

  对于携带ICMP差错报文的数据报,不再产生ICMP差错报文;

  对于分片的数据报,如果不是第一个分片,则不产生ICMP差错报文;

  对于具有特殊地址(127.0.0.0或0.0.0.0)的数据报,不产生ICMP差错报文

五.IGMP(网际组管理协议)

  IP协议可以用在两种类型的通信:单播和多播(同样的报文同时发送给一大批接收端)。IGMP是与多播有关的一个必要但不充分的协议。IGMP报文有3中报文类型:查询、成员关系报告和退出报告。

  

  

TCP/IP知识总结(TCP/IP协议族读书笔记二)的更多相关文章

  1. TCP/IP知识总结(TCP/IP协议族读书笔记一)

    一.简述TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/互联网互联协议,又名网络通信协议.是Internet最基 ...

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

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

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

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

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

    2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限 ...

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

    2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...

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

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

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

    2013-08-27 15:37:42 6.5 ICMP端口不可达差错 端口不可达报文是ICMP差错报文的一种,它是ICMP不可达报文中的一种,以此来看一看ICMP差错报文中所附加的信息.使用UDP来 ...

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

    2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...

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

    2013-08-21 13:56:23 3.3 IP路由选择 1. IP路由选择有两种情况.(1)如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么IP数据报就 ...

随机推荐

  1. 文件上传 accept 兼容性

    写法1 在chrome下有反应很慢的问题,不要使用 写法2 在firefox.Safari 中有兼容性问题,弹出选择框不会高亮显示jpg后缀的图片 写法3 在写法2上都添加了image/jpeg,解决 ...

  2. maven 指定 jdk 版本

    方法1:直接修改 本地  settings.xml 文件 <profiles>  </profiles> 之间加入 下面的 <profile> <id> ...

  3. Angular 4 路由时传递数据

    路由时传递数据的方式有 1. 在查询参数中传递数据 2. 在路由路径中传递参数 3. 在路由配置中传递参数 一.在查询参数中传递数据 在前一节的基础上,我们增加路由数据传递 2. 接收参数的地方 3. ...

  4. html 子元素和父元素都监听了 click 事件,点击子元素时为何先触发的是父元素的 click 事件?

    先上一段代码,点击子元素时先触发的是父元素的 click 事件 <html> <head> <script type="text/javascript" ...

  5. gdb 调试(查看运行时数据)(五)

    查看栈信息 当程序被停住了,首先要确认的就是程序是在哪儿被断住的.这个一般是通过查看调用栈信息来看的.在gdb中,查看调用栈的命令是backtrace,可以简写为bt. (gdb) bt    #0 ...

  6. 【Spring学习笔记-MVC-17】Spring MVC之拦截器

    作者:ssslinppp       1. 拦截器简介及应用场景 2. 拦截器接口及拦截器适配器 3. 运行流程图 正常运行 中断流程 4. 程序实例 控制层: @Controller @Reques ...

  7. Linux下查看某个进程占用的CPU、内存

    1.用top命令指定固定的PID top -p 10997 查询指定进程的PID ps -ef | grep zookeeper jim 10997 1959 0 12月14 pts/2 00:00: ...

  8. 最近比赛中遇到的几道dp题

    1.2015 icpc 长春-H-Partial Tree(据说是完全背包,但我觉得不像) 一.题意 给定$n$个点,每一个点$i$的权值为关于度数$d_i$的函数$f(d_i),$让你构建一棵树,使 ...

  9. 复现ICCV 2017经典论文—PyraNet

    . 过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含“伪代码”.这是今年 AAAI 会议上一个严峻的 ...

  10. 小朋友学Python(1):Python简介与编程环境搭建

    一.Python简介 不死Java,不朽C/C++,新贵Python. Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰 ...