linux笔记归纳19:网络层协议IP

网络层协议IP

目录

网络层协议IP

一、IP协议

1.1.IP协议的作用

1.2.基本概念

二、IP协议格式

三、子网划分

3.1.网段划分

3.2.路由器

3.3.分类划分

3.4.无类别域间路由

四、特殊的IP地址

4.1.网络号

4.2.广播地址

4.3.本机环回测试

五、IP地址的数量控制

5.1.IPv4的局限性

5.2.动态分配IP地址

5.3.IPv6

5.4.NAT技术

六、私有IP地址和公网IP地址

6.1.局域网私有IP地址

6.2.运营商

6.3.公网IP地址

七、路由

7.1.路由表

7.2.路由表生成算法

八、IP报文分片与组装

8.1.MTU与MSS

8.2.分片与组装


在复杂的网络环境中确定一个合适的路径

一、IP协议

1.1.IP协议的作用

把数据报从A主机跨网络送到B主机

在网络通信中,需要把数据报100%从A主机跨网络送到B主机

  • 传输层TCP协议:提供了策略,比如重发机制,连接机制等等
  • 网络层IP协议:提供了能力,能够将数据从A主机传输到B主机

TCP协议通过端口号,解决了进程间通信的问题

IP协议通过IP地址,解决了主机间通信的问题

(IP地址标识了通信双方主机的唯一性)

就像去故宫旅游得先坐飞机到北京,数据报在到达对方主机前

先要到对方所在的子网中,再在子网中转发,发送到对方主机

1.2.基本概念

IP地址:目标网络 + 目标主机

主机:配有IP地址,进行路由控制的设备

路由器:配有IP地址,进行路由控制的设备

(当代路由器可以在应用层工作,类似小型计算机)

路由:数据报从一个子网到另一个子网

二、IP协议格式

分离问题:4位首部长度 + 16位总长度实现解包

分用问题:8位协议表明有效载荷是什么数据,分清上层是TCP协议还是UDP协议

  • 4位版本号(version):IP协议的版本,IPv4就是4
  • 4位首部长度(header length):IP报头的长度,每个比特位的单位为4字节
  • 8位服务类型(Type Of Service):前3位弃用,4位TOS字段,1位保留字段
  • 4位TOS字段:最小延时、最大吞吐量、最高可靠性、最小成本
  • 16位总长度(total length):IP数据报的总字节大小
  • 8位生存时间(Time To Live):每经过一个路由器,TTL减1,如果减到0还未到达就直接丢弃
  • 8位协议:确定上层协议(TCP协议/UDP协议)
  • 16位头部校验和:使用CRC校验,鉴别头部是否损坏(比特位翻转等情况)
  • 32位源IP地址:表明发送端
  • 32位目的IP地址:表明接收端

三、子网划分

子网分为公网子网和私网子网,私网子网又被称为内网子网,用来组件局域网通信

3.1.网段划分

IP地址:网络号 + 主机号

网络号:保证互相连接的两个网段具有不同的标识

主机号:同一网段内,主机之间具有相同的网络号,但必须有不同的主机号

3.2.路由器

路由器有管理地址,主机号通常是1

路由器至少要配置一个公网IP和一个内网IP,实现数据报的路由

路由器能够给子网中的网络设备分配IP地址(应用层协议DHCP)

打开电脑浏览器,输入路由器的管理地址,就会访问到路由器上部署的HTTP服务

显示登录界面,输入家里路由器对应的用户名和密码,弹出H5页面,配置路由器

路由报文的本质是查找目标主机,查找的本质是淘汰的过程,淘汰的效率高那么查找的效率就高

**网段划分的原因:**在查找目标主机前,先查找目标网络,淘汰其他网络,在全网中提高查找效率

3.3.分类划分

分类划分法:将32位比特位进行划分,确定网络号有多少位

  • A类:0.0.0.0 ~ 127.255.255.255
  • B类:128.0.0.0 ~ 191.255.255.255
  • C类:192.0.0.0 ~ 223.255.255.255
  • D类:224.0.0.0 ~ 239.255.255.255
  • E类:240.0.0.0 ~ 247.255.255.255

IP地址是有限的,各国运营商需要抢夺IP地址搭建国家的子网

随着互联网发展,大多组织申请B类网络地址,导致A类浪费大量地址,所以提出了新的划分方案

3.4.无类别域间路由

CIDR(Classless Interdomain Routing):无类别域间路由

子网掩码(subnet mask):一个32位的正整数,用一串1开头,一串0结尾

作用:区分网络号与主机号

设置掩码中1和0的个数,将IP地址与子网掩码进行按位与得到新的网络号,充分利用IP资源

子网内最大主机数 == 子网地址范围大小 - 2

四、特殊的IP地址

4.1.网络号

将IP地址中的主机地址全部设置为0,表示网络号,代表这个局域网

4.2.广播地址

将IP地址中的主机地址全部设置为1,表示广播地址,给同一个链路中相连的所有主机发数据包

4.3.本机环回测试

127.*的IP地址用于本机环回测试,通常为127.0.0.1

五、IP地址的数量控制

5.1.IPv4的局限性

