互联网接口的地址和端口是甚么?
地址
互联网上每一个接口都有一个唯一的网络地址,也叫IP地址,IP地址有IPv4和IPv6两个版本,IPv4是32位4字节的整数,每一个字节(8bit)的取值范围是0~255,所以可以把4字节的IPv4用四个点分隔的byte值表示,比如140.252.13.88,每一个十进制数值对应32位整数中的每一个字节,这类表示法叫点分十进制表示法,很明显,点分十进制法和int32两种表示法之间很容易相互转换。
IPv4地址划分为ABCDE五类,32位地址表示的数值空间有限,难以为互联网上的所有联网装备分配独立的IP地址,所以便存在动态分配、共享、公网+内网地址转化(NAT)等问题,本质上是为了解决IP地址不够用的问题。
IPv6使用128bit,2的128次方就非常大了,号称可以为地球上每粒沙子分配一个ip地址。
IP数据报(网络层)用IP地址、而以太网帧(链路层)则是用硬件(48位Mac)地址,ARP和RARP用于IP地址和硬件地址之间做映照(转换)。
端口
TCP/UDP采取16位端口号来辨认(辨别)利用,比如主机A向主机B发送了一个IP报,主机B的内核收到该IP报以后,应当交给哪一个利用程序去处理呢?端口号就是用来干这个的,内核会保护端口号到利用程序之间的对应关系。
比较经常使用的利用层协议有约定的端口号,也就是知名端口号,而1024~5000之间的端口号是分配给TCP/IP临时用的,而大于5000的另做他用。也就是说,你用TCP方式去连网络服务器,本地为该socket分配的端口号会在1024~5000之间,这取决于操作系统的端口分配策略。
域名系统
域名系统(DNS)提供主机名字和IP地址之间的转换,比如www.baidu.com是一个域名,利用程序可以通过一个标准库函数(gethostbyname)来取得给定名字主机的IP地址,标准库函数(gethostbyaddr)实现逆操作。
IP地址是一串数字,含义不清、也不便于记忆,主机名含义更清晰,www.baidu.com你就很容易记住,这也是为何存在IP地址还需要主机名的缘由。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP