TCPIP

TCP/IP 模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。TCP/IP 协议簇分为四层,IP 位于协议簇的第二层(对应 OSI 的第三层),TCP 位于协议簇的第三层(对应 OSI 的第四层)。

TCP/IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4 层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如 Ethernet、Serial Line 等)来传送数据。

TCP-IP CheatSheet

IP 地址

地址类别

消息特征

除地址类别外,还可根据传输的消息特征将 IP 地址分为单播、广播或多播。主机使用 IP 地址进行一对一(单播)、一对多(多播)或一对所有(广播)的通信。

单播

单播地址是 IP 网络中最常见的。包含单播目标地址的分组发送给特定主机,一个这样的例子是,IP 地址为 192.168.1.5(源地址)的主机向 IP 地址为 192.168.1.200(目标地址)的服务器请求网页。要发送和接收单播分组,IP 分组报头中必须有一个目标 IP 地址,而以太网帧报头中必须有相应的目标 MAC 地址。IP 地址和 MAC 地址一起将数据传输到特定的目标主机。

如果目标 IP 地址属于另一个网络,则在帧中使用的目标 MAC 地址将为与源 IP 地址位于同一个网络中的路由器接口的 MAC 地址。

广播

广播分组的目标 IP 地址的主机部分全为 1,这意味着本地网络(广播域)中的所有主机都将接收并查看该分组。诸如 ARP 和 DHCP 等很多网络协议都使用广播。

例如:

C 类网络 192.168.1.0 的默认子网掩码为 255.255.255.0,其广播地址为 192.168.1.255,其主机部分为十进制数 255 或二进制数 11111111(全为 1);

B 类网络 172.16.0.0 的默认子网掩码为 255.255.0.0,其广播地址为 172.16.255.255;

A 类网络 10.0.0.0 的默认子网掩码为 255.0.0.0,其广播地址为 10.255.255.255。

在以太网帧中,必须包含与广播 IP 地址对应的广播 MAC 地址。在以太网中,广播 MAC 地址长 48 位,其十六进制表示为 FF-FF-FF-FF-FF-FF。

Multicast | 多播

多播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个多播组 IP 地址,多播地址范围为 224.0.0.0 ~ 239.255.255.255。由于多播地址表示一组设备(有时被称为主机组),因此只能用作分组的目标地址。源地址总是为单播地址。

远程游戏就是一个使用多播地址的例子,很多玩家通过远程连接玩同一个游戏;另一例子是通过视频会议进行远程教学,其中很多学生连接到同一个教室。还有一个例子是硬盘映像应用程序,这种程序用于同时恢复众多硬盘的内容。

同单播地址和广播地址一样,多播 IP 地址也需要相应的多播 MAC 地址在本地网络中实际传送帧。多播 MAC 地址以十六进制值 01-00-5E 打头,余 下的 6 个十六进制位是根据 IP 多播组地址的最后 23 位转换得到的。

组播(IGMP 协议)

224.0.0.0 ~ 224.0.0.255 为预留的组播地址(永久组地址),地址 224.0.0.0 保留不做分配,其它地址供路由协议使用; 224.0.1.0 ~ 224.0.1.255 是公用组播地址,可以用于 Internet; 224.0.2.0 ~ 238.255.255.255 为用户可用的组播地址(临时组地址),全网范围内有效; 239.0.0.0 ~ 239.255.255.255 为本地管理组播地址,仅在特定的本地范围内有效。 要注意的是,一些标准软件已经使用了固定的组播 IP 地址,如 Upnp 使用了 239.255.255.250,OSPF 使用了 224.0.0.5 等。 一般而言你使用临时组播地址就可以了。 组播 MAC 地址是针对组播 IP 地址经过转换而来的,算是一种虚拟的 MAC 地址;之所以出现这个,是因为 TCP/IP 层之下的链路层是基于 MAC 地址来传输数据的。组播因为既不是点对点的传输,又不是广播,所以需要一个特殊的 MAC 地址

24.0.0.0—224.2.255.255 的绝大部分地址已被使用,建议使用时避开上述地址(详细使用情况请参阅 RFC 1700)。 224.0.0.0 基础地址,保留,不能被任何群组使用
224.0.0.1 全主机群组(all hosts group),指参加本 IP 组播的所有主机、路由器、网关(不是指整个互连网) 224.0.0.2 本子网上的路由器(all routers on a LAN)224.0.0.4 DVMRP路由器(DVMRP Routers) 224.0.0.5 本子网上的 OSPF路由器(all OSPF routers on a LAN) 224.0.0.6 本子网上被指定的 OSPF 路由器(all designated OSPF routers on a LAN)
224.0.1.1 网络时间协议(Network Time Protocol,NTP)224.0.5.000-224.0.5.127 蜂窝式数字信息包数据发送主机组(CDPD Groups) 224.1.0.0-224.1.255.255 基于流的协议组播主机组(Stream Protocol Multicast Groups) 224.2.0.0-224.2.255.255 多媒体会议呼叫(Multimedia Conference Calls)*注:DVMRP 是 Distance vector multicast routing protocol 的缩写