TCP/IP协议栈简介
互联网由一整套协议构成,自上而下而下可以分为如下4层:
-
Application
应用层协议封装了网络通信的数据包。 -
TCP
TCP协议用于保证数据通信的完整性和可靠性,防止丢包。 -
IP
Internet Protocol,规定了多个局域网如何通信。 -
Ethernet
以太网协议,规定了电子信号如何组成数据包(packet),解决了子网内部(即局域网)的点对点通行。
IP协议定义了一套自己的地址规则,称为IP地址。它实现了路由功能,允许某个局域网的A主机向另一个局域网的B主机发送信息。
IP地址包含网络号和主机号,IPv4协议规定的IP地址由32位二进制数组成,每8位一段,用十进制表示每段地址,可以表示的范围为0.0.0.0~255.255.255.255。IPv6协议规定的IP地址由128位二进制数组成,可以表示更多的网络与主机,目前IPv4能够表示的IP地址即将使用殆尽,不久的将来会被IPv6取代。
IPv4地址分类
- A类:
第一段为网络号:0000 0000 - 01111111(0-127),后三段为主机号
网络数:126(0.0.0.0表示所有网络,127.x.x.x表示本地回环地址)
各网络主机数:2^24-2
默认子网掩码:255.0.0.0,也可表示为:/8
#子网掩码用于与IP地址按位进行“与”运算,计算其网络地址
私网地址:10.0.0.0/255.0.0.0
- B类:
前两段为网络号:10 00 0000 - 10 11 1111(128-191),后两段为主机号
网络数:2^14
各网络主机数:2^16-2
默认子网掩码:255.255.0.0,也可以表示为:/16
私网地址:172.16.0.0-172.31.0.0
- C类:
前三段为网络号:110 0 0000 - 110 1 1111(192-223),最后一段为主机号
网络数:2^21
各网络主机数:2^8-2
默认子网掩码:255.255.255.0, /24
- D类:组播
1110 0000 - 1110 1111:224-239
- E类:科研
1111 0000 - 1111 1111:240-255
路由
路由是把数据从源地址经过网络传输到目标地址的过程,它包括2个主要动作:选择路径、数据传输。
路由器(Router)是一种负责寻径的网络设备,它通过路由表为数据传输选择最佳路径。路由表包含网络地址以及各地址之间距离的清单,路由器使用最少时间算法或最优路径算法来调整信息传递的路径。
路由表可以静态指定,也可以动态学习(基于rip2, ospf等协议)。路由表中的路由条目描述了目标地址、下一跳(nexthop)。目标地址可以分为主机路由、网络路由、默认路由(0.0.0.0/0.0.0.0),主机路由表示局域网中的主机,网络路由表示不同的局域网。
网关
网关(Gateway)就是一个网络连接到另一个网络的“关口”,它负责不同网络之间的通信。TCP/IP协议里的网关是其中的一种,实质上是一个网络通向其他网络的IP地址,此IP地址上的设备必须具有路由功能,这些设备有:路由器、启用路由协议的服务器、代理服务器。
比如如果网络A(192.168.1.0)中的主机向网络B(192.168.2.0)中的主机发送数据,因为两个主机不在同一网络,所以数据包会被转发给A的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B中的主机。