相关推荐
4 IP协议浅层详解(网络层)
2024-11-10 18:31

网络层是找到从源IP到目的IP的路径,它有能力跨网络把数据从A主机传输到B主机(TCP指使IP进行传输

4 IP协议浅层详解(网络层)

网络层一个常用的协议叫IP协议。

特点/作用

1.无连接、不可靠

2.建立了物理层和传输层的统一

3.寻址和路由

 


  •  

  • 头部长度

    也叫报头长度,有4位,4字节一个单位,分组头最小值为5,表示20字节,最大值为15,表示60字节;和TCP一样

  • 服务类型

    4位TOS分别表示最小延时、最大吞吐量、最高可靠性、最小成本,四者冲突只能选择一个。

  • 标识

    如果IP报文被分片,那么他们的标识是一样的。用来分片和组装。

  • 标志

    第一位保留、第二位表示禁止分片,那么超过MTU就会直接丢弃。第三位表示更多分片,1表示还有分片,0表示这是这个报文分片中最后一个。类似于结束标记。

  • 分片偏移

    标记了这个分片报文在原数据中的位置,位置 = 这个数*8;保证报文的连续性。

  • 生存时间

    数据到达目的地的最大跳数,一般是64,每经过一个路由器,会减一,减到0还没到就直接丢弃。防止路由循环。

  • 协议

    表示上层协议类型,哪个协议发来的

  • 首部校验和

    用CRC检验,鉴别头部是否损坏,保证数据的完整性。

  • 选项

    不定长,最多40字节。

问题1:上面提到了"分片",什么是分片

分片和TCP拆分数据一样,因为IP也有大小限制,而且大小是由MAC协议(1500)也就是链路层协议决定的。

问题2:那各个层之间大小是怎么协定的

在TCP三次握手中,就已经交换了自己可以接受的最大报文长度(MSS,取双方较小的。

MSS = MTU - IP报头 - TCP报头 = 1500-20-20 = 1460

MTU是由网络类型(链路层)决定的。

 


 

1.取消了首部长度,因为IPv6的首部长度是固定40个字节。

2.取消了服务类型,因为流标号和优先级结合起来实现了服务类型的功能。

3.取消了总长度字段,改用为有效载荷长度,有效载荷就是后面的扩展首部加上数据报中的数据。

4.取消了标识,标志和片偏移,因为这些功能都包含在了扩展首部里面。

5.取消了协议字段,改用为下一个首部,功能不变,这样更容易理解。

6.取消了生存时间ttl,改用为跳数限制,功能不变,这样更容易理解,更形象了。

7.取消了首部效验和,这样加快了路由器对数据报的处理速度,在数据链路层中,当我们发现有差错的帧就会抛弃,在运输层中,在udp中,当发现有差错就会抛弃,在tcp中,当发现有差错就会重传,直到传送到目的进程为止。因此在网路层的检测就可以精简掉。

8,取消了选项字段,功能归并在了扩展首部上。了解即可,IPv6并不普遍。

 


IP = 网络号 + 主机号

每个网络中的主机号不能相同。

自动分配主机号DHCP技术。一般的路由器都有这个技术,因此一个路由器也可以看作一个DHCP服务器。

划分方法1

把所有的IP划分为五类

A - 0 -网络号 - 主机号 //0.0.0.0 ~ 127.255.255.255

B -10 -网络号 -主机号 //128.0.0.0 ~ 191.255.255.255

C -110 -网络号 -主机号 //192.0.0.0 ~ 223.255.255.255

D -1110 -网络号 -主机号 //244.0.0.0 ~ 239.255.255.255

E -11110 -网络号 -主机号 //240.0.0.0 ~ 247.255.255.255

缺点:A类占有很多IP,但是经常被申请的却是B类,导致大量地址被A浪费。

这些地址不会被Internet分配,他们再Internet上也不会被路由,虽然它们不能直接和Internet网连接,但通过技术手段仍旧可以和 Internet通讯(NAT技术)。

 

划分方法2

子网掩码划分

为了改进上述简单粗暴的划分方式,提出了新的技术方案CIDRClassless Interdomain Rounting

引入一个子网掩码来区分网络号和主机号。通常用一串0结尾。

网络号 = 子网掩码&IP

IP范围: 全0 ~ 全1

每个网段有 16-2(全0全1=14台主机。

 

特殊的IP地址

(1) 0.0.0.0

严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。

(2) 广播地址(255.255.255.255

限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。

(3) 环回地址(127.0.0.1

本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。

(4) 165.254.x.x

如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Wingdows系统会为你分配这样一个地址。

 


IP地址是四个字节,差不多就是43亿个IP。随着互联网的普及,IP数量也受到了限制。

CIDR是缓解了这个问题但并没有解决,只是提高了利用率。

 

所以有三种解决方法

  1. 动态分配IP地址。只给介入网络的主机分配IP地址,所以说每次接入获取的IP都不一定相同。

  2. NAT技术。网络地址转换,让一个局域网中的主机建立连接时,把报文中的原IP换成局域网路由器的IP。

  3. IPv6 。用16个字节表示IP地址,但是还没有普及。


私有IP可以访问公有IP

公有IP不可以访问私有IP

这时候就需要一个”中间人“—路由器

一个路由有两个IP,WAN口接路由器自己的IP,LAN口连接的主机都是属于这个路由器所在的子网中。

 

NAT技术

协议层:网络层

解决问题:IP地址数量限制

1.私有 -> 公有

就得先将数据发送给路由器,主机A的路由器将原IP替换成WAN口IP,也就是路由器自己的IP,再发送给广域网的所在的路由器WAN口IP处,再发送给目的主机B。

2.公有 -> 私有

在数据返回的时候,传送到目的IP所在网域的路由器后,路由器根据路由地址转化表寻找最初的IP地址并发送数据(NAPT技术)。

 

问题1:假如局域网中同一时间多台主机都访问外部服务器,那么数据返回时,路由器怎么正确地发送回去呢

  • 引入技术NAPT,使用IP+port建立一个关联关系。由NAT路由器自动维护,在TCP建立连接时创建表,断开时自动删除。

 

NAT技术缺陷

NAT技术核心就是这张转换表,也就是说依赖于这张表。

  • 这张表的开销是一个缺陷

  • 假如NAT设备异常,即使存在备份,也会断开所有TCP连接

  • 无法从外部向内部建立连接

 

问题2:这么说来NAT和代理服务器很相似了

  • 并不是,首先它们不在同一个协议层,NAT在网络层,直接对IP协议报文中地址进行修改操作。而代理服务器是工作在应用层,对客户端和服务器之间起一个桥梁作用。

  • 在范围上来讲,NAT路由器是局域网的出口,连通了局域网内部和广域网之间的联系。而代理服务器是可以在局域网做(负载均衡,也可以在广域网做(翻墙,还可以跨网。

  • 本质上看,NAT一般集成在路由器、防火墙上。而代理服务器就是一个软件程序,需要部署在服务器上。

 


路由就是在路由器链路上一跳一跳问路的过程。

是MAC地址 -> MAC地址的过程。

 

路由器拿到一个数据包之后,查阅路由表判断这个报的目的IP,有没有能直接发给所管理的网域的主机IP,如果不能,那就按缺省路径发送给下一个路由器。

查看路由表(route命令

traceroute/tracert命令

打印执行主机到目标主机所经过地所有路由器。

 


协议里,IP地址在传输过程中基本不变,而MAC地址一直在变化。(路由

IP地址描述路途的起点终点,MAC地址描述的是途中区间的起点终点。

 

 

 

 

 

 

 

 

 

 

 

    以上就是本篇文章【4 IP协议浅层详解(网络层)】的全部内容了,欢迎阅览 ! 文章地址:http://zleialh.xhstdz.com/quote/64771.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://zleialh.xhstdz.com/mobile/ , 查看更多   
发表评论
0评