链路层&&网络层

来源:互联网 发布:xp升级 软件 编辑:程序博客网 时间:2024/06/11 08:45

链路层:提供二层寻址

1.为IP模块发送和接受IP数据报
2.为ARP模块发送ARP请求和接收ARP应答
3.为RARP发送RARP请求和RARP应答

以太网封装

这里写图片描述

IP:Internet Protocol 网际协议

不可靠性:不能保证IP数据报能成功地到达目的地,仅提供最好的传输服务。(不可达返回ICMP差错报文)
无连接性:不维护任何关于后续数据报的状态信息,每个数据报处理相互独立。

这里写图片描述

网络传输次序:TCP/IP规定的一种数据表示形式,与CPU类型,操作系统等无关。
网络字节序(big endian)——>(转换函数)主机字节序

version:版本号
header length:首部长度
TOS:3bit优先权字段(已忽略),4bit TOS字段,1bit未用为置0。4bitTOS字段:最小时延、最大吞吐量、最高可靠性、最小费用。
total length:总长度字节数(65535字节)
identification:一个包拆分后,所有拆分的小包被标记相同的值,以便接收重新组装的时候不会出错。
flags:3bit,第一位未使用,第二位DF置1标识不分片,第三位MF标识还有更多的片。
TTL:time to live 通常为32、64
protocol:TCP 6、 UDP 17
header check:首部检验和
source IP ADDR:源IP地址
destination IP ADDR:目的IP地址

ARP地址解析协议

为IP地址到对应的硬件地址之间提供动态映射。

ARP欺骗原理:
假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:
A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC

A要与B通信,发ARP广播包问“谁是192.168.1.2(B的IP地址),告诉我你的MAC地址”。原本B收到ARP请求包后要回答ARP应答包,但是C一直发ARP应答包对A说“我是B,我是B”,因为本地的ARP缓存的更新是覆盖式的,所以A的ARP表中会收录C的MAC地址,以为是B。同理C也可以欺骗B。以至于A和B的通信数据包都经过C。

RARP逆地址解析协议:
许多无盘系统在引导时用来获取IP地址

ARP代理:
路由器收到ARP Request时,若发现查询的目的IP地址在不同子网,路由器会扮演代理的ARP的角色,代为回答,告诉查询者它所要做MAC地址。
如从一个网络的主机发往另一个网络上的主机,路由器回答该请求。通常用于没有配置网关的网络中。

免费ARP:
主机发送ARP查找自己的IP地址,通常用于检查局域网中是否有主机使用与本机相同的IP。

ICMP

常用ICMP

类型 代码 作用 0 0 回显应答(Ping应答) 8 0 请求回显(Ping请求) 17 0 地址掩码请求(一般结合bootp或RARP、TFTP) 3 0-15 不可达报文

Traceroute

通过区分ICMP报文是超时报文(3类型)还是端口不可达报文(类型3代码3)来判断是否到达目的主机。

0 0