网络层
IP协议
是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;
二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务
IP主要包含三方面内容:ip 寻址 、路由控制 、 ip 分包和组包
路由控制 :将分组数据发送到最终目标地址的功能。所有主机维护一张路由控制表,该表记录ip数据下一步应该发给那个路由器
- IP 协议:
(1)IP协议提供了IP地址,并将源目IP地址夹带在通信数据包里面,为路由器指明通信方向;
(2)IP协议只能指明数据包的源目通信方即"这是谁的送给谁的",但不能保证数据包一定能到达对方,数据是否会被丢弃以及丢弃之后如何处理。所以,上面才有这句:"IP协议提供面向无连接不可靠传输功能"。那么,如果出现丢包且需要重传时,谁来解决呢?这就需要TCP/IP协议栈另外一个"半壁江山"来实现,大家肯定猜到了:TCP协议能解决以上这些IP协议不能实现的功能。
(3) IP协议不仅仅只有"快递单"功能,它还能防止数据包环路、为数据打上重要或不重要等标签实现流量控制、能验证数据包是否损坏、能实现数据包分片和组装功能;
IP 为什么面向无连接 因为简化且快速
ipv4 首部
1 版本 由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4。
2 首部长度 由4比特构成,表明IP首部的大小,单位为4字节(32比特)。对于没有可选项的IP包,首部长度则设置为“5”。也就是说,当没有可选项时,IP首部的长度为20字节(4x5=20),因此首部长度的最大值是15个4字节长的字,即60字节
3 DSCP段与ECN段:
4 总长度(Total Length):
表示IP首部与数据部分合起来的总字节数。该字段长16比特。因此IP包的最大长度为65535(=2^16-1)字节。
5 标识(ID:Identification):
由16比特构成,用于分片重组。同一个分片的标识值相同,不同分片的标识值不同。通常,每发送一个IP包,它的值也逐渐递增。此外,即使ID相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片。
6 标志
7 片偏移 由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置。第一个分片对应的值为0.由于FO域占13位,因此最多可以表示8192(=2^13)个相对位置。单位为8字节。因此最大可表示原始数据8x8192=65536字节的位置。
8 生存时间
由8比特构成,它最初的意思是以秒为单位记录当前包在网络上应该生存的期限。然而,在实际中它是指可以中转多少个路由器的意思。每经过一个路由器,TTL会减少1,直到变成0则丢弃该包。
9 协议
由8比特构成,表示的是IP包传输层的上层协议编号。目前常使用的协议如下:
10 首部校验和
由16比特(2个字节)构成,也叫IP首部校验和。该字段只校验数据报的首部,不校验数据部分。它主要用来确保IP数据报不被破坏。校验和的计算过程,首先要将该校验和的所有位置设置为0,然后以16比特为单位划分IP首部,并用1补数计算所有16位字的和。最后将所得到这个和1补数赋给首部校验和字段。
11、源地址(Source Address):
由32比特(4字节)构成,表示发送端IP地址。
由32比特(4字节)构成,表示接收端IP地址。
13、可选项(Options):
长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:
a、安全级别
b、源路径
c、路径记录
d、时间戳
14、填充(Padding):
也称作填补物。在有可选项的情况下,首部长度可能不是32比特的整数倍。为此,通过向字段填充 0,调整为32比特的整数倍。
15 数据(Data):
存入数据。将IP上层协议的首部也作为数据进行处理。
每一台主机的每一块网卡都要设置ip地址,每块网卡可以设置多个ip地址。因此ip地址并不是根据主机台数设置
ip地址由网络地址和主机地址 组成,利用目标ip地址的网络地址进行路由。只有网络标识(网络地址)相同的两台主机在无路由的情况下才能相互通信
ip地址分类
-2 因为全0 全1 的保留
网络底子 主机地址
A 2^7-2 2^(24)-2
B 2^(14)-2 2^(16)-2
C 2^(21)-2 2^8-2
子网掩码
子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,
有效解决了IP地址资源紧张的局面。子网掩码一定是配合IP地址来使用的
作用:一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
根据RFC950定义,子网掩码是一个32位的2进制数, 其对应网络地址的所有位都置为1,对应于主机地址的所有位置都为0。
子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;
右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
这样做的目的是为了让掩码与IP地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数
(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是 将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
ipv6
表示方法
报文内容
优势特点
RIP 和OSPF
RIP(路由信息协议)——分布式的基于距离向量的路由选择协议;OSPF(开放最短路径优先协议)—— 使用分布式的基于链路状态的路由选择协议
核心 RIP:数跳数;OSPF:计算链路的度量值
发什么 RIP 当前本路由器所知道的全部信 OSPF 与本路由器相邻的所有路由器的链路状态
向谁发 RIP:仅和相邻路由器交换信息; OSPF:向本自治系统所有路由器发送消息
什么时候发 RIP 按固定的时间间隔交换路由信息 OSPF 只有当链路状态发生变化时,路由器才能向所有路由器用洪泛法发送此消息
ICMP协议:Internet控制报文协议,是一个错误侦测与回馈机制;
作用:测试网络的联通性并给予一定的反馈
组成:ping,tracert;
ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。
什么是ARP协议?
正向地址解析协议;将一个已知的目标lP地址解析成对应的MAC地址
RARP:反向地址解析协议
.ipv4地址不够分配有什么机制?
1、采用无类别编址CIDR,使IP地址的分配更加合理
2、采用网络地址转换(NAT)方法以节省全球IP地址
3、采用具有更大地址空间的新版本的IPv6
其中前两个方法只是延长了IPv4地址分配完毕的时间,只有第三种方法从根本上解决了IP地址的耗尽问题。
什么是CIDR(无分类域间路由选择)?
无分类域间路由选择是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分。
其特点主要有:
1、消除了传统A、B、C类地址及划分子网的概念,因而可以更有效地分配IPv4的地址空间。CIDR使用“网络前缀”的概念代替子网络的概念。因此,IP地址的无分类两级编址为:IP::=<网络前缀>,<主机号>。
2、将网络前缀都相同的连续IP地址组成“CIDR地址块”。一个CIDR地址块可以表示很多地址,这种地址的聚合称为路由聚合,或称构成超网。路由聚合使得路由表中的一个项目可以表示多个原来传统分类地址的路由,有利于减少路由器之间的路由选择信息的交换,从而提高网络性能。
什么是NAT?
NAT即网络地址转换,是指通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以与因特网连通,由于专用网本地IP地址可以重用,因此NAT大大节省了IP地址的消耗。
使用NAT的时候需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由至少有一个有效的外部全球地址。
普通的路由器在转发IP数据报的时候,不改变其源IP地址和目的IP地址。而NAT路由器在转发IP数据报的时候,一定要更换其IP地址。普通路由器仅工作在网络层,而NAT路由器转发数据时需要查看和转换传输层的端口号。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2019-03-28 L1-039 古风排版 (20 分)
2019-03-28 L1-043 阅览室 (20 分)
2019-03-28 数学思想