① IP报文在网络中传输时报头会有什么改变
IP数据报在网络层传输时候报头始终不变,只有在数据链路层时把IP报文封装到MAC帧里传输。IP报文在网络层是透明传输的。
② 当IP数据报在路由器之间传输时,IP首部中哪些字段必然发生变化,哪些字段可能发生变
必然变化的是 生存时间(TTL)、首部校验和。每经过一跳路由器,TTL值减一;首部校验和是根据首部生成的,TTL字段变化,首部校验和随之也要变化。 可能变化的有 标志、片偏移,数据报总长度。
当主机A发向主机B的数据流在网络层封装成IP数据包,IP数据包的首部包含了源地址和目标地址。主机A会用本机配置的24位IP网络掩码255.255.255.0与目标地址进行与运算,得出目标网络地址与本机的网络地址是不是在同一个网段中。如果不是将IP数据包转发到网关。
(2)非nat网络中ip报文哪个不变扩展阅读:
IP协议屏蔽了下层各种物理子网的差异,能够向上层提供统一格式的IP数据报。lP数据报采用数据报分组传输的方式,提供的服务是无连接方式。IP数据报的格式能够说明lP协议具有什么功能。IPv4数据报由报头和数据两部分组成,其中,数据是高层需要传输的数据,报头是为了正确传输高层数据而增加的控制信息。
报头的前一部分长度固定,共20字节,是所有IP数据报必须具有。在首部固定部分的后面是可选字段,长度可变。
③ 以下哪些信息不属于ip协议的数据报文内容
其中的IP标识符、标志、偏移量、TTL字段在IP报头中是非常重要的。IP标识符在发送数据报前,发送主机给每个数据报一个ID值,放在16位的标识符字段中。此ID用于标识唯一的数据报或数据流。接收主机利用此ID对收到的数据报进行重组。正如前面所说,当分片的IP数据报从源地址发送到目的地址的时候,由于网络延迟或者不同的传输路径的关系,在到达目的主机时,这些分片数据报并不总是有序的排列,而是处于一种无序状态,因此,接收主机便用此ID判断接收的这些分片数据报是否属于同一个数据流,然后再进行重组标志字段在IP报头中占3位,第1位作为保留,置0;第2位,分段,有两个不同的取值:该位置0,表示可以分段;该位置1,表示不能分段;第3位,更多分段,同样有两个取值:该位置0,表示这是数据流中的最后一个分段,该位置1,表示数据流未完,后续还有分段,当一个数据报没有分段时,则该位置0,表示这是唯一的一个分段。偏移量:13位的偏移量字段用来表示分段的数据报在整个数据流中的位置,即相当于分片数据报的顺序号。发送主机对第一个数据报的偏移量置为0,而后续的分片数据报的偏移量则以网络的MTU大小赋值。偏移量对于接收方进行数据重组的时候,这是一个关键的字段。对于分片的数据段(单位:字节)必须为8的整数倍,否则IP无法表达其偏移量TTL:生存时间。从0开始计数,报文每分发一次,接收方就把它加1.加到255就认为超时,丢弃它。
④ NAT原理简介
nat网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。编辑本段网络地址转换(NAT)简介 NAT概述 NAT(Network Address Translation,网络地址转换)是将IP 数据报报头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP 地址空间的枯竭。[1] 说明: 私有 IP 地址是指内部网络或主机的IP 地址,公有IP 地址是指在因特网上全球唯一的IP 地址。 RFC 1918 为私有网络预留出了三个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 上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP 或注册中心申请而在公司或企业内部自由使用。 NAT技术的产生 虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的。 随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。 NAT技术的作用 借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。 NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。 NAT技术实现方式 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的攻击。因此,目前网络中应用最多的就是端口多路复用方式。 网络地址转换(NAT)的实现 在配置网络地址转换的过程之前,首先必须搞清楚内部接口和外部接口,以及在哪个外部接口上启用NAT。通常情况下,连接到用户内部网络的接口是NAT内部接口,而连接到外部网络(如Internet)的接口是NAT外部接口。 1).静态地址转换的实现 </B>假设内部局域网使用的lP地址段为192.168.0.1~192.168.0.254,路由器局域网端(即默认网关)的IP地址为192.168.0.1,子网掩码为255.255.255.0。网络分配的合法IP地址范围为61.159.62.128~61.159.62.135,路由器在广域网中的IP地址为61.159.62.129,子网掩码为255.255.255.248可用于转换的IP地址范围为61.159.62.130~61.159.62.134。要求将内部网址192.168.0.2~192.168.0.6分别转换为合法IP地址61.159.62.130~61.159.62.134。 第一步,设置外部端口。 interface serial 0 ip address 61.159.62.129 255.255.255.248 ip nat outside 第二步,设置内部端口。 interface ethernet 0 ip address 192.168.0.1 255.255.255.0 ip nat inside 第三步,在内部本地与外部合法地址之间建立静态地址转换。 ip nat inside source static 内部本地地址内部合法地址。 示例: ip nat inside source static 192.168.0.2 61.159.62.130 //将内部网络地址192.168.0.2转换为合法IP地址61.159.62.130 ip nat inside source static 192.168.0.3 61.159.62.131 //将内部网络地址192.168.0.3转换为合法IP地址61.159.62.131 ip nat inside source static 192.168.0.4 61.159.62.132 //将内部网络地址192.168.0.4转换为合法IP地址61.159.62.132 ip nat inside source static 192.168.0.5 61.159.62.133 //将内部网络地址192.168.0.5转换为合法IP地址61.159.62.133 ip nat inside source static 192.168.0.6 61.159.62.134 //将内部网络地址192.168.0.6转换为合法IP地址61.159.62.134 至此,静态地址转换配置完毕。 2).动态地址转换的实现 假设内部网络使用的IP地址段为172.16.100.1~172.16.100.254,路由器局域网端口(即默认网关)的IP地址为172.16.100.1,子网掩码为255.255.255.0。网络分配的合法IP地址范围为61.159.62.128~61.159.62.191,路由器在广域网中的IP地址为61.159.62.129,子网掩码为255.255.255.192,可用于转换的IP地址范围为61.159.62.130~61.159.62.190。要求将内部网址172.16.100.1~172.16.100.254动态转换为合法IP地址61.159.62.130~61.159.62.190。 第一步,设置外部端口。 设置外部端口命令的语法如下: ip nat outside 示例: interface serial 0 //进入串行端口serial 0 ip address 61.159.62.129 255.255.255.192//将其IP地址指定为61.159.62.129,子网掩码为255.255.255.192 ip nat outside //将串行口serial 0设置为外网端口 注意,可以定义多个外部端口。 第二步,设置内部端口。 设置内部接口命令的语法如下: ip nat inside 示例: interface ethernet 0 //进入以太网端口Ethernet 0 ip address 172.16.100.1 255.255.255.0 // 将其IP地址指定为172.16.100.1,子网掩码为255.255.255.0 ip nat inside //将Ethernet 0 设置为内网端口。 注意,可以定义多个内部端口。 第三步,定义合法IP地址池。 定义合法IP地址池命令的语法如下: ip nat pool 地址池名称起始IP地址 终止IP地址子网掩码 其中,地址池名字可以任意设定。 示例: ip nat pool chinanet 61.159.62.130 61.159.62.190 netmask 255.255.255.192 //指明地址缓冲池的名称为chinanet,IP地址范围为61.159.62.130~61.159.62.190,子网掩码为255.255.255.192。需要注意的是,即使掩码为255.255.255.0,也会由起始IP地址和终止IP地址对IP地址池进行限制。 或ip nat pool test 61.159.62.130 61.159.62.190 prefix-length 26 注意,如果有多个合法IP地址范围,可以分别添加。例如,如果还有一段合法IP地址范围为"211.82.216.1~211.82.216.254",那么,可以再通过下述命令将其添加至缓冲池中。 ip nat pool cernet 211.82.216.1 211.82.216.254 netmask 255.255.255.0 或 ip nat pool test 211.82.216.1 211.82.216.254 prefix-length 24 第四步,定义内部网络中允许访问Internet的访问列表。 定义内部访问列表命令的语法如下: access-list 标号 permit 源地址通配符(其中,标号为1~99之间的整数) access-list 1 permit 172.16.100.0 0.0.0.255 //允许访问Internet的网段为172.16.100.0~172.16.100.255,反掩码为0.0.0.255。需要注意的是,在这里采用的是反掩码,而非子网掩码。反掩码与子网掩码的关系为:反掩码+子网掩码=255.255.255.255。例如,子网掩码为255.255.0.0,则反掩码为0.0.255.255;子网掩码为255.0.0.0,则反掩码为0.255.255.255;子网掩码为255.252.0.0,则反掩码为0.3.255.255;子网掩码为255.255.255.192,则反掩码为0.0.0.63。 另外,如果想将多个IP地址段转换为合法IP地址,可以添加多个访问列表。例如,当欲将172.16.98.0~172.16.98.255和172.16.99.0~172.16.99.255转换为合法IP地址时,应当添加下述命令: access-list2 permit 172.16.98.0 0.0.0.255 access-list3 permit 172.16.99.0 0.0.0.255 第五步,实现网络地址转换。 在全局设置模式下,将第四步由access-list指定的内部本地地址列表与第三步指定的合法IP地址池进行地址转换。命令语法如下: ip nat inside source list 访问列表标号 pool 内部合法地址池名字 示例: ip nat inside source list 1 pool chinanet 如果有多个内部访问列表,可以一一添加,以实现网络地址转换,如 ip nat inside source list 2 pool chinanet ip nat inside source list 3 pool chinanet 如果有多个地址池,也可以一一添加,以增加合法地址池范围,如 ip nat inside source list 1 pool cernet ip nat inside source list 2 pool cernet ip nat inside source list 3 pool cernet 至此,动态地址转换设置完毕。 3).端口复用动态地址转换(PAT) </B>内部网络使用的IP地址段为10.100.100.1~10.100.100.254,路由器局域网端口(即默认网关)的IP地址为10.100.100.1,子网掩码为255.255.255.0。网络分配的合法IP地址范围为202.99.160.0~202.99.160.3,路由器广域网中的IP地址为202.99.160.1,子网掩码为255.255.255.252,可用于转换的IP地址为202.99.160.2。要求将内部网址10.100.100.1~10.100.100.254 转换为合法IP地址202.99.160.2。 第一步,设置外部端口。 interface serial 0 ip address 202.99.160.1 255.255.255.252 ip nat outside 第二步,设置内部端口。 interface ethernet 0 ip address 10.100.100.1 255.255.255.0 ip nat inside 第三步,定义合法IP地址池。 ip nat pool onlyone 202.99.160.2 202.99.160.2 netmask 255.255.255.252 // 指明地址缓冲池的名称为onlyone,IP地址范围为202.99.160.2,子网掩码为255.255.255.252。由于本例只有一个IP地址可用,所以,起始IP地址与终止IP地址均为202.99.160.2。如果有多个IP地址,则应当分别键入起止的IP地址。 第四步,定义内部访问列。 access-list 1 permit 10.100.100.0 0.0.0.255 允许访问Internetr的网段为10.100.100.0~10.100.100.255,子网掩码为255.255.255.0。需要注意的是,在这里子网掩码的顺序跟平常所写的顺序相反,即0.0.0.255。 第五步</B>,设置复用动态地址转换。 在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。命令语法如下: ip nat inside source list访问列表号pool内部合法地址池名字overload 示例: ip nat inside source list1 pool onlyone overload //以端口复用方式,将访问列表1中的私有IP地址转换为onlyone IP地址池中定义的合法IP地址。 注意:overload是复用动态地址转换的关键词。 至此,端口复用动态地址转换完成。 还可以这样写: ip nat inside source list 1 interface serial 0 overload
⑤ 计算机网络:IP报中从哪里可以看出有没有进行地址翻译NAT 看下图
ip进行过nat过与否是看不出来的,在私有ip出来时候改变的是源ip,这样回来的ip包回到nat设备时候更改的是目标ip
⑥ 计算机网络:IP报经过一般路由器或是NAT时,它的源端口号和目的端口号改变吗这是我发布的另一个问
你好!
自己模拟一下试试不就知道了,NAT出去时源端口估计会变,目的端口不变,经过路由器时都不变
仅代表个人观点,不喜勿喷,谢谢。
⑦ 跨网络的通信过程中,IP地址和MAC地址会发生改变吗
只要跨网段了(跨广播域),mac肯定是要变化的,IP地址只有在Nat时候会改变,否则在从source IP到destination IP过程中是不变的。
⑧ 路由转换协议(NAT)纠竟有没有改内网的MAC地址
nat是把你的内网IP映射成外网的IP,跟MAC地址没关系,然后使用不一样的源端口号来与内网其他的IP进行区分,以便在服务器返回响应时不会把内容发错对象,信息在传送时,会按照网络的7层进行,物理层对应设备,链路层对应MAC地址,网络层对应IP,因此,在信息只经过普通交换机时,MAC和IP地址不会改变,以为不会把MAC地址信息剥离,而当经过路由器和3层交换时(会转发IP地址信息,但是不转发MAC地址),会剥离MAC地址信息,因此此时传送消息时,包中含有的是路由器和3层交换的MAC地址替换了原来机器的MAC,所以说NAT其实并没有改变你的MAC地址,只是你出外网肯定会经过路由或者3层交换设备,他们改变了MAC地址信息,其实也是便面了内部机器直接裸露在外网,让内网的物理地址隐藏在了路由器等设备的保护范围之内。
⑨ 一个数据包从电脑发出去后,经过配置有nat的路由器后,哪些不会发生变化
nat只改变了源ip地址和源端口号。其他的没有变化。