IPv4是一个32位的整数,一共有2^32个IP地址,大概在43亿左右

IP地址并非按主机台数配置,而是每一个网卡都要配置一个或多个IP地址,所以数量远远不够

5.2.动态分配IP地址

只给接入网络的设备分配IP地址,同一个MAC地址的设备,每次接入互联网的IP地址不同

5.3.IPv6

用16字节128位来表示一个IP地址

5.4.NAT技术

网络地址转化技术

六、私有IP地址和公网IP地址

6.1.局域网私有IP地址

公网 :内网(私网、局域网) == 1 :n

如果一个组织内部组建局域网,IP地址只能用于局域网内的通信,无法直接连接到公网

内网地址理论上使用任意IP地址都可以,RFC1918规定了以下的IP地址能够组件局域网

  • 10.*:前8位网络号,共16777216个地址(构建大型网络)
  • 172.16.* ~ 172.31.*:前12位网络号,共1048576个地址(构建中型网络)
  • 192.168.*:前16位网络号,共65536个地址(构建小型网络)

在这个范围内的都是私有IP地址,其余为全局IP地址

在网络通信的过程中,私有IP地址不能出现在公网上

正常人直接接触的都是内网,局域网,而不是公网

6.2.运营商

路由器本身具有构建子网的能力,给子网内所有主机分配IP地址

运营商路由器与家用路由器构建成了一个子网(网络号:10.1.1.*)

家用路由器与家中网络设备构建成了一个子网(网络号:192.168.1.*)

运营商路由器配备了能与公网通信的IP地址,是公网的出入口路由器

内网IP是固定的,不同内网的内网IP会出现重复,所以内网IP只能在该内网中有效

内网IP绝对不能出现在公网,也不能出现在其他内网,否则无法找回主机所在内网

主机发送报文,每经过一个内网的路由器,就会进行源IP的替换,替换成当前路由器的WAN口IP

NAT技术(网络地址转换):内网IP经过路由器WAN口IP替换的技术

运营商可以控制主机发送的报文是否转发到公网,网络欠费或报文携带敏感信息时都会无法转发

6.3.公网IP地址

各国的运营商自主申请公网IP,组件自己国家的公网环境

公网IP不是单纯以国家为单位划分,而是结合网民数量按照地区划分

一个区域有多大的网络,取决于有多少个公网IP

七、路由

在复杂的网络结构中,找出一条通往终点的路线

搜索路由表,查找到下一跳路由器

搜索路由表,未找到提供缺省路由

搜索路由表,查找到目标网络所在的出入口路由器,进行内网转发

7.1.路由表

Destination:目的网络地址

Gateway:下一跳地址

Genmask:子网掩码

Flags:U标志(该条目有效)G标志(该条目的下一跳地址是路由器地址)

Iface:发送接口

7.2.路由表生成算法

静态路由:路由表由网络管理员收到维护

动态路由:路由表由一些算法自动生成(距离向量算法、LS算法、Dijkstra算法)

八、IP报文分片与组装

8.1.MTU与MSS

数据链路层从上层接收下来的完整报文大小不超过1500字节(MTU 最大传输单元 1500字节)

如果超过了,就需要在发送方的网络层进行分片处理,在接收方的网络层进行组装

任何一个分片丢失,都表示该报文整体丢失,如果分片越多,发生丢包的概率越大

传输层控制每次交给网络层的报文大小,就能够减少分片数量(MSS 最大段尺寸 1460字节)

8.2.分片与组装

16位标识:不同报文,标识不同,相同分片,标识相同

3位标志:

  • 第一位:保留
  • 第二位:设为1时表示禁止分片,报文长度超过MTU,IP自动丢弃报文
  • 第三位:设为0时表示最后一个分片,其他是1

13位偏移量:分片在原始报文的偏移量

如何甄别特定报文是否分片

3位标志的第三位是1

3位标志的第三位是0,13位片偏移大于0

如何保证分片收全

16位标识相同的分片聚合在一起,按照片偏移进行升序排序

自身片偏移数字 + 自身报文长度 = 下一个分片的片偏移数字

相关推荐
程序员清风1 小时前
记忆系统设计:让 Agent 拥有短期记忆与长期记忆
java·服务器·网络
javgo.cn1 小时前
Markune:一个开源的 Local-first Markdown 工作区
笔记·编辑器
只睡四小时1 小时前
内网穿透+WebSocket:Node 零依赖远程桌面实战
网络·websocket·网络协议
Jeremy_WW1 小时前
802.3协议解读 05:116章节 200 Gb/s 和 400 Gb/s 网络介绍 V
网络·网络协议·信息与通信·光模块·802.3协议
河北之花1 小时前
计算机三级:BGQ
网络·tcp/ip·计算机网络·智能路由器
做运维的阿瑞2 小时前
Linux下DNS服务器搭建
linux·运维·服务器
团子股股东峥哥2 小时前
day37-RHEL-管理基本存储
linux·运维·服务器
en.en..2 小时前
TCP/IP四层模型「数据包封装与拆包」| 网络传输
服务器·网络·php
君生我老2 小时前
Linux inode概念 &软硬连接
linux·服务器