互联网基础:

 
数据链路层:RFC文档:894/1042/1340
  1. 为IP模块发送和接受IP数据报
  2. 为ARP模块发送ARP请求和接收ARP应答
  3. 为RARP模块发送RARP请求和接收RARP应答
 
*CSMA/CD:带冲突检测的载波侦听多路访问
 

 
 
 
串行链路IP(SLIP):RFC 1055
  1. IP数据报以一个END(0XC0)的特殊字符串结束
  2. END---> 0XDB(ESC)、OXDC
  3. ESC---> 0XDB、0XDD
 
压缩SLIP:rfc1144
一般能把40个字节压缩到3-5个字节
 
PPP:点对点协议
 
 
环回接口:127.0.0.1/localhost
 

最大传输单元MTU:以太网和802.3对数据帧的一个限制,即传输的数据,不包括以太网或802.3的首部和尾部校验(首部为6比特的目的地址、6比特的源地址、2比特的长度、4比特的CRC)
路径MTU:通信主机路径中的最小MTU
 

IP:rfc791
 

 
 

ARP/RARP:rfc826
ARP-(根据目标IP找到下一跳MAC地址)
查看ARP缓存: arp -a
 
ARP代理:若果ARP请求是从一个网络的主机到另一个网络的主机,那么连接这两个网络的路由器就可以回答该请求,这样,就使发起ARP请求的发送端误以为路由器就是目的主机。
免费ARP:指主机发送ARP查找自己的IP地址
*一个主机收到一个ARP请求,如果ARP请求中的目的IP地址是这个主机,那么这个主机回一个ARP应答,
*如果主机收到某个IP的ARP请求,且这个IP已经在这个主机的ARP缓存中了,那么就要用ARP请求中的发送端硬件地址对ARP缓存中相应的内容进行更新。
*丢弃
 
RARP-(根据源MAC找到自己的IP地址)
rfc:903
帧类型代码:0x8035
 

ICMP:
rfc:792
I C M P报文是在I P数据报内部被传输的
 
 
下面各种情况都不会导致产生I C M P差错报文:
1) ICMP差错报文(但是,I C M P查询报文可能会产生I C M P差错报文) 。
2) 目的地址是广播地址(见图3 - 9)或多播地址(D类地址,见图1 - 5)的I P数据报。
3) 作为链路层广播的数据报。
4) 不是I P分片的第一片(将在11 . 5节介绍分片) 。
5) 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地
址或多播地址。
这些规则是为了防止过去允许I C M P差错报文对广播分组响应所带来的广播风暴。
 
 
I C M P时间戳请求允许系统向另一个系统查询当前的时间。
 
 
ICMP端口不可达差错
 
 
 
 

 
 
 

 
两个小工具:ping  / traceroute
(内核中进行处理)ping:测试主机是否可达,该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答.
回显请求和回显应答报文格式
IP记录路由选项 RR选项 ,记录出口IP地址
一般格式
 
始终把出口的IP地址加入清单。当ICMP回显应答到达原始系统时,把自己的入口IP地址也加入清单中。
IP时间戳选项
 

 
Traceroute
traceroute发送一份UDP数据报给目的主机,但它选择一个不可能的值作为UDP端口(大于30000),使目的主机的任何一个应用程序都不可能使用该端口,因为,当该数据报达到时,将使目的主机的UDP魔铠产生一份“端口不可达”错误的ICMP报文,这样,TRACEROUTE程序索要做的就是区分接收到的ICMP报文是超时还是端口不可达,以判断什么时候结束。
*显示入接口
 
IP源站选路选项
(SSRR)严格的源路由选择、发送端指明IP数据报所必须采用的确切路由
/(LSRR)宽松的源站选路、发送端指明了一个数据报经过的IP地址清单
对于宽松的源站选路来说, c o d e字段的值是0 x 8 3;而对于严格的源站选路,其值为 0 x 8 9。
-g 宽松的源站选路指明一些中间路由器
-G 严格的
 

 
 
 
 
 
 
 

数据链路层、ARP/RARP、ICMP、ping和traceroute的更多相关文章

  1. IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  2. (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  3. 网络层 IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  4. tcp/ip--IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    IP 数据报首部 最高位在左边,记为0 bit:最低位在右边,记为31 bit 版本: 占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4) 首部长度: 占4位,可表示的最 ...

  5. UNIX网络编程——利用ARP和ICMP协议解释ping命令

    一.MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit)      ...

  6. 利用ARP和ICMP协议解释ping命令

    一.MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit).如果IP ...

  7. TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...

  8. 4.ICMP协议,ping和Traceroute

    1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...

  9. TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】

    转自:http://blog.csdn.net/goodboy1881/article/details/670761 1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议(是一种尽力传送的协 ...

随机推荐

  1. oracle update set select from 关联更新

    工作中有个需求,现在新表中有一些数据跟老表的基本一样,这样只需要把老表中数据搬到新表中就可以了,同时把不同的字段修改下数据即可,在修改字段时发现,需要指定一个条件,比如主键id,来修改某条记录,这样一 ...

  2. python-高阶函数和闭包

    高阶函数:把函数作为参数传入,这样的函数成为高阶函数. 高阶函数,higher-order function Abs()内置函数:绝对值 函数名是什么:指向函数的变量 传入函数 一个函数的参数是否可以 ...

  3. 配置linux内核输出所有的log信息

    答案:修改内核文件include/linux/printk.h  (内核版本为4.9) 修改前 #define CONSOLE_LOGLEVEL_DEFAULT 7 /* anything MORE ...

  4. Tensorflow平台快速搭建:Windows 7+TensorFlow 0.12.0

    Tensorflow平台快速搭建:Windows 7+TensorFlow 0.12.0 1.TensorFlow 0.12.0下载 2016年11月29日,距离TensorFlow 宣布开源刚刚过去 ...

  5. SaltStack配置salt-api第十二篇

    介绍 SaltStack官方提供有REST API格式的 salt-api项目,将使Salt与第三方系统集成变得尤为简单.本文讲带你了解如何安装配置Salt-API, 如何利用Salt-API获取想要 ...

  6. java中把指数形式的数字转为正常形式显示

    /** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static Stri ...

  7. mac 下测试各种IE版本

    背景 作为前端开发,在谈到兼容性时不得不谈到IE浏览器,那么,如果在mac上该怎么测试各种版本的IE呢 方法 1. 下载VirtualBox虚拟器 2. 下载安装了对应版本的windows系统,htt ...

  8. byte[]与各种数据类型互相转换示例

    public class TestCase { /** * short到字节数组的转换. */ public static byte[] shortToByte(short number) { int ...

  9. Java新建线程的3种方法

    Java新建线程的3种方法 =================== Java创建线程有3种方法:(1)继承Thread;(2)实现Runnable接口:(3)实现Callable接口; 由于Java只 ...

  10. Unity 和 3DMAx

    3DMax转换成DAE模式才会有纹理信息.