IP寻址原理及过程详解
VIEW CONTENTS

IP寻址原理及过程详解

2020-3-18 12:02| 发布者: xtyly| 查看: 206| 评论: 0
摘要: IP寻址原理及过程详解:假设A需要向B发送数据 那么A首先要对发送的数据进行封装: 传输层加上源/目标端口 网络层加上源/目标IP地址 数据链路层加上源/目标MAC地址···封装:发送方发生的子上而下的过程---在每一层 ...
IP寻址原理及过程详解:

假设A需要向B发送数据 那么A首先要对发送的数据进行封装: 传输层加上源/目标端口 网络层加上源/目标IP地址 数据链路层加上源/目标MAC地址

···封装:发送方发生的子上而下的过程---在每一层为应用数据添加上特定的头部/尾部(PDU --协议数据单元)

···应用程序->数据段->数据包->数据帧->bit

···解封装: 接收方自下而上 逐层去掉头部尾部信息额过程


一,通过二层交换机直连的两台主机之间的数据传输(在同一个局域网内的两台主机)

1,A开始只知道B的IP地址 并不知道B的mac地址,而且二层交换机并不会按照IP地址转发数据

因此这时A会发一个ARP广播:我的IP是xxx,mac是XXX想知道IP为B的mac是多少 这个广播会被本局域网内所有主机收到 但是只有B会相应 并且向A回复一个ARP响应

2,交换机收到ARP广播后,将它转发到所有端口(网口),并且记录该广播源MAC地址(A的MAC地址)到mac地址列表B收到广播 发现和自己IP匹配 就会想A发送ARP响应

3,交换机收到B的响应 将响应帧目标MAC与自己mac地址表对比 发现对应的端口(网口是F0/1)便将响应帧转发到F0/1 同时 将响应帧的源mac地址B的MAC地址添加到mac地址列表

4,A收到B的回复帧后 ,得知B ip地址对应的mac地址 于是将信息保存到本地ARP高速缓存 同时以B的mac地址为目标地址封装成帧 发送出去 交换机再次收到A的数据 发现目标的MAC地址是B 对应端口(网口)F0/2 于是将帧转发到F0/2

5,B收到A发出的数据


(-----换机的工作原理:它维护了一张 MAC 地址表,用来反映各端口和 MAC 地址的对应关系,以便做好数据转发工作

-----路由器的工作原理:在路由器中也要维护一张表格,叫做路由条目表,用来反映如何到达某个 IP 地址网段,同时在路由器中也有 ARP 高速缓存,反映了该路由器各直接网段的 IP 地址和 MAC 地址的对应关系 )

二,跨三层交换机

1,由于 B 的 IP 地址并没有和 A 在一个网段,所以当 A 向 B 发送数据时, A 并不会直接把数据给 B ,而是交给自己的网关,所以 A 首先会 ARP 广播请求 网关 的 MAC 地址 A 得到网关的 MAC 地址后,以它为数据帧的目标 MAC 地址进行封装数据,并发送出去

2,Router1 收到该帧后,检查该帧的目标 IP ,并到自己的路由表查找如何到达该网段 发现能够到,并且下一跳地址是 routerB 的 s0 端口,于是将数据重新封装,将源地址改为 s0 端口 MAC 地址,目标 MAC 地址改为 router2 的 s0 端口 MAC 址址,并发送给 router2

3,中间 路由原理一样 。。。。。。

4,最后一个路由(routerN )收到该帧,发现目标 IP 就在自己的直连网段,于是查看 ARP 缓存,如果找到该 IP 的 MAC 地址,则以该 MAC 地址封装数据发送出去,如果在 ARP 缓存没找到,则发出 ARP 广播,请求该 IP 的 MAC 地址,得到对应的 MAC 地址后,再发送给主机 B


在以上数据传递过程中,我们发现,数据帧的源 IP 和目标 IP 始终是不变的,而经过每个路由进行重新封装数据时 MAC 地址则在不断的变化,总是以自己的地址作为源 MAC 地址,下一跳的地址作为目标 MAC 地址

上面是因特网上全球唯一的IP 地址的寻找转发过程

如果我们现在是在局域网内部发送消息到公网IP 就需要了解net技术 其实是一样的 只不过在net的过程中改变了源端口 并记录下方便返回数据找到地址

私有网络三个IP 地址块:

A 类:10.0.0.0~10.255.255.255

B 类:172.16.0.0~172.31.255.255

C 类:192.168.0.0~192.168.255.255

随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。

借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。

NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

鲜花

握手

雷人

路过

鸡蛋
腾讯云服务器优惠

相关阅读

最新评论




在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

zuntop公众号

Copyright   ©2015-2019  尊托云数  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号 )