网络中网络层协议

网络层:

网络层:负责地址管理与路由选择;主要的协议是IP协议;主要的设备是路由器
还有NAT/NAPT/ICMP协议

(一)IP协议:

在这里插入图片描述

  1. 4位协议版本:IPV4/IPV6
  2. 4位头部长度:IP报头也是不定长的,因为有40字节的选项数据,所以最长60字节;最小20字节
  3. 8位TOS字段:3位优先权弃用,4位服务类型(最小延时,最大吞吐量,最高可靠性,最小成本),1位保留
  4. 16位数据报大小:包含IP头部在内的一个IP报文的大小,最大大小为65535—意味着一个IP报文的最大长度不能超过64K
  5. 16位分片标识:UDP数据在网络层有可能会进行数据分片,标识当前分片数据哪个完整报文
  6. 3位分片标志:1位保留,1位禁止分片标志,1位表示更多分片(可以用来标志分片的最后一片)
  7. 13位分片偏移:以8个字节为单位,标识当前分片在完整报文中的位置(相对起始位置的偏移量)
    13位分片偏移为什么要以8字节为单位?
    因为13位能够表示的最大大小是8192,8192*8 = 65536=64k,这样就可以完整的表示偏移量了
  8. 8位TTL:报文最大生存周期—一个数据能够经过多少个路由器跳转。每次经过一个路由器的时候,这个值就会-1,值为0的时候则将数据丢弃(防止路由环路)
  9. 8位上层协议:在数据分用时,网络层取出数据,需要通过这个协议类型,决定传输层使用哪个协议来对数据进行分用解析
  10. 16位校验和:校验数据一致性
  11. 32位源IP地址/32位目的IP地址:负责描述数据从哪个主机来到哪个主机去
  12. 40字节选项数据:例如保留经过路由器的地址信息

网络层的数据分片:
若传输层交付下来的数据大小过大,则会在网络层会将这个大数据截断为多个小的数据分片,然后每个分片封装IP报头进行发送,到达对端之后进行分片重组,组合成为一个完整的报文交付给上层。

传输层交付下来的数据大小过大,到底是多大就会分片?? — 这个大小取决于链路层的一个限制----MTU(最大传输单元)

网络层分片主要是针对UDP的:
传输层tcp协议协商的mss就是根据MTU计算得到的,因此TCP传输的数据到达网络层后是不会进行分片的,所以分片这个概念主要是针对于udp的,因为每个udp报文只需要限制数据小于64k-20-8。

1. 地址管理:

1.1 IP地址

IP地址就是一个无符号32位的一个整数,在网络中唯一标识一台主机
IP地址给主机的分配一定要保证唯一性

1.2 如何分配IP地址

网络非常大,人为分配是搞定不了的;只能通过机器分配 — DHCP 动态地址分配
整个网络是由很多小型网络组成的,按照网络进行地址分配

1.3 IP地址的组成:网络号+主机号

网络号:一个路由器组建局域网的时候,所对应的网络标识(每个路由器对于接收到的数据进行源地址判断,这个主机是否属于自己的网络,主机属于自己的网络才会转发,不属于就再做处理) – 必须使用我给你分配的地址才能上网(我自己分配才能保证不会冲突,避免人人给自己设置IP,造成冲突)
主机号:主机号就是在局域网中大家拥有相同网络号的情况下,标识唯一一个主机
主机号的唯一路由器很容易就可以实现,主要要保证的是网络号到底如何划分

