网络编程(TCP/IP协议、端口、IP地址)

网络

网络能够把多方链接在一起,然后可以进行数据传递

网络编程:让不同电脑上的软件能够进行数据传递,即进程之间的通信

TCP/IP协议

为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。

因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议

常用的网络协议
网络

  • 网际层也称为:网络层
  • 网络接口层也称为:链路层

端口

大多数操作系统都支持多程序(进程)同时运行,端口就是目的主机判断把接收到的数据报传送给同时运行的进程中的哪一个的机制。

端口是通过端口号来标记的,端口号只有整数,范围是从0到65535

知名端口
知名端口是众所周知的端口号,范围从0到1023,是预留给传输控制协议(TCP)和用户数据包协议(UDP)使用的。(好比 电话号码110、10086、10010一样)

一般情况下,如果一个程序需要使用知名端口的需要有root权限

动态端口
动态端口的范围是从1024到65535

一般不固定分配某种服务,而是动态分配。

动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。

  • 可以使用“netstat -ano” “ps -aux”查看端口状态

ip地址

用来在网络中标记一台电脑的一串数字(比如192.168.1.1),在本地局域网上是惟一的。

每一个IP地址包括两部分:网络地址和主机地址
IP地址

A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”

地址范围:1.0.0.1-126.255.255.254

二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110

可用的A类网络有126个,每个网络能容纳1677214个主机

B类IP地址

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”

地址范围:128.1.0.1-191.255.255.254

二进制表示为:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110

可用的B类网络有16384个,每个网络能容纳65534主机

C类IP地址

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”

地址范围:192.0.1.1-223.255.255.254

二进制表示为:11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110

可用的C类网络有2097152个,每个网络能容纳254个主机

D类IP地址

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。

它并不指向特定的网络,目前这一类地址被用在多点广播中,用来一次寻址一组计算机。

地址范围:224.0.0.1-239.255.255.254

E类IP地址

以“1111”开始,为将来使用保留

E类地址保留,仅作实验和开发用

私有ip

在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,它们的范围是:

10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255

猜你喜欢

转载自blog.csdn.net/op0912036/article/details/81877346