基本网络技术

国际标准化组织( ISO) 在 1978 年提出了“开放系统互连参考模型”, 即著名的 OSI/RM 模型( Open System Interconnection/Reference Model)
自下而上依次为: 物理层、 数据链路层、 网络层、 传输层、 会话层、 表示层、 应用层
� 应用层 : 是开放系统互连环境的最高层。 应用层为操作系统或网络应用程序提 供访问网络服务的接口。
� 表示层 : 为上层用户提供共同的数据或信息的语法表示变换。 为了让采用不同编码方法的计算机在通信中能相互理解数据的内容, 可以采用抽象的标准方法来定义数据结构, 并采用标准的编码表示形式。
会话层 : 也称会晤层,主要功能是组织和同步不同的主机上各种进程间的通信( 称为对话), 负责在两个会话层实体之间进行对话连接的建立和拆除。
�传输层 : 负责数据传送的最高层次。 传输层完成同处于资源子网中的两个主机( 即源主机和目的主机) 间的连接和数据传输, 也称为端到端的数据传输。
网络层 : 主要任务就是要选择合适的路由, 使网络层的数据传输单元——分组能够正确无误地按照地址找到目的站。
� 数据链路层 : 负责在两个相邻的节点间的线路上无差错地传送以帧为单位的数据,每一帧包括一定的数据和必要的控制信息, 在接收点接收到数据出错时要通知发送方重发, 直到这一帧无误地到达接收节点。
� 物理层 : 定义了为建立、 维护和拆除物理链路所需的机械的、 电气的、 功能的和规程的特性, 其作用是使原始的数据比特流能在物理介质上传输。

IP、 TCP 和 UDP 协议
TCP/IP 是一个协议集


基本网络技术_第1张图片
Paste_Image.png

IP 协议
互联网协议( Internet Protocol, IP) 是用于报文交换网络的一种面向数据的协议。 IP是在 TCP/IP 协议中网络层的主要协议, 任务是根据源主机和目的主机的地址传送数据。

基本网络技术_第2张图片
Paste_Image.png

TCP 协议
传输控制协议( Transmission Control Protocol, TCP) 是一种面向连接的、 可靠的、 基于字节流的传输层通信协议。
在保证可靠性上, 采用超时重传和捎带确认机制 ; 在流量控制上, 采用滑动窗口协议, 协议中规定, 对于窗口内未经确认的分组需要重传; 在拥塞控制上, 采用慢启动算法。

基本网络技术_第3张图片
Paste_Image.png

UDP 协议
用户数据报协议( UDP) 是 TCP/IP 模型中一种面向无连接的传输层协议, 提供面向事务的简单不可靠信息传送服务。

基本网络技术_第4张图片
Paste_Image.png

Socket 基础
Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层, 它是一组接口。 Socket把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面, 对用户来说, 一组简单的接口就是全部,让 Socket 去组织数据, 以符合指定的协议。
Socket 一般有两种类型: TCP 套接字和 UDP 套接字

使用 TCP 通信
TCP 服务器端工作的主要步骤如下。
步骤 1 调用 ServerSocket( int port) 创建一个 ServerSocket, 并绑定到指定端口上。
步骤 2 调用 accept(), 监听连接请求, 如果客户端请求连接, 则接受连接, 返回通信套接字。
步 骤 3  调 用 Socket 类 的 getOutputStream() 和 getInputStream() 获 取 输 出 和 输 入 流,开始网络数据的发送和接收。
步骤 4 关闭通信套接字。
TCP 客户端工作的主要步骤如下
步骤 1 调用 Socket() 创建一个流套接字, 并连接到服务器端。
步骤 2 调用 Socket 类的 getOutputStream() 和 getInputStream() 方法获取输出和输入流, 开始网络数据的发送和接收。
步骤 3 关闭通信套接字。

使用 UDP 通信
UDP 服务器端工作的主要步骤如下。
步骤 1 调用 DatagramSocket(int port) 创建一个数据报套接字, 并绑定到指定端口上。
步骤 2 调用 DatagramPacket( byte[]buf,int length), 建立一个字节数组以接收 UDP 包。
步骤 3 调用 DatagramSocket 类的 receive(), 接受 UDP 包。
步骤 4 关闭数据报套接字。
UDP 客户端工作的主要步骤如下。
步骤 1 调用 DatagramSocket() 创建一个数据包套接字。
步骤 2 调用 DatagramPacket( byte[]buf,int offset,int length,InetAddress address,int port),建立要发送的 UDP 包。
步骤 3 调用 DatagramSocket 类的 send() 发送 UDP 包。
步骤 4 关闭数据报套接字。

你可能感兴趣的:(基本网络技术)