《图解TCP/IP》学习笔记(四)IP协议

IP即网际协议

IP相当于OSI参考模型的第三层——网络层

网络层是 实现终端节点之间的通信。数据链路层的主要作用是在互连同一种数据链接的节点之间进行包传递,以但跨越多种数据链路就需要借助网络层

IP的主要作用,在复杂的网络环境中将数据包发给最终的目标地址。

主机:配有IP,不进行路由控制的设备

路由器:既配有IP,也可以路由控制的设备

节点:主机和路由器的统称。

网络与数据链路层的关系

数据链路层相当于每次的换乘,只有特定区间有效,整个全程的行程表就相当于网络层。

IP基础知识

IP地址属于网络层地址

以太网、无线局域网、PPP等都不会改变IP地址的形式。

在网桥或交换集线器等物理层或数据链路层数据包转发设备中,不需要设置IP地址。

路由控制Routing

routing:将分组数据发送到最终目标地址.

Hop 跳,指网络中的一个区间。IP包正式在网络中一个个hop间被转发,所以IP路由也叫做多跳路由。在每一个区间内决定着包在下一跳被转发的路径。

一跳:是指利用数据链路层以下分层的功能传输数据帧的一个区间。以太网等数据链路中使用MAC地址传输数据帧,此时的一跳指的是从源MAC地址到目标MAC地址之间传输帧的区间。是主机或路由网卡不经其他路由器而能直接到达的相邻主机或路由器网卡之间的一个区间

多跳路由:路由器或主机转发IP数据包时只指定下一个路由器或主机

所有的主机维护一张路由控制表,记录IP数据在下一步应该发给哪个路由器。IP包根据该表在各个数据链路上传输。

数据链路的抽象化

数据链路的最大区别:各自的MTU不同 MTU在以太网中1500字节,在FDDI中4352字节,ATM必须9180字节。所以进行IP的分片处理,到了对端目标地址再被组合上传。

fragementation 让ip完成在dl层的抽象化,可以忽略数据包在途中的各个链路上的MTU

IP属于面向无连接型

发包之前不需要建立与对端目标地址之间的连接。

无连接的原因:简化,提速。

IP提供 best effort 。为了提高可靠性,TCP采用面向连接。

IP地址的基础知识

IP地址的定义

32位整数表示,用十进制点符号法表示。IP地址分配给每一个参与通信的主机。

通常一个网卡只设置一个IP,但也可配置多个IP

IP地址由网络和主机两部分标识而成

网络标识保证相互连接的每个段的地址不相重复,主机标识不允许在同一个网段内重复出现。

《图解TCP/IP》学习笔记(四)IP协议

目前基本以子网掩码区分网络标识与主机标识。

IP地址的分类

《图解TCP/IP》学习笔记(四)IP协议

A类以0开头,1-8位是网络标识 0.0.0.0-127.0.0.0

B类10开头,1-16位是网络标识, 128.0.0.0-191.255.0.0

C类110开头,1-24位是网络标识,192.0.0.0-223.255.255.0

D类1110开头,1-32位是网络标识,224.0.0.0-239.255.255.255

注:

  1. 比特位表示主机地址是,不可以全0或全1
  2. 全1的主机地址位广播地址
  3. 全0表示对应的地址不可获知

广播地址

用于在同一个链路中相互连接的主机之间发送数据包。将IP地址中的主机地址部分全设位1,就是广播地址。

  1. 本地广播 本网络内
  2. 直接广播 不同网络之间

《图解TCP/IP》学习笔记(四)IP协议

IP多播

用于将包发送给特定组内的所有主机。直接使用IP协议,是不可靠传输。

多播使用D类地址 如果从首位开始到第4位是 1110 ,就可以认为是多播地址,剩下的28位,可以成为多播的组编号。224.0.0.0-239.255.255.255是可用范围

注:

  1. 224.0.0.0-224.0.0.255不需要路由控制,在同一个链路内也能实现多播。这个范围之外设置多播地址会给全网所有组内成员发送多播的包。
  2. 所有的主机必须属于224.0.0.1的组,所有路由器必须属于224.0.0.2的组

*子网掩码

子网掩码作为识别码通过子网网络地址可以划分ABC更小粒度的网络。将主机地址部分作为子网地址,可以将原网络分为多个物理网络。

CIDR和VLSM

BGP 边界网关协议对应CIDR 五类型域间选路,不受IP地址分类的限制自由分配。VLSM可变长子网掩码,可以随机修改组织内各个部门的子网掩码长度。通过路由集中降低路由器的负担,同时能够提升IP地址的利用率。

全局地址与私有地址

必要的时候职位相应数量的设备分配唯一的IP地址。

《图解TCP/IP》学习笔记(四)IP协议

NAT技术可以互换私有IP与全局IP

全局IP要在整个互联网范围内保持唯一,私有IP在一个域里唯一即可。

路由控制

路由控制表 Routing table:

一种是管理员手动设置(静态),另一种是路由器与其他路由器交换信息时自动刷新(动态)。

IP协议始终认为路由表是正确的,IP本身没有定义制作路由控制表的协议。(路由协议)

IP地址与路由控制

路由控制表中记录着网络地址与下一步应该发送至路由器的地址。存在多条相同网络地址的记录,按最长匹配原则选择

默认路由

路由表中任何一个地址都能与之匹配。一般标记为0.0.0.0/0,并没有标识IP地址

主机路由

IP地址/32 Host Route 整个IP地址的所有位都将参与路由。进行主机路由,意味着要基于主机上网卡上配置的IP,而不是基于改地址的网络地址部分进行路由。

多被用于不希望通过网络地址路由的情况。但是,主机路由会导致路由表膨大, 网络性能下降。

环回地址

在同一台计算机上的程序之间进行网络通信时所使用的一个默认地址。

127.0.0.1 相同意义的是,localhost的主机名。使用该IP,数据包不会流向网络。

路由控制表的聚合

缩小路由表,利用网络地址的比特分布进行分层配置。并且可以将已知的路由信息传送给其他的路由器,达到控制路由信息的目的。

IP分割处理与再构成处理

数据链路不同,MTU则不同

《图解TCP/IP》学习笔记(四)IP协议

IP报文的分片与重组

路由器负责分片,目标主机进行重组。每一个分片都有20字节的IP首部

路径MTU发现

只要允许,是不希望由路由器进行IP数据包的分片处理的。

从发送端主机到接收端主机之间不需要分片时最大MTU的大小,就是路径中存在的所有DL中最小的MTU

《图解TCP/IP》学习笔记(四)IP协议
《图解TCP/IP》学习笔记(四)IP协议

IPv6

长度128bit

最后两节是v4和v6的首部结构,就不多说了。

相关文章: