互联网基础:

 
数据链路层: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. 机器学习:让我们彻底搞懂CNN【转】

    本文转载自:http://115.com/182920/T1266078.html 机器学习:让我们彻底搞懂CNN 上世纪科学家们发现了几个视觉神经特点,视神经具有局部感受眼,一整张图的识别由多个局部 ...

  2. 哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098

    哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 #include <iostream> #include <cmath> #include ...

  3. DBUS及常用接口介绍

    [原文]  1. 概述 1.1  DBUS概述     DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息 ...

  4. HttpGet/HttpPost请求方法

    /// <summary> /// HttpGet请求 /// </summary> /// <param name="url">HttpGet ...

  5. 关于SpringMVC中两种映射器不能共存的解决

    首先大家都知道SpringMVC有两种映射器: org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping 和 org.spri ...

  6. cassandra 之 在spark-shell 中使用 spark cassandra connector 完整案例

    1.cassandra 准备 启动cqlsh, CQLSH_HOST=172.16.163.131 bin/cqlsh cqlsh>CREATE KEYSPACE productlogs WIT ...

  7. hdu2196树形dp

    有一棵树,找每个节点所能到达的最远距离是多少 dis[u][0]正向最大距离    dis[u][1]正向次大距离     dis[u][2]反向最大距离 先一边dfs求出每个节点的正向最大距离(就是 ...

  8. Windows、Ubuntu双系统正确卸载Ubuntu系统

    先判断启动方式,以管理员身份打开cmd或者power shell,输入bcdedit,找到path那一行,如果是winload.efi就是uefi引导,若为exe就是legacy引导 或者win+r输 ...

  9. 【Python】测算代码运行时间

    整理自这里和这里 timeit模块 timeit模块定义了接受两个参数的 Timer 类.两个参数都是字符串. 第一个参数是你要计时的语句或者函数. 传递给 Timer 的第二个参数是为第一个参数语句 ...

  10. RabbitMQ消息队列(十)RPC应用2

    基于RabbitMQ RPC实现的主机异步管理 地址原文:http://blog.51cto.com/baiying/2065436,作者大大,我把原文贴出来了啊.不要告我 root@ansible: ...