TCP/IP协议栈 ARP和RARP协议
上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议。 这里说一下ARP 和RARP协议。
首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后还是依靠MAC地址, 那么ARP协议就负责将IP地址映射为48位MAC地址,当数据包到达一个以太网内后,就要依靠mac地址找到相应的主机。下面这张图表达的十分清晰
当数据包到达以太网时, 它要发送到具体的主机, 这时候就需要目的主机的MAC地址,如果ARP缓存里面没有ARP记录的话,它就会通过ARP广播来寻找对应IP的MAC地址, 目的主机接收到ARP请求之后便会回应自己的MAC地址。ARP请求的首部内容为:
以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全 1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。两个字节长的以太网帧类型表示后面数据的类型。对于 A R P请求或应答来说,该字段的
值为0 x 0 8 0 6。
R A R P分组的格式与A R P分组基本一致(见图 4 - 3) 。它们之间主要的差别是 R A R P请求或应答的帧类型代码为0 x 8 0 3 5,而且R A R P请求的操作代码为3,应答操作代码为4。对应于A R P,R A R P请求以广播方式传送,而R A R P应答一般是单播( u n i c a s t )传送的。
其实ARP欺骗的原理也就是利用原始套接字对ARP头部进行重构,伪造假的IP和MAC地址,当目的主机接收到回应后,就会将内核的ARP缓冲更新为接受到的IP MAC对应关系。http://blog.csdn.net/smstong/article/details/7221184
TCP/IP协议栈 ARP和RARP协议的更多相关文章
- TCP/IP学习笔记(3)-IP、ARP、RARP协议
这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据 ...
- TCP/IP学习笔记(3)----IP,ARP,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...
- TCP/IP协议栈与数据包封装+TCP与UDP区别
ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. T ...
- TCP/IP协议栈与数据报封装
一.ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardi ...
- TCP/IP协议栈与数据报封装 (802.3 Ethernet 以太网 802.11 WLAN 无线网 )
http://blog.csdn.net/jnu_simba/article/details/8957242 一.ISO/OSI参考模型 OSI(open system interconnection ...
- 深入浅出TCP/IP协议栈
TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP协议采用4层结构,分别是应用层.传输层.网络层和链路层, ...
- TCP/IP 协议栈4层结构及3次握手4次挥手
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路 ...
- 【转载】TCP/IP协议栈
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路 ...
- 浅谈TCP IP协议栈(一)入门知识【转】
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...
随机推荐
- SpringMVC 基本概念
DispatcherServlet:前端控制器,解释用户请求,通过HandlerMapping查找对应Handler处理请求,调用ViewResolve回填页面,DispatcherServlet在W ...
- ubuntu16.04 配置opensips服务器并编译pjsip测试
一.版本相关 1) ubuntu版本: 16.04 2) opensips版本:2.1.2 3) pjsip版本 :2.5.5 4) ffmpeg版本:3.3.4 5) sdl版本:2.0 6) vs ...
- ubuntu中python3.4安装pip
这两天碰到在ubuntu中安装pip的问题. 第一种方法 用百度搜索了一下,基本上都是这个命令: sudo apt-get install python3-pip 但是,用这条命令下载速度特别慢. 第 ...
- java语言插入数组中一个数,仍然能够实现排序
package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Demo16 { /* * ...
- 2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest D Hidden Anagrams
题目链接:http://codeforces.com/gym/101158/attachments /* * @Author: lyucheng * @Date: 2017-10-21 12:20:0 ...
- NFS启动时报错Linux NFS:could not open connection for tcp6
1.1 启动时出现的错误 [root@znix ~]#/etc/init.d/nfs start Shutting down NFS daemon: ...
- Android 开发笔记___RadioButton
horizontal <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and ...
- HTML5 设备上的API
一.Vibration API ,接受两种类型参数 vibrate (unsigned long time) 当参数是unsigned long的时候 此时参数表示震动时间. NotSuppor ...
- Ubuntu开启ApacheRewrite功能
参考原文 : http://www.knowsky.com/888354.html 1.安装好apache2之后,手动命令启用 执行加载Rewrite模块: a2enmod rewrite 执行 ...
- tomcat相关实验
tomcat相关实验 1.实现LNT 同主机实现 1.安装并启动tomcat 1)OpenJDK的安装 yum install java-1.8.0-openjdk-devel.x86_64 确定JD ...