12.1-全栈Java笔记:网络编程的基本概念

什么是计算机网络?

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


计算机网络的主要功能:

资源共享

信息传输与集中处理

均衡负荷与分布处理

综合信息服务 (www/综合业务数字网络 ISDN)

什么是网络通信协议

计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传 输控制步骤、出错控制等制定标准。


网络通信接口:

为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间 能进行信息交换。接口包括两部分:

  硬件装置: 实现结点之间的信息传送

  软件装置: 规定双方进行通信的约定协议

为什么要分层

由于结点之间联系很复杂,在制定协议时,把复杂成份分解成 一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。


通信协议的分层规定

把用户应用程序作为最高层,把物理通信线路作为最低层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。

12.1-全栈Java笔记:网络编程的基本概念_第1张图片

图1 TCP/IP模型和OSI模型

1)物理层(Physical Layer)

2)数据链路层(Data Link Layer)

3)网络层(Network Layer)网络层协议的代表包括:IP、IPX、RIP、OSPF等

4)传输层(Transport Layer)传输层协议的代表包括:TCP、UDP、SPX等。

5)会话层(Session Layer)NetBIOS、ZIP(AppleTalk区域信息协议)等。

6)表示层(Presentation Layer) ASCII、ASN.1、JPEG、MPEG等。

7)应用层(Application Layer)   Telnet、FTP、HTTP、SNMP等。

数据封装

图2 数据封装

数据拆封

12.1-全栈Java笔记:网络编程的基本概念_第2张图片

图3 数据拆封

IP:IPV4、 IPV6

端口:

QQ、msn、 迅雷、电驴、360 通过端口,可以在一个主机上运行多个网络应用程序。端口是虚拟的概念,并不是说在主机上真的有若干个端口。

URL:

在WWW上,每一信息资源都有统一的且唯一的地址,该地址就叫URL(Uniform Resource Locator),它是WWW的统一资源定位符。URL由4部分组成:协议 、存放资源的主机域名、资源文件名和端口号。如果未指定该端口号,则使用协议默认的端口。例如http 协议的默认端口为 80。

在java.net包中提供了URL类,该类封装了大量复杂的涉及从远程站点获取信息的细节。





「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。


 笔记包含从浅入深的六大部分:

 A-Java入门阶段

 B-数据库从入门到精通

 C-手刃移动前端和Web前端

 D-J2EE从了解到实战

 E-Java高级框架精解

 F-Linux和Hadoop 



你可能感兴趣的:(12.1-全栈Java笔记:网络编程的基本概念)