计算机网络(网络层)
来源:互联网 发布:编程技术流 编辑:程序博客网 时间:2024/04/29 20:51
1.网际协议IP
网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网网际标准协议之一。与IP协议配套使用的还有另外三个协议。这三个协议也都是属于网络层。
- 地址解析协议ARP
- 网际控制报文协议ICMP
网际组管理协议IGMP
在上图中画出了这三个协议和网际协议IP的关系。在这一层中,ARP画在最下面,因为IP要经常使用这个协议。为什么说IP要经常使用ARP协议,这里我们就先要弄懂主机的IP地址和硬件地址的区别。首先从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是属于一种逻辑地址。
我们知道,在发送数据的时候,数据是由高层下到低层,才在通信链路上传输的。使用IP地址的IP数据包一旦交给了数据链路层就被封装成MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个地址都写在MAC帧的首部中。(硬件地址、物理地址、MAC地址一般来说都是一个含义)
总之,IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。在网络层和网络层以上使用的是IP地址,而数据链路层及以下使用的是硬件地址。
如果两个主机A、B之间通过路由器互连起来,主机A向主机B发送数据,那么在经过路由器阶段的时候,网络层中的IP数据报的首部中的源地址和目的地址都不会发生变化。但是对于数据链路层的MAC帧首部中的源地址和目的地址则会发生变化。
ARP协议的用途是为了从网络层使用的IP地址解析出在数据链路层使用的硬件地址。当主机A要向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。
也有可能查不到B的IP地址,这种情况下,主机A就会自动运行ARP,然后按照以下步骤找出主机B的硬件地址。
(1)ARP进程在本地局域网上广播一个ARP请求分组
(2)在本地局域网上的所有主机上运行的ARP进程都收到此ARP请求分组
(3)主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP的请求分组,并向主机A发送ARP响应分组,并在这个响应分组中写入自己的硬件地址。
(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
ARP把保存在高速缓存的每一个映射地址项目都设置生存时间。凡是超过生存时间的项目就从高速缓存中删除掉。
- 计算机网络(网络层)
- 计算机网络(3)网络层
- 计算机网络(8)网络层
- 计算机网络(9)网络层
- 计算机网络(10)网络层
- 计算机网络(二)网络层
- 计算机网络——网络层(一)
- 计算机网络学习(7)网络层
- 计算机网络原理笔记(四、网络层)
- 计算机网络(六) 网络层---概述
- 计算机网络之网络层(IP地址)
- 计算机网络复习(Ch4网络层)
- 计算机网络 --- osi网络层
- 计算机网络体系网络层
- 《计算机网络 2》 网络层
- 《计算机网络》之网络层
- 《计算机网络 2》 网络层
- 【计算机网络】网络层
- TCP连接的“三次握手”与“四次挥手”
- Android 开发效率
- 关于ios中的转码问题
- 使用Express搭建HTTPs加密服务器
- 图文详解MyEclipse中新建Maven webapp项目的步骤(很详细)
- 计算机网络(网络层)
- 解决php的imagick库Strict Standards: Imagick::clone method is deprecated and it's use should be avoided
- HDU 3076 ssworld VS DDD 概率DP入门
- 万万没想到,公式还能这样编辑!
- gRPC 的协议分析
- R3;在32位进程中得到64位进程映像路径
- 汽车拐弯--三分法的应用1005
- Android开发实践
- 金字塔(函数调用)