Linux高级编程——网络通信

计算机网络通信技术

即套接字(Socket)通信编程技术

常识:

三大通信网络:

  • 电信网络
  • 计算机网络:建设成本极低,开放式。
  • 有线电视网络

根据计算机网络的覆盖范围大小,分为局域网(Lock Area Newwork,简称LAN)、城域网、广域网、互联网(Internet)。

IP 地址:Internet Protocol Address,用来标识一台机器在计算机网络世界中的地址。有两种版本:IPv4 和 IPv6,IPv4使用 32 位的无符号整数表示地址,通常采用四段点分式记法,每一段的范围为 0 - 255。IPv4地址空间严重不足,所以推出了地址空间更大的 IPv6,IPv6 地址空间为 128 位。

IPv4 地址分为 A、B、C、D、E 五类。

在 IP 地址中主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类地址:10.0.0.0 ~ 10.255.255.255

B类地址:172.16.0.0 ~ 173.31.255.255

C类地址:192.168.0.0 ~ 192.168.255.255

私有 IP 地址只能分配给局域网内部机器使用,不能用于互联网。

127.x.x.x 为本地回环测试地址,表示本机,主要用于网络通信测试。

端口号:Port,用来区分同一机器内部的不同网络通信进程。它就是一个unsigned short 类型数据,范围为0 ~ 65535。

网络通信并不是两台机器在通信,实际上是位于两台机器上的两个进程在通信。参与通信的双方或多方必须具有明确的地址,还要遵守共同的规则和流程(这就是所谓的网络通信协议)。

一个进程在网络世界中的地址 = IP + Port + Protocol(通信协议,通常指 TCP 或 UDP )

网卡的 MAC 地址:即网卡的物理地址,占6个字节,采用“xx:xx:xx:xx:xx:xx”这种格式的记法。它用来唯一地标识不同网卡设备,固化在网卡内部存储器中,通常也可以自己修改,理论上全强唯一。

计算机网络分层结构:

  • OSI/RM 标准,即开放系统互连参考模型,理论上的国际标准。分为 7 层,从上层到底层分别为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

  • TCP/IP 协议族,事实上的国际标准。分为 4 层,从上层到底层分别为:应用层、传输层、网络层、链路层。

你可能感兴趣的:(Linux高级编程,linux,网络,网络协议)