<JavaEE> 网络编程 -- 网络通信基础(协议和协议分层、数据封装和分用)

目录

一、IP地址

1)IP地址的概念

2)IP地址的格式

二、端口号

1)端口号的概念

2)端口号的格式

3)什么是知名端口号?

三、协议

1)协议的概念

2)协议的作用

3)TCP/IP协议中的五元组概念

四、协议分层

1)什么是协议分层?

2)协议分层的作用

3)协议分层的两种模型

[<1> OSI七层模型](#<1> OSI七层模型)

[<2> TCP/IP五层模型](#<2> TCP/IP五层模型)

4)协议分层应用的经典网络设备

五、封装和分用

1)封装和分用的概念


一、IP地址

1)IP地址的概念

|---------------------------------------------|
| IP地址描述了一个网络设备的网络地址,主要用于对设备的网络地址进行标识和定位。 |

2)IP地址的格式

|-----------------------------------------------------------------------------------|
| IP地址是一个32位的二进制数,每8位二进制数(4个字节)后,用一个 ' . ' 号分隔。这种表示方式被称为"点分十进制"。(如:192.168.1.1) |


二、端口号

1)端口号的概念

|-----------------------------------------------|
| 端口号区分了一个主机上的不同应用程序,用于对主机中发送、接收数据的进程标识和定位。 |
| 不同的程序可以关联多个端口号,但是一个端口号只能被一个程序关联。 |

2)端口号的格式

|-----------------------------------|
| 端口号是一个2字节的整数,表示范围在0~65535之间。 |

3)什么是知名端口号?

|----------------------------------------------------------------------------------|
| 在0~65535范围中,0端口通常不使用,1~1023端口为系统预留端口,这些端口被分配给一些比较常见的服务器程序使用。一般在编程使用时,不应使用这些端口。 |


三、协议

1)协议的概念

|----------------------------------------------------------------|
| 网络通信有数据发送方和数据接收方,接收方如何识别发送方发送的数据,这就需要通信的双方有一个约定,这个约定就是协议。 |
| 协议即网络协议,是指网络通信过程的相关设备都必须共同遵守的一系列规则 。这里的规则的具体体现,就是数据格式。 |

2)协议的作用

|--------------------------------------------------------|
| 计算机之间的传输媒介是光信号和电信号。通过"频率"和"强弱"来表示0和1。 |
| 协议是一个规则,规定了通信双方如何解读这些信号,只有遵守这个规则,不同设备之间才能正确解读对方的发送的数据。 |

3)TCP/IP协议中的五元组概念

|----------------|----------------------|
| TCP/IP协议是网络通信中最基本的协议。 ||
| 在TCP/IP协议中,用五元组的概念来标识一个网络通信,五元组是一次通信过程中必不可少的信息。 ||
| 五元组包括了以下内容: ||
| <1>源IP | 标识源主机 |
| <2>源端口号 | 标识源主机中该次通信发送数据的进程 |
| <3>目的IP | 标识目的主机 |
| <4>目的端口号 | 标识目的主机中该次通信接收数据的进程 |
| <5>协议号 | 标识发送进程和接收进程双方约定的数据格式 |

四、协议分层

1)什么是协议分层?

|----------------------------------------------------------------------------------------|
| 网络通信十分复杂,有许多问题需要通过协议进行解决。如果将这些协议全部杂糅在一起,则会十分混乱。因此,就将这些协议拆分分层,使得每个协议都在自己的领域,专注于处理自己的事务。 |

2)协议分层的作用

|-------------------------------------------------------------------------------|
| 分层的好处是使用上层协议时,不必关心下层,使用下层协议时,不用关心上层,每一层协议专注于处理自己的事务即可,同时每一层协议都可以根据需要灵活替换。 |
| 这类似于对上下层协议进行了封装,按照协议的定位和作用,进行分类,并且约定了不同层次之间的"调用关系"。 |

3)协议分层的两种模型

<1> OSI七层模型

|------------------------------------------------------------------------------|
| OSI:即Open System Interconnection(开放系统互连)。是一种框架性的设计方法,最主要的功能是帮助不同类型的主机实现数据传输。 |
| OSI七层模型复杂而不实用,没有实际的实现,只存在于教科书中。 |

++图示演示模型分层:++

<2> TCP/IP五层模型

|---------------|------------------------------------------|
| TCP/IP是一组协议的代名词,它还包括了许多其他的协议,组成了TCP/IP协议簇。 ||
| TCP/IP通讯协议采用了五层层级结构,每一层都呼叫它的下一层协议提供的网络来完成自己的需求。 ||
| 包括以下五层: ||
| 1> 应用层 | **负责应用程序间的沟通。**规范应用程序如何使用数据。 |
| 2> 传输层 | **负责通信两端的数据传输。**关注的是端与端。 |
| 3> 网络层 | **负责地址管理和路由选择。**关注的是端与端之间的路径。 |
| 4> 数据链路层 | **负责设备之间数据帧的传送和识别。**关注的是两个相邻节点之间的数据传输情况。 |
| 5> 物理层 | **负责光电信号的传递方式。**是用于网络通信的硬件设备。 |
| 实际上TCP/IP五层模型就是将OSI七层模型中的上三层结合在一起了。 ||

++图示演示模型分层:++

4)协议分层应用的经典网络设备

|-----|----------------------------------------------------------------|
| 主机 | 主机的操作系统内核实现了从传输层到物理层的内容,同时主机上的应用程序则是处于应用层,TCP/IP五层模型都在主机上有所实现。 |
| 路由器 | 实现了从网络层到物理层,即TCP/IP模型的下三层。 |
| 交换机 | 实现了从数据链接层到物理层,即TCP/IP模型的下二层。 |
| 集线器 | 只实现了物理层。 |
| 随着网络设备技术的发展,现在的路由器和交换机的应用层级越来越高,出现了应用于三四层的交换机和四层的路由器等。 ||


五、封装和分用

1)封装和分用的概念

|-------------------------------------------------------------------------------------|
| 不同层级的数据包称谓不同,在传输层的称为段(segment),在网络层称为数据报(datagram),在链路层称为帧(frame)。 |
| 应用层数据发送时,会从应用层到物理层,逐层处理数据。这里的处理指的是每层协议会在数据上增加数据首部(header),这称为封装(Encapsulation)。 |
| 首部信息包含首部长度,荷载(payload)长度,端口信息,上层协议等内容。 |
| 数据封装完成后发送,经过传输介质到达目的主机,再由每层协议逐层解析对应层级的首部,最后得到源主机应用层发送的数据,这称为分用。 |

++图示演示封装和分用:++


阅读指针 -> 《 网络编程和 Socket 套接字 》

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字-CSDN博客简单接受了网络编程的概念和网络编程需要使用的套接字--Sockethttps://blog.csdn.net/zzy734437202/article/details/135027478

相关推荐
松涛和鸣1 天前
DAY37 Getting Started with UDP Network Programming
linux·c语言·网络·单片机·网络协议·udp
我爱拉臭臭1 天前
socket前置知识
网络
麒qiqi1 天前
OSI 模型到 UDP 套接字
网络·网络协议·udp
WX131695189981 天前
是德科技E5080A E5080B安捷伦E5071C网络分析仪
网络·科技
卓豪终端管理1 天前
每周5小时“隐形流失”,如何精准锁定并回收?
网络·安全·web安全
QYR_111 天前
CAGR2.9%,全球石英波片市场稳步扩张,中国市场增速领跑
大数据·网络·人工智能
Wang's Blog1 天前
RabbitMQ: 集群深度优化:容器化高可用、网络分区处理与状态监控
网络·分布式·rabbitmq
无事好时节1 天前
Linux 进程通信:信号与共享内存详解
linux·网络·网络协议
_F_y1 天前
应用层自定义协议
网络
头疼的程序员1 天前
计算机网络:自顶向下方法(第七版)第一章 学习分享
网络·学习·计算机网络