网络基础——网络层
网络层 (解决提出源地址到目的地址,即从哪到哪)
IP协议
组装数据包:
16位标识(id): 唯⼀一的标识主机发送的报⽂文. 如果IP报⽂文在数据链路层被分⽚片了, 那么每⼀一个⽚片⾥里⾯面 的这个id都是相同的.
3位标志字段: 第⼀一位保留(保留的意思是现在不⽤用, 但是还没想好说不定以后要⽤用到). 第⼆二位置为1 表⽰示禁⽌止分⽚片, 这时候如果报⽂文⻓长度超过MTU, IP模块就会丢弃报⽂文. 第三位表⽰示"更多分⽚片", 如果分 ⽚片了的话, 最后⼀一个分⽚片置为1, 其他是0. 类似于⼀一个结束标记.
13位分⽚片偏移(framegament offset): 是分⽚片相对于原始IP报⽂文开始处的偏移. 其实就是在表⽰示当前 分⽚片在原报⽂文中处在哪个位置. 实际偏移的字节数是这个值 * 8 得到的. 因此, 除了最后⼀一个报⽂文之 外, 其他报⽂文的⻓长度必须是8的整数倍(否则报⽂文就不连续了).
MTU (数据链路层)限制:
相当于法快递时对尺寸的限制;以太网帧中的数据长度规定最小46字节,最大1500字节。
(不同网络类型有不同的MTU)
数据包长度大于拨号链路的MTU时,需要对数据包进行分片;
IP 地址分为:网络号、主机号
网络号:保证互相连接的两个网段具有不同的标识;
主机号:同一网段中,主机之间具有相同的网络号,但必须有不同的主机号;
DHCP技术:⾃动的给⼦⽹内新增主机节点分配IP地址, 避免了手动管理IP的不便.
实际网络架设中, 不会存在⼀个⼦网内有这么多的情况. 因此⼤大量的IP地址都被浪费掉了.
CIDR技术:引入一个额外的⼦网掩码(subnet mask)来区分网络号和主机号;
⼦⽹网掩码也是一个32位的正整数. 通常⽤用⼀一串 "0" 来结尾;
将IP地址和⼦网掩码进⾏行 "按位与" 操作, 得到的结果就是网络号;
网络号和主机号的划分与这个IP地址是A类、B类还是C类⽆无关;
提⾼了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加。
IP地址与⼦网掩码做与运算可以得到网络号, 主机号从全0到全1就是⼦网的地址范围;
IP地址和⼦网掩码还有一种更简洁的表⽰示⽅方法,例如140.252.20.68/24,表⽰示IP地址为140.252.20.68, ⼦网掩码的高24位是 1,也就是255.255.255.0
特殊IP地址:
将IP地址中的主机地址全部设为0, 就成为网络号, 代表这个局域网;
将IP地址中的主机地址全部设为1, 就成为了⼲⼴广播地址, ⽤用于给同⼀一个链路中相互连接的所有主机发 送数据包;
127.*的IP地址⽤用于本机环回(loop back)测试,通常是127.0.0.1 。
IP地址的数量限制:
CIDR在⼀一定程度上缓解了IP地址不够⽤用的问题(, 仍然不是很够⽤用. 这时候有三种⽅方式来解决:
动态分配IP地址: 只给接⼊网络的设备分配IP地址. 因此同一个MAC地址的设备, 每次接⼊入互联网中,IP地址的数量限制
得到的IP地址不⼀一定是相同的;
IPv6: IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6⽤用16字节128位 来表⽰示⼀一个IP地址; 但是目前IPv6还没有普及;
NAT技术:能够将私有IP对外通信时转为全局IP. 也就是就是⼀种将私有IP和全局IP相互转化的技术⽅法:
请求信息向外传输时,不停替换源代码;
响应信息往回传输时,需要借助NAT交换机+NAT转换表;(NAT交换机主要负责替换主机号,维护主机与外网之 间的映射关系)
缺点:
⽆无法从NAT外部向内部服务器建⽴立连接;
装换表的⽣生成和销毁都需要额外开销;
通信过程中⼀旦NAT设备异常, 即使存在热备, 所有的TCP连接也都会断开;
私有IP地址和公网IP地址:
私有IP地址:不同局域网内可能出现同一个IP地址;
公网IP地址:一个IP地址标识一台主机,不能重复;
路由:转发分组实现网络互连,并连接两个IP子网。还是指分组从源端到目的端时路径的进程。
[唐僧问路例⼦子1] ——理解路由功能
路由的过程, 就是这样跳⼀跳(Hop by Hop) "问路" 的过程. 所谓 "⼀一跳" 就是数据链路层中的⼀一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间。
当IP数据包, 到达路由器时, 路由器会先查看目的IP; 路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器; 依次反复, 一直到达目标IP地址;
[唐僧问路例⼦子2]——深刻体会路由如何明确下一跳
路由表可以使⽤用route命令查看 如果目的IP命中了路由表, 就直接转发即可; 路由表中的最后一行,主要由下⼀跳地址和发送接口两部分组成,当目的地址与路由表中其它⾏行都不 匹配时,就按缺省路由条目规定的接⼝发送到下一跳地址。