理解IP和端⼝
IP地址是⼀个规定,现在使⽤的是IPv4,既由4个0-255之间的数字组成,在计算机内部存储时只需要4个字节即可。在计算机中,IP地址是分配给⽹卡的,每个⽹卡有⼀个唯⼀的IP地址,如果⼀个计算机有多个⽹卡,则该台计算机则拥有多个不同的IP地址,在同⼀个⽹络内部,IP地址不能相同。IP地址的概念类似于电话号码、⾝份证这样的概念。由于IP地址不⽅便记忆,所以有专门创造了域名(Domain Name)的概念,其实就是给IP取⼀个字符的名字,例如163、sina等。IP和域名之间存在⼀定的对应关系。如果把IP地址类⽐成⾝份证号的话,那么域名就是你的姓名。
⼀台拥有IP地址的主机可以提供许多服务,⽐如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的⽹络服务呢?显然不能只靠IP地址,因为IP 地址与⽹络服务的关系是⼀对多的关系。实际上是通过“IP地址+端⼝号”来区分不同的服务的。
其实在⽹络中只能使⽤IP地址进⾏数据传输,所以在传输以前,需要把域名转换为IP,这个由称作DNS的服务器专门来完成。所以在⽹络编程中,可以使⽤IP 或域名来标识⽹络上的⼀台设备。为了在⼀台设备上可以运⾏多个程序,⼈为的设计了端⼝(Port)的概念,类似的例⼦是公司内部的分机号码。规定⼀个设备有216个,也就是65536个端⼝,每个端⼝对应⼀个唯⼀的程序。每个⽹络程序,⽆论是客户端还是服务器端,都对应⼀个或多个特定的端⼝号。由于0-1024之间多被操作系统占⽤,所以实际编程时⼀般采⽤1024以后的端⼝号。下⾯是⼀些常见的服务对应的端⼝:
ftp:23,telnet:23,smtp:25,dns:53,http:80,https:443
使⽤端⼝号,可以到⼀台设备上唯⼀的⼀个程序。所以如果需要和某台计算机建⽴连接的话,只需要知道IP地址或域名即可,但是如果想和该台计算机上的某个程序交换数据的话,还必须知道该程序使⽤的端⼝号。
数据传输⽅式在⽹络上,不管是有线传输还是⽆线传输,数据传输的⽅式有两种:
TCP(Transfer Control Protocol) 传输控制协议⽅式,该传输⽅式是⼀种稳定可靠的传送⽅式,类似于显⽰中的打电话。只需要建⽴⼀次连接,就可以多次传输数据。就像电话只需要拨⼀次号,就可以实现⼀直通话⼀样,如果你说的话不清楚,对⽅会要求你重复,保证传输的数据可靠。使⽤该种⽅式的优点是稳定可靠,缺点是建⽴连接和维持连接的代价⾼,传输速度不快。
UDP(User Datagram Protocol) ⽤户数据报协议⽅式,该传输⽅式不建⽴稳定的连接,类似于发短信息。每次发送数据都直接发送。发送多条短信,就需要多次输⼊对⽅的号码。该传输⽅式不可靠,数据有可能收不到,系统只保证尽⼒发送。使⽤该种⽅式的优点是开销⼩,传输速度快,缺点是数据有可能会丢失。
在实际的⽹络编程中,⼤家可以根据需要选择任何⼀种传输⽅式,或组合使⽤这两种⽅式实现数据的传递。
telnet ip 端口号

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。