pla1949

=========================================================================================

    在我看来,学习java最重要是要理解what(这东西是什么),why(为什么要用它),where(在哪用它),how(怎么用)。所以接下来,我都是以这样的思想来和大家交流,从最基础的知识讲起。如果有啥出错的,欢迎大家前来批评。本人虚心接纳。

=========================================================================================

  一.什么是IP     

      为了实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。

      IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

     最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。其中A、B、C3类(如下表格)由InternetNIC在全球范围内统一分配,D、E类为特殊地址。

  A类IP地址
       一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
      A类IP地址 地址范围1.0.0.0到127.255.255.255 [1] (二进制表示为:00000001 00000000 00000000 00000000 - 01111111 11111111 11111111 11111111)。最后一个是广播地址。A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为256的3次方-2=16777214台。
B类IP地址
      一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。B类IP地址地址范围128.0.0.0-191.255.255.255(二进制表示为:10000000 00000000 00000000 00000000----10111111 11111111 11111111 11111111)。 最后一个是广播地址。B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台。
C类IP地址
      一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
      C类IP地址范围192.0.0.0-223.255.255.255 (二进制表示为: 11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111)。C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台。

 二.什么是端口号

      端口号---具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默认的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能。
     那么端口号到底有什么作用呢?
     当一台电脑启动了一个可以让远程其他电脑访问的程序,那么它就要开启至少一个端口号来让外界访问。我们可以把没有开启端口号的电脑看作是一个密封的房间,密封的房间当然不可能接受外界的访问,所以当系统开启了一个可以让外界访问的程序后它自然需要在房间上开一个窗口来接受来自外界的访问,这个窗口就是端口。
     那么为什么要给端口编号来区分它们呢,因为一个电脑有很多个进程,如果这么多进程都共用一个端口号,那么数据传输过来计算机怎么知道是哪个进程的,所以要保证每个进程一个端口号。同时在传输层封装的数据段里包含两个端口号,既源端口号和目的端口号。源端口是指发送数据包的一方的端口,目的端口是指接受数据包的一方的端口 。
     源端口号一般是由系统自己动态生成的一个从1024-65535的号码,当一台计算机A通过网络访问计算机B时,如果它需要对方返回数据的话,它也会随机创建一个大于1023的端口,告诉B返回数据时把数据送到自己的哪个端口,然后软件开始侦听这个端口,等待数据返回。而B收到数据后会读取数据包的源端口号和目的端口号,然后记录下来,当软件创建了要返回的数据后就把原来数据包中的源端口号作为目的端口号,而把自己的端口号作为源端口号,也就是说把收到的数据包中的原和目的反过来,然后再送回A,A再重复这个过程如此反复直到数据传输完成。当数据全部传输完A就把源端口释放出来,所以同一个软件每次传输数据时不一定是同一个源端口号。

===========================================================================

                                用心查阅,有心分享,分享之际,互相指教,受益你我,何乐不为?

 ===========================================================================

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2022-01-14
  • 2021-12-03
  • 2021-12-03
  • 2021-09-19
  • 2021-10-12
  • 2019-09-26
猜你喜欢
  • 2021-12-03
  • 2021-12-03
  • 2021-10-12
  • 2021-08-14
  • 2021-12-03
  • 2021-12-04
  • 2021-12-03
相关资源
相似解决方案