TCP/IP网络原理 【IP篇】

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在这里插入图片描述

🎉🎉🎉写在前面
博主主页🌹🌹🌹戳一戳欢迎大佬指点
目标梦想进大厂立志成为一个牛掰的Java程序猿虽然现在还是一个小菜鸟嘿嘿
-----------------------------谢谢你这么帅气美丽还给我点赞比个心-----------------------------

在这里插入图片描述


网络原理


—承接上篇博文


四网络层

网络层最重要协议就是IP协议IP协议的作用地址管理与路由选择


4.1 地址管理

首先认识一下IP数据包的报文格式
在这里插入图片描述


【各个部分介绍】

4位版本号
这个值只存在两种情况4或者6对应的就是IPv4和IPv6

4位首部长度:
这个4位首部长度和TCP一样单位是字节也就是表示的是有多少个4字节。

8位服务类型
8位中实际只有4位有效这四位中同时只能有一位为1表示四种不同的工作模式。分别是最小延时最大吞吐量最高可靠性最小成本

16位总长度字节数
这里的总长度说的是一个IP数据报的总长度。对于IP数据报来说我们知道它的总长度知道它的报头长度所以说可以求出其载荷部分的长度。
这个载荷其实就是TCP数据报的长度TCP自身是没有总长度这一项的。

16位标识3位标志位13位片偏移
在这里插入图片描述
这几个属性主要是服务于IP协议的分包组包机制。因为当一个数据报如果比较大一个IP数据报放不下就会进行分包。
IP数据报分包的过程就相当于是分装货物的过程一批货物找了多辆卡车来装这些卡车的标识都是一样的但是装了先走的车片偏移就小后面的车片偏移就大。

8位生存时间(单位TTL)
网络上的数据传输并不是所有的数据都能到底目的主机比如你的目的IP地址写错了那么无论中间你怎么转发都是不可能到达的。所以生存时间就对一个数据包的转发次数做出了限制超过多少次转发次数之后就会直接将数据报丢弃默认是到达不了的数据。
在这里插入图片描述
TTL是一个整数代表转发次数一般是32/64/128之类的数字数据报每经过一个路由器转发TTL就会减少1直至TTL减为0的时候数据报就会被丢弃一般情况下在较少的转发次数下数据是可以到达世界上的任何地方的。

8位协议
指的是IP数据报的载荷部分使用的传输层协议是什么因为当数据报到达接收方进行分用的时候需要这一项来告诉传输层使用什么协议来进行解析。

32位源IP地址32位目的IP地址
表示你的数据报是从哪个主机发送过来又要到哪个主机去。


4.2 路由选择

路由选择就是在两点之间规划处一条路线。这个过程是一个启发式的过程类似与是问路。

在IP数据报里面会有一个目的IP当网络数据到达路由器的时候路由器自身会有一个路由表的数据结构(里面记录着这个路由器所能认识的路一个路由器肯定是无法认识到网络的全部的但是相邻的一部分可以)如果当前的目的IP这个路由器的路由表中有记录也就是有明确的路线给出如果路由器没有记录也就是不认识那就是继续转发给下一个路由器(路由器中会有一个默认的选项下一跳)。这样的转发不是无限制一般都可以到达但是如果说是IP地址错误了那么就会根据TTL的限制在TTL减为0之后就不会再转发了。
并且对于路由而言在转发数据的时候它不仅仅是找一路在有多个选择的情况下它会选择一条最优的路。


4.3 关于IP地址的补充

如何解决的IP地址不够用的问题
我们都知道IP地址是一个32位的整数可以表示的IP地址也就42亿多但是对于目前的互联网直接而言IP地址早就不够用了解决的办法有以下几个
1动态分配IP地址

设备上网的时候才会给它分配IP地址当设备不再使用网络的时候就会回收IP地址。这种方法显然是治标不治本并且回收分配也比较麻烦。


2NAT模式

这是现在的主流机制NAT模式下不再强制要求一个主机一个不一样的IP地址而是将IP地址进行了划分公网(外网)IP 和 私网(局域网/内网)IP 常见的内网IP 例如:10.x/172.16.~172.31.x/192.168.x
并且约定在一个局域网的内部IP地址不能重复但是在不同的局域网之间IP地址可以重复另外如果想要访问外网的设备那么则会使用一个外网IP来代替这一个局域网的设备这样就大大减少了外网IP的数量减少了消耗。
在这里插入图片描述


3IPv6

采用IPv6是根本的解决方案因为IPv6是16字节128位来表示一个IP地址也就是说IPv6所能表示的IP地址的数量是IPv4的2^96倍目前肯定是完全够用了的。

现在IP地址的分配方式还是采取的NAT加上动态分配的方式IPv6现在支持但是使用的更多的还是IPv4地址。
局域网内的设备之间可以相互通信但是不同局域网之间的设备是不能够直接进行通信的也就是跨局域网通信如果想要直接跨局域网通信需要使用特殊手段比如内网穿透和vlan虚拟局域网。


五数据链路层

认识以太网数据帧格式
在这里插入图片描述
这里的目的地址指的是MAC地址而不是IP地址。类型有三种分别对应IPARPRARP帧尾是CRC校验码。

认识MTU
以太网数据帧的最长是1500个字节这个限制就是MTU不同的网络类型有不同的MTU。如果说物理层是公路那么数据链路层就是公路上的卡车在进行数据的运输
在数据链路层里面有很多的协议不同协议的MTU不同也即是卡车的载重量不同以太网协议的载重量是比较小的所以在IP协议中会有分包机制会将一个IP数据包分包然后确保一辆卡车能够装得下只不过是需要多辆卡车进行装货了。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6