【计算机网络】网络层——IP协议详解

网络层的路由主要负责在复杂的网络环境中,找到从一个主机到另一个主机发送数据时合适的路径。
确定路径的方法:先由路由表查找目标网络,再由ARP协议发现目标主机。
主机:配有IP地址,但是不进行路由控制的设备
路由器:即配有IP地址,又能进行路由控制
节点:主机和路由器的统称

这里我们应该理解:网络层协议中的目的IP负责找到目标主机,传输层中的目的端口号负责找到该主机对应程序,从而网络套接字通过IP+端口号的方式可以实现两个网络进程间的通信。

IP协议段格式

在这里插入图片描述

  • 8位服务器类型 TOS:2位优先权字段- 已经弃用,4位TOS字段- 最小延时,最大吞吐量,最高可靠性,最小成本 根据需求只能选一个,1位保留字段- 必须置0
  • 3位标志字段:第一位保留,第二位为1表示禁止分片(若报文长度超过MTU- 最大传输单元会被丢弃),第三位表示更多分片(最后一个分片置为0,其他分片置为1)
  • IP的分包和分用:
    通过4位首部长度和16位总长度,可以将IP报头和有效载荷的分离
    通过8位协议和目的IP地址知道如何分用

关于IP层的分片:
保证IP层对报文分片后能正确组装:16位标识+3位标志+13位片偏移

UDP协议对是否分片并不在意;但使用TCP协议时最好避免分片,因为在按序组装时如果发现部分分片丢失,则会重新全部再请求一次,这样很浪费时间和资源。因此在传输层TCP建立连接时,通信双方就应该相互通告MSS=MTU-TCP报头-IP报头,避免分片行为发生。

MTU=1500字节=MSS+TCP报头(20~60字节)+IP报头(20 ~60字节)
MTU:最大传输单元(不包含自己的报头长度) - 数据链路层最大传输单元为1500字节,网络层最大传输单元为1480字节
MSS:最大传输数据段(不包含所有报头长度) - 网络层最大有效载荷为1460字节(考虑TCP报头)

思考:3000字节的IP报文至少分为几片?
当然是3片,因为最大传输数据报只能1460字节,2片不够。

网段划分

IP地址分为两部分:网络号和主机号
网络号:保证不同的局域网间具有不同的标识。
主机号:同一局域网内的不同主机间具有不同的标识。

  • 不同的子网,就是把网络号相同的主机放到一起。
  • 如果在子网内新增一台主机,则这台主机的网络号与子网号相同,但不与同一子网内的其他主机重复。
管理子网IP

手动管理IP地址,并保证每个主机的IP不相同是一件很麻烦的事情,所以我们需要使用其他技术。

  1. DHCP技术
    使用DHCP技术能够自动为子网新增的主机节点分配IP地址。一般的路由器都带有此功能,所以也称路由器为DHCP服务器。
  2. CIDR方案
    我们曾经将所有的IP地址分为 A,B,C,D,E五类,但我们发现大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量的地址。
    针对上述情况,我们提出了新的划分方案 - CIDR。此方案是通过引入一个额外的子网掩码用来区分网络号和子网号,其中将IP地址和32位的子网掩码进行“按位与”运算就可以得到网络号,由此我们便不再需要用A,B类进行划分。
IP地址
  • 主机位全0时,表示网络号代表这个局域网。
  • 主机位全1时,表示广播地址,用于给同一链路中相互连接的所有主机发送数据包。
  • 127.*的IP地址用于本机环回测试,通常使用127.0.0.1
  • 私有IP地址

如果一个组织内部组建局域网的IP地址,它只用于局域网内的通信,而不直接连接到Internet上。理论上可以使用任意IP地址,但在RFC 1918中规定了用于组建的私有IP地址主要有以下三类,其余的称为公网IP(全局IP)
一:10.* 只有前8位是网络号,共有16,777,216个地址
二:192.168.* 前16位是网络号,共有65,536个地址
三:172.16. 到172.31. 前12位为网络号,共有1,048,576个地址

  • 一个路由器可以配置两个IP地址,WAN口IP和LAN口IP。

其中WAN口IP是对外的IP,LAN口IP是对内的IP。所以同一局域网内不同的路由器,它的WAN口IP不同,但是LAN口IP通常都是192.168.1.1。
同一局域网内的主机的IP地址不能重复,但不同局域网内的主机IP可能相同。

  • NAT 技术
    也叫网络地址转换技术,即子网内的主机需要与外网进行通信时,路由器会将主机IP地址替换为自己的WAN口IP,这样逐级替换,最终数据包的IP就变成了公网IP。
  • IP地址的数量限制
    大家都知道ipv4是一个4字节32位的正整数,也就只有大约43亿的地址,而真正能连接的主机数远远少于43亿,这对于现在的社会是完全不够用的。
  1. CIDR划分方案(子网掩码)在一定程度上缓解了IP不够用的问题 - -提高IP地址的利用率从而减少浪费,但并未增加可连接主机的数量。
    解决方法:
  2. 动态分配 - DHCP:只给接入网络的设备分配IP地址。所以同一个Mac地址的设备(即同一台主机),在不同的时间接入网络时会有不同的IP地址。
  3. NAT技术:网络地址转换,使得不同局域网内可以有相同 的IP地址。
  4. ipv6:它与ipv4互不相干,彼此也不兼容。而是一种新的地址定义,ipv6用16字节128位来表示一个IP地址,但目前没有普及。

猜你喜欢

转载自blog.csdn.net/ly_6699/article/details/100156275
今日推荐