Java 之 网络编程基础知识

一、网络的概念和分类

  1、概念

    计算机网络:把分布在不同地里区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。

  2、分类

    (1)按照网络的传输介质划分:

        双绞线网、同轴电缆网、光纤网、卫星网、还有无线传输(WiFi传输介质是红外线、蓝牙传输介质是无线电波等)

    (2)按照网络的拓扑结构划分:

        星型网络、总线网络、环线网络、树型网络、网状网络、混合型网络等。

        

    (3)按照规模来划分

      局域网(Local Area NetWork,LAN):是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

      城域网(Metropolitan Area Network, MAN):是在一个城市范围内所建立的计算机通信网,属宽带局域网。由于采用具有有源交换元件的局域网技术,网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。MAN的一个重要用途是用作骨干网,通过它将位于同一城市内不同地点的主机、数据库,以及LAN等互相联接起来,这与WAN的作用有相似之处,但两者在实现方法与性能上有很大差别。

      广域网(Wide Area Network, WAN):又称外网、公网,是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

  3、互联网、因特网、万维网是什么?

    互联网:凡是由能彼此通信的设备组成的网络就叫互联网,即使仅有两台机器(计算机、手机等),不论用何种技术使其彼此通信,都叫互联网,所以,互联网有广域网、城域网及局域网之分。国际标准的互联网写法是internet,字母i小写!

    因特网:因特网是互联网中的一种,它可不是仅有两台机器组成的网络,而是由上千万台设备组成的网络(该网络具备一定规模)。国际标准的因特网写法是Internet,字母I大写!

    万维网:因特网是基于TCP/IP协议实现的,TCP/IP协议由很多协议组成,不同类型的协议又被放在不同的层,其中,位于应用层的协议就有很多,比如FTP、SMTP、HTTP。所以,因特网提供的服务一般包括有:www(万维网)服务、电子邮件服务(outlook)、远程登录(QQ)服务、文件传输(FTP)服务、网络电话等等。只要应用层使用的是HTTP协议,就称为万维网(World Wide Web)。

     

二、网络协议

    无论是那种网络,通信是网络最基本的要求,而计算机网络中实现通信必须有一些约定,即通信协议。对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。

    网络通信必须有硬件和软件方面的支持,由于世界上大型计算机厂商推出各自不同的网络体系结构,影响了网络通信的统一性,因此国际标准化组织ISO于1978年提出了著名的OSI(Open System Interconnection)开放系统互连参考模型。它把计算机网络分成物理层、数据链路层、网络层、传输层、会话层、表示层、应用层等七层。

    •  应用层:网络服务与最终用户的一个接口。协议有:HTTP、FTP、SMTP、DNS、TELNET、HTTPS、POP3等
    •     表示层:数据的表示、安全、压缩。格式有:JPEG、ASCll、DECOIC、加密格式等。
    •     会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话。
    •     传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP、UDP。
    •     网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4 IPV6)、ARP、RARP。
    •     数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
    •     物理层:建立、维护、断开物理连接。

     IP协议是一种非常重要的协议。IP(internet protocal)又称为互联网协议。IP的责任就是把数据从源传送到目的地。它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求经常与IP协议放在一起的还有TCP(Transmission Control Protocol)协议,即传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。

    而通常我们说的TCP/IP协议,其实是指TCP/IP协议族,因为该协议家族的两个最核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准,所以简称为TCP/IP协议。

    按照 TCP/IP 协议模型,网络通常被分为四层:网络访问层、互联网层、传输层和应用层

        

三、IP地址

  IP地址用于标识网络中的一个通信实体,这个通信实体可以是一台计算机,也可以是一台打印机,或者是路由器的一个端口。而在基于IP协议网络中传输的数据包,都必须使用IP地址来进行标识。

  IP地址是一个32位的整数,但为了便于记忆,通常把它分为4个8位的二进制数组成,每8位之间用圆点隔开,格式:X.X.X.X,其中每个X表示地址中的8位,用十进制[0,255]之间值表示,因此我们看到的IP常常是:192.168.88.104。

  Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。其中A、B、C这3类由Internet NIC在全球范围内统一分配,D、E类为特殊地址。

  

    IP地址还分为IPV4和IPV6。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6是 IETF(Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。IPv4和IPv6地址格式不相同,因此在很长一段时间里,互联网中出现IPv4和IPv6长期共存的局面。2012年6月6日,国际互联网协会举行了世界IPv6启动纪念日,这一天,全球IPv6网络正式启动。多家知名网站,如Google、Facebook和Yahoo等,于当天全球标准时间0点(北京时间8点整)开始永久性支持IPv6访问。2018年6月,三大运营商联合阿里云宣布,将全面对外提供IPv6服务,并计划在2025年前助推中国互联网真正实现“IPv6 Only”。 7月,百度云制定了中国的IPv6改造方案。8月3日,工信部通信司在北京召开IPv6规模部署及专项督查工作全国电视电话会议,中国将分阶段有序推进规模建设IPv6网络,实现下一代互联网在经济社会各领域深度融合。

  IPv6的地址长度为128位,是IPv4地址长度的4倍,格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16位,以十六进制表示。

  

四、端口号

  IP地址可以唯一的确定网络上的一个通信实体,但是一个通信实体可以有多个通信程序同时提供网络服务,此时还需要使用端口。IP地址就好比通信的街道和门牌号,我们通过IP地址可以找到房子,但是要具体找到某个人,还需要房间号或名字。

  端口号是一个16位的整数,即在[0,65535]之间,通常它可以分为三类:

   (1)公认端口(Well-Known Ports)范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务。

   (2)注册端口(Registered Ports):端口号从1024到49151。它们松散地绑定于一些服务。例如:Tomcat(8080),JBOSS(8080),Oracle(1521),MySQL(3306),SQL Server(1433),QQ(1080)。

   (3)动态/私有端口(Dynamic and/Private Ports):端口的范围从49152到65535,这些端口号一般不固定分配给某个服务。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。理论上,不应为服务分配这些端口。

    然而在日常中,识记ip地址是困难,所有就有了域名,如百度的ip地址就是 202.108.22.5。为了便于记忆和访问,使用域名,域名和 IP地址是相对应的,网域名称系统(DNS,Domain Name System)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

猜你喜欢

转载自www.cnblogs.com/niujifei/p/12289989.html