网络编程即编写通过计算机网络与其他程序进行通信的这类程序。
相互通信的网络程序中,一方称为客户程序(client),另一方称为服务器程序(server)。
计算机网络(简称网络):是指将地理位置不同的具有独立功能的多台计算机及其外部设备通过通信线路连接起来。
互联网( Internet ):专用名词,也叫因特网,特指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,采用TCP/IP协议族作为通信规则,且其前身为美国的ARPANET。
互连网( internet ):通用名词,泛指在局部范围由多个网络互连而成的网络,即 “ 网络的网络 ” 。
网络的目的——资源共享,信息交互。
路由器可以把网络互连起来,传输介质有双绞线、同轴电缆、光纤、无线电电磁波等。
IP地址:它为互联网上的每一个网络和每一台主机分配一个逻辑地址,给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符,易于管理。
IP地址 = 网络号 + 主机号 (用点分十进制表示)
网络号标志主机所连接到的网络,一个网络号在整个互联网范围内必须是唯一的。
主机号标志该主机。
MAC地址:物理地址,用来定义网络设备的位置。
IP地址与MAC地址的区别:
IP地址:逻辑地址,用点分十进制表示,32位标识符,可修改,后期可设置,使网络易于管理。
MAC地址:物理地址,用十六进制表示,六个字节48位,与生俱来,无法修改,唯一标识网卡。
子网掩码:用来指明一个IP地址的哪些位标识的是主机所在的子网。可看是否在同一个网络里。
端口号:端口包括逻辑端口和物理端口两种类型,由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。端口即对应的进程、程序。
通俗地讲,端口号即就是应用程序(或进程)的一个代号。
传输层的 协议+端口号 可以唯一标识主机中的应用程序。
注:同一个主机可以占用多个端口号。
端口的分类
知名端口:即众所周知的通用端口号,端口号介于1~1023之间,需管理员root权限才能使用,如HTTP协议默认使用80端口。
保留端口:端口号介于1024~4096之间。
临时端口:又叫客户端口号,端口号介于4096以上。
网络协议:一组网络规则的集合。
TCP协议:面向连接的,可靠的,提供流式服务。如打电话。
UDP协议:无连接的,不可靠的,提供数据报服务。如发短信。
流式服务:主机向客户端(即接收方)发送一组信息,接收方有可能接收很多次才能将数据接收完,传输过程中是以byte(字节)为单位进行传输的。
套接字( socket ):实现源头与目的的绑定。
套接字由五部分组成,分别是本地主机IP地址、远地主机IP地址、本地进程的协议端口、远地进程的协议端口、连接使用的协议(2IP,2端口,1协议)。
大端:网络字节序,低位值在内存中放高位地址。
小端:主机字节序,高位值在内存中放低位地址。
Linux命令: ifconfig 查看端口
iptables -F 关闭防火墙
127.0.0.1 表示自己的主机,用于回环测试,本地访问本地的服务器。
水平有限,欢迎参考。不当之处,欢迎留言指正!