IP协议,ARP协议

IP协议,ARP协议

       这两个协议处于同一层,ARP协议用来找到目的主机以太网卡的mac地址,IP承载发送的信息。链路层从IP得到要传输的数据,从ARP得到要传输的数据的信息。

       IP协议是TCP/IP协议中最为核心的协议。所有的TCP,UDP,ICMP,IGMP都以IP数据报传输,提供不可靠、无连接的数据传输服务。不可靠:不能保证IP数据报成功到达目的地,IP仅提供最好的传输服务。如果发生某种错误,如某路由器用完缓冲区,IP有一个简单的错误处理方法,丢弃数据包,然后发送ICMP消息给信源端。无连接:IP并不维护任何关于后续数据报状态信息,每个数据包的处理都是相互独立的,IP数据报可不按顺序接收。

IP数据报格式

IP协议,ARP协议_第1张图片

16位数据总长度包括头部和数据部分,最大到65535,16位标识:每一个独立IP数据报都会有一个相同的标识,分片时候起作用,标识相同就放在一起重组,8位生存时间(TTL),逐跳减一,规定数据报在经过多少路由后才被丢弃(不保证数据被送达),ip数据报没穿过一个路由器,该数据报的TTL数值就会减一,ttl为零时自动丢弃,字段最大值为255,也就是说一个IP包在路由器里面穿行255次就被丢弃。16位首部检验和检验包是否损坏。

IP选项

IPs首部20~69字节,有20字节放选项:记录路径,时间戳,宽松/严格源站路由。

IP路由选择

当一个IP数据报准备好后,IP如何将数据报送到目的地,它是怎么选择一个合适的路径来送货的呢?

主机通过若干个路由器和目的主机相连,那么路由器就通过ip包信息来为ip包选择一个合适的路径传递,包括主机和路由器。他们将通过如下方式处理某个ip数据包。

1:搜索路由表,优先匹配主机,如果能找到和目标ip完全一致的目的主机,则将该报发往目的主机。

2:搜索路由表,如果匹配主机失败,则匹配同子网的路由器,需要结合子网掩码,如果匹配到路由器,则将该报发往路由器。

3:搜索路由表,如果匹配子网失败,则匹配同网号的路由器,如果找到路由器,则将数据报发往路由器。

4:搜索路由表,如果以上都失败,就搜素默认路由表,如果默认路由存在就发包。

子网寻址

IP地址定义的是网络号+主机号,但是所有的主机都要求子网编址,把主机号细分成子网号+主机号,所以ip=网络号+子网号+主机号,一个ip地址200.12.102.122,前两部分为网络号,然后是子网号,最后是主机号。掩码区分哪一部分为主机号,哪一部分为网络号,子网掩码是32bit二进制数字序列,形式为一连串1和一连串的0,例如255.255.255.0(二进制就是11111111.11111111.11111111.00000000),因为子网掩码后8位为0,所以主机号就是ip地址的后8bit,就是122,剩下的就是子网号码102

ARP协议

在链路层的以太网协议中,每个数据报都有一个mac地址,每块以太网卡都有一个IP地址且这个地址是唯一的,ARP协议工作就是让IP数据报知道这个mac地址,ARP用来解析IPmac的映射。

当一台主机把以太网数据帧发到同一局域网的另一台主机,是根据这个48bitmac以太网地址确认目的端口,真正转发包物理网卡一定要知道mac地址,设备驱动程序从不检查IP数据报中IP地址(逻辑地址)。地址解析为这两种不同的地址形式提供映射。

ARP协议是一种解析协议,本来主机完全不知道这个IP对应哪个主机的哪个接口,当主机要发送一个IP数据报时,首先要检查自己的arp高速缓存(IP-MAC地址映射表),如果查询的IP-MAC不存在,那么主机就向网络发送ARP协议广播包,包里含待查询的IP地址,而而接收到这个包的主机都会查询自己的 IP地址,如果某主机发现自己符合条件,就发送一个包含自己mac地址的arp包给发送arp广播的主机,而广播主机拿到这个arp包后会更新自己的缓存(IP—MAC映射),发送广播的主机就会利用新的ARP缓存准备链路层的数据发送工作。

4-2,输入主机名解析IP地址,然后是TCPIPARP对局域网做一个广播,所有的以太网驱动,都会受到ARP广播,当其中一个PC是要请求的IP,这个PC的以太网驱动的ARPARP请求做一个回应,告诉发起方IP请求pcmac是什么,有了这个映射后就会发送数据报到以太网送给接收方。从上到下ARP解析,有了mac地址后才发包。

IP协议,ARP协议_第2张图片

命令arp    -a查看arp缓存信息。


你可能感兴趣的:(arp,IP,计算机网络)