1.4 网段(网络号)的划分

  1. 早期:将所有IP地址划分为五类IP地址,组建什么样的网络就使用什么样的网络号,就分配什么样的地址
    1.1 A类:用于组建超大型网络,IP地址中高一位固定为0,高7位是网络号,低24位是主机号(这类网络中可以分配很多的主机)0.0.0.0–127.255.255.255,比如我要组建超大网络,使用10这个网络号,则这个网络的IP地址分配范围:10.0.0.0–10.255.255.255

    1.2 B类:用于组建中型网络,IP地址中高两位固定为10,高14位为网络号,低16位是主机号(可以分配64w个主机) 128.0.0.0 ~~ 191.255.255.255

    1.3 C类:用于组建小型网络,IP地址高3位固定为110,高21位是网络号,低8位是主机号(256个主机号) 192.0.0.0 ~~ 223.255.255.255

    1.4 D类:特殊网络

    1.5 E类:特殊网络
    要组建什么网络,就去权威机构申请,分配一个网络号,接下来组建网络,主机号的分配由自己完成
    早期的这种划分机制,几乎已经被淘汰,因为网络的划分太粗糙了,对IP地址的浪费太大了

  2. 现在:CIDR方案:引入了一个新的字段—子网掩码
    子网掩码:无符号32位的整数,数据由连续的二进制1组成

    2.1 子网掩码取反可以得到局域网中的最大主机号,从0到最大主机号就是局域网中主机号的分配范围,例如:子网掩码为255.255.255.0取反就为255,表示该局域网中主机号为0~~255

    2.2 子网掩码与IP地址相与,可以得到网络号;路由器收到一个数据,拿数据的源地址与自己的子网掩码进行相与,看看自己的网络号,如果不相同,就放弃转发。
    例如:子网掩码为255.255.255.252 -> 0.0.0.3 -> 0~3就是这个局域网的主机号,这个局域网中可以连接两个主机(因为有两个主机不能用)----所以子网掩码的提出,可以把网段划分得特别的细致

1.5 特殊的IP地址

  1. 主机号全为0的IP地址:网络号—用于标识网络—这个主机号不能分配给主机
  2. 主机号全为1的IP地址:udp局域网广播地址—这个主机号不能分配给主机
    UDP支持局域网广播,将数据发送到广播地址,可以认为是发送给局域网中的所有主机
  3. 127.0.0.1:这个地址是每个主机上都有的一个本地虚拟回环网卡地址—主要用于本机的网络测试
  4. 0.0.0.0:这个地址适配本机上任意网卡地址,常用于服务端监听地址—表示监听本机所有网卡IP
  5. 255.255.255.255:全网广播地址—任意一个主机拿到发往这个地址的数据都会认为与自己匹配—常用于DHCP广播

2. 路由选择:

路由选择就是根据数据中的目的地址,来为数据选择一条合适的路径
在这里插入图片描述
在这里插入图片描述

路由选择的过程:
其实就是通过路由表进行目的主机的网络匹配,看是否是与自己相连的网络,如果是,则直接通过连接这个网络的网卡发送出去,如果不是,则将数据发送给自己的网关设备(上层路由器),让自己的网关设备去匹配(因为上层路由器的范围更大)

公网与私网(外网与内网):
私网:仅限于网络内部通信的网络,无法连接外部
公网:互联网

(二)NAT/NAPT协议:

IP地址不够用,除了DHCP动态分配之外,还有一种NAT—网络地址转换技术
一个路由器可以组建一个私网,私网地址仅限于内部通信,私网中的主机上网的时候都使用路由器对外的一个地址进行上网,那么这些私网中的主机IP地址就可以与其他私网中的IP地址冲突了----因为对外他们都是使用路由器的地址进行上网的
RFC1918文档规定,用于组建私网的网络有以下几种:10...* / 172.16.. ~~ 172.31.. /192.168..

NAT:网络地址转换技术就是NAT服务会将流经网关设备的数据的源IP地址修改为自己的IP地址然后转发-----实现大量私网主机使用同一个对外IP地址进行上网(若不修改源ip地址,则源IP地址是一个私网地址,对方收到后无法进行回复),公网的设备只能找到公网地址,是找不到私网地址的,因此进行源IP地址替换,目的是为了让对方回复的时候,回复到自己的网关设备上来,然后网关设备再转发给自己

但是同一个私网中,有可能同时有很多主机都访问同一个服务器,回复过来后,网关设备如何选择这是谁的回复?----NAPT

NAPT:进行地址映射
NAPT:对流经的数据进行修改源地址并转发的时候会记录对应地址关系

NAT/NAPT:地址转换服务,工作在网络层,部署在网关设备上,对流经网关设备的数据进行源地址替换,让一个私网中的所有主机采用同一个对外地址进行上网,并记录其映射关系–以便于得到响应之后,知道把数据给谁

(三)ICMP协议:

用于进行网络探测—通过发送一个icmp请求,要求对方进行回复

面试题:
ssh使用22号端口,telnet使用23号端口,ping使用多少端口?
Ping这个工具通过ICMP协议实现,而ICMP是网络层协议,不涉及端口

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值