IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> java之网络编程 -> 正文阅读

[网络协议]java之网络编程

一、网络通信基础

计算机网络:

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

网络编程的目的:
直接或间接的通过网络协议与其他计算机实现数据交换,进行通讯

网络编程中有两个主要的问题:

  1. 如何准确定位网络上一台或多态主机;定位主机上的特定应用
  2. 找到主机后如何可靠高效的进行数据传输

二、网络通信要素

2.1、ip地址

ip地址主要用于标识网络中的主机、其他网络的设备的地址,简单来说,IP地址用于定位主机的网络地址

举例:以发快递为例,ip地址就是我们需要填写的收获地址,这样快递员才知道快递送往哪个地方

2.2、端口号

端口号 : 在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机方法的数据、接收数据的进程。也就是说端口号用于定位主机中的进程

举例:发快递时不仅要指定收货人的地址(IP地址),还要指定收获人的信息(端口号)

格式:

端口号是 0 ~ 65535范围的数字,在网络编程中,进程一个通过绑定一个端口号,来发送及接收网络数据。两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号

端口的分类:

  • 公认端口 : 0 ~ 1023 : 被预先定义的服务通信占用(如:http占用端口80,FTP占用端口21,Telent占用端口23)
  • 注册端口: 1024 ~ 49151 : 分配给用具进程或应用程序。(如:Tomcat占用端口8080,MYSQL占用端口 3306,Oracle占用端口1521等)
  • 动态/私有端口: 49152 ~ 65535

端口号与IP地址组合得出一个网络套接字:Socket

在这里插入图片描述

2.3、协议

协议是网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须遵从的一组约定、规则。如怎么样建立连接,互相识别等。只有遵守这个约定,计算机之间才能互相通信交流。

协议分层:

但是由于当前网络中涉及到的协议,是有很多的,情况非常复杂,无法通过一个协议,来把所有的功能都涵盖进去,就拆分出了多个协议。为了更好的来组织这些协议,就按照这些协议的定位,再进行分类,于是就有了“协议分层


以两个人打电话为例:
在这里插入图片描述
分为了两层:语言层和通信设备层

  1. 达到了封装的效果,把实现细节隐藏起来,降低了人们的使用成本,打电话的人不需要理解具体的电话机的工作原理。造电话机的,也不需要懂各种语言,只需要把数据进行封装,传递,到时能够再解析出来就可,至于说的是不是人话,不是电话机该管的事情。
  2. 可以方便的对某层或某些协议进行升级,而不影响其他的层。你用什么语言和电话机没有关系,都能给你原封不动的传递到,不会出现说汉语能交流,明天说英语,电话机不知道你说的是什么,而不给你传递的情况。打电话的人也不需要关心,你是陆运还是空运,能即时给我送到就行。

OSI是七层网络模型,TCP/IP五层网络模型

OSI 存在于理论中,但是在实际应用中有些实现起来比较困难,或根本没有必要分这么细,复杂又不实用,所以就对层级进行了合并,就有了我们使用 TCP/IP 五层网络模型(程序员主要考虑的是软件方面的,有时会忽略物理层,所以有的资料中也叫 TCP/IP 四层模型)

在这里插入图片描述

  1. 应用层 : 常用的 http协议,ftp协议(文件传输协议)、snmp、telnet(远程登录协议),集成了osi分层中的应用,表示,会话三层的功能

  2. 传输层 : 只关心启动和重点,不关注具体的通信细节

  3. 网络层 : 针对网络上的任意两台主机,完成一个通信路径的规划,以及具体的传输

  4. 数据链路层 : 实现了两个相邻设备之间的数据通信~

  5. 物理层 : 硬件设备,网络通信的基础设施,网线、网卡等

举例说明:
在这里插入图片描述

封装与分用:
在这里插入图片描述

封装 : 就是加入本层使用的协议以及关于协议的关键内容,相当于快递的包装过程

分用 : 当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用,相当于拆快递的过程。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:49:51  更:2021-10-23 12:51:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 21:39:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码