UNIX再学习 -- 网络与网络协议

一、网络协议模型

1、ISO/OSI 网络协议模型

什么是计算机网路?

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

什么是网络协议?

网络协议是一种特殊的软件,是计算机网络实现其功能的最基本的机制。网络协议的本质就是规则,即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件,它融合于其它所有的软件甚至硬件系统中,因此可以说协议在网络中无所不在。

什么是协议栈?

为了减少网络设计的复杂性,绝大多数网络采用分层设计的方法。所谓分层设计,就是按照信息的流动过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。各层的协议和接口统称为协议栈。

什么是 ISO/OSI 网络协议模型?

描述计算机网络各协议层的一般方法是采用国际标准化组织(International Standardization Organization, ISO)的计算机通信开放系统互连(Open System Interconnection, OSI)模型,简称 ISO/OSI 网络协议模型。

2、TCP/IP 协议族

TCP/IP 不是个单一的网络协议,而是由一组具有层次关系的网络协议组成的协议家族,简称 TCP/IP 协议族。

    — TCP:传输控制协议,面向连接,可靠的全双工的字节流。
    — UDP:用户数据报协议,无连接,不如 TCP 可靠但速度快。
    — ICMP:网际控制消息协议,处理路由器和主机间的错误和控制消息。
    — IGMP:网际组管理协议,用于多播。
    — IPv4:网际协议版本 4,使用 32 位地址,为 TCP、UDP、ICMP 和 IGMP 提供递送分组服务。
    — IPv6:网际协议版本 6,使用 128 位地址,为 TCP、UDP 和 ICMPv6 提供递送分组服务。
    — ARP:地址解析协议,把 IPv4 地址映射到硬件地址。
    — RARP:逆地址解析协议,把硬件地址映射到 IPv4 地址。
    — ICMPv6:网际控制消息协议版本 6,总和了 ICMP、IGMP 和 ARP 的功能。
    — BPF:BSD 分组过滤器,为应用程序提供访问数据链路层的接口,由源自 BSD 的系统内核提供。
    — DLPI:数据链路提供者接口,为应用程序提供访问数据链路层的接口,由源自 SVR4 的系统内核提供。

通常所说的 TCP、UDP 和 ICMP 等协议都是工作在 IP 协议之上的,IP 协议作为它们的基础协议为其提供服务支撑。

3、TCP/IP 与 ISO/OSI 模型

在 ISO/OSI 网络协议模型的基础上,TCP/IP 协议做了部分合并和简化,同时将网络编程的接口设定在传输层与会话层之间,这样做的理由有两点。
第一、上三层与应用程序的业务逻辑(如数据包的组织与解析、收发的实际与次序等)密切相关,而与具体的通信细节(如收发分组、计算验证校验和、丢包重传等)关系不大;下四层主要处理通信细节而与具体应用的业务逻辑无关。
第二、上三层通常构成用户进程,而下四层通常是系统内核的一部分。

二、消息与地址

1、消息包与消息流

应用程序负责组织的通常都是业务相关的数据内容,而要想把这些数据内容通过网络发送出去,就要将其自上向下地压入协议栈,每经历一个协议层,就会对数据做一层封包,每一层输出的封包都是下一层输入的内容,消息包沿着协议栈的运动形成了消息流。
当从网络上接收数据时,过程刚好相反,消息包自下向上地流经协议栈,每经历一个协议层,就会对输入的数据解一层封包,经过层层解包以后,应用程序最终得到的将只是与业务相关的数据内容。

2、IP 地址

什么是 IP 地址?

IP 地址,全称网际协议地址(Internet Protocol Address),是 IP 协议提供的一种统一的地址格式,为互联网上的每个网络和每台主机分配一个逻辑地址,借以消除物理地址差异所带来的影响。

IP地址如何表示?

在计算机内部,IP 地址用一个 32 位无符号整数表示,如:0x01020304。如无特别说明,我们只讨论 IPv4 的情况。
人们更习惯使用点分十进制字符串表示,如:1.2.3.4。字符串形式的从左到右,对应整数形式的从高字节到低字节。注意这里所说的高低指的是数位高低而非地址高低。

查看 IP 地址的基本命令

Windows系统操作系统:ipconfig    ipconfig/all
Unix/Linux操作系统:ifconfig    /sbin/ifconfig

什么是 IP 地址分级?

    — A 级地址:以 0 为首的 8 位网络地址 +24 位本地地址
    — B 级地址:以 10 为首的 16 位网络地址 +16 位本地地址
    — C 级地址:以110 为首的 24 位网络地址 +8 位本地地址
    — D 级地址:以 1110 为首的 32 位多播地址
例如:某台计算机的 IP 地址:192.168.182.48,写成整数形式:11000000 10101000 10110110 00110000
C 级地址,网络地址:192.168.182.0,本地地址:48.

什么是子网掩码?

一般与IP地址搭配使用,主要用于指定一个IP地址中具体的网络地址和主机地址。也就是说判断两个IP地址是否在同一个子网中。
IP 地址 & 子网掩码 = 网络地址
192.168.182.48 & 255。255.255.0 = 192.168.182.0
无觅关联推荐,快速提升流量
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。