计算机网络-----TCP/IP协议族
本文接着 计算机网络 2 后面继续学习~~~
网络层
IP 网际协议
基础知识
IP (IPv4、 IPv6) 相当于OSI参考模型中的第3层——网络层。
网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“ 点对点( end-to-end)通信”。从上一篇博客可知,网络层的下一层数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。
理解以下概念:
主机的定义应该是指“配置有IP地址,但是不进行路由控制的设备”。既配有IP地址又具有路由控制能力的设备叫做‘路由器”,跟主机有所区别。而节点则是主机和路由器的统称。
路由控制:
路由控制(Routing)是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一旦这个路由控制的运行出现异常,分组数据极有可能“迷失”,无法到达目标地址。因此,一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。
IP属于面向无连接型
IP面向无连接。即在发包之前,不需要建立与对端目标地址之间的连接。上层如果遇到需要发送给IP的数据,该数据会立即被压缩成IP包发送出去。
在面向有连接的情况下,需要事先建立连接。如果对端主机关机或不存在,也就不可能建立连接。反之,一个没有建立连接的主机也不可能发送数据过来。
而面向无连接的情况则不同。即使对端主机关机或不存在,数据包还是会被发送出去。反之,对于一台主机来说,它会何时从哪里收到数据也是不得而知的。通常应该进行网络监控,让主机只接收发给自己的数据包。若没有做好准备很有可能会错过一些该收的包。因此,在面向无连接的方式下可能会有很多冗余的通信。
为什么IP要采用面向无连接呢?
主要有两点原因:一是为了简化,二是为了提速。面向连接比起面向无连接处理相对复杂。甚至管理每个连接本身就是一个相当繁琐的事情。此外,每次通信之前都要事先建立连接,又会降低处理速度。需要有连接时,可以委托上一层提供此项服务。因此,IP为了实现简单化与高速化采用面向无连接的方式。
IP协议首部格式
通过IP进行通信时,需要在数据的前面加入IP首部信息。IP首部中包含着用于IP协议进行发包控制时所有的必要信息。了解IP首部的结构,也就能够对IP所提供的功能有一个详细的把握。
IPv4首部格式
IPv4数据报格式:
- 版本(Version):由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4,因此在这个字段上的值也是“4”。此外,关于IP的所有版本在以下表中列出。
- 首部长度(IHL: Internet Header Length):由4比特构成,表明IP首部的大小,单位为4字节(32比特)。对于没有可选项的IP包,首部长度则设置为“5”。也就是说,当没有可选项时,IP 首部的长度为20字节(4x5 =20)。
- 区分服务 (TOS: Type Of Service):由8比特构成,用来表明服务质量。每一位的具体含义如下表所示。
DSCP ( Differential