Linux 教程 作者:王啸
2. 网络相关概念
1)套接口的概念:
套接口,也叫“套接字”。是操作系统内核中的一个数据结构,它是网络中的节点进行相互通信的门
户。它是网络进程的 ID。网络通信,归根到底还是进程间的通信(不同计算机上的进程间通信)。在
网络中,每一个节点(计算机或路由)都有一个网络地址,也就是 IP 地址。两个进程通信时,首先要
确定各自所在的网络节点的网络地址。但是,网络地址只能确定进程所在的计算机,而一台计算机上
很可能同时运行着多个进程,所以仅凭网络地址还不能确定到底是和网络中的哪一个进程进行通信,
因此套接口中还需要包括其他的信息,也就是端口号(PORT)。在一台计算机中,一个端口号一次只
能分配给一个进程,也就是说,在一台计算机中,端口号和进程之间是一一对应关系。所以,使用端
口号和网络地址的组合可以唯一的确定整个网络中的一个网络进程。
例如,如网络中某一台计算机的 IP 为 10.92.20.160,操作系统分配给计算机中某一应用程序进
程的端口号为 1500,则此时 10.92.20.160 1500 就构成了一个套接口。
2)端口号的概念:
在网络技术中,端口大致有两种意思:一是物理意义上的端口,如集线器、交换机、路由器等用
于连接其他网络设备的接口。二是指 TCP/IP 协议中的端口,端口号的范围从 0~65535,一类是由互
联网指派名字和号码公司 ICANN 负责分配给一些常用的应用程序固定使用的“周知的端口”,其值一般
为 0~1023.例如 http 的端口号是 80,ftp 为 21,ssh 为 22,telnet 为 23 等。还有一类是用户自己
定义的,通常是大于 1024 的整型值。
3)ip 地址的表示:
通常用户在表达 IP 地址时采用的是点分十进制表示的数值(或者是为冒号分开的十进制 Ipv6 地
址),而在通常使用的 socket 编程中使用的则是二进制值,这就需要将这两个数值进行转换。
ipv4 地址:32bit, 4 字节,通常采用点分十进制记法。
例如对于:10000000 00001011 00000011 00011111
点分十进制表示为:128.11.3.31
ip 地址的分类:
特殊的 ip 地址: