【JavaEE】网络原理初识

网络原理中的基本概念

IP地址

什么是IP地址

IP地址是用来标识网络主机、其它网络设备(如路由器)的网络地址,简单来说就是用于定位主机的网络地址

我们可以这样把IP地址比作一个门牌号,每家每户都会有唯一地址的门牌号,这样快递员才能准确的将快递送到。

IP 地址由 32 位二进制数组成。为了记忆方便,可以将 IP 地址的 32 位二进制数进行分段,每段 8 位,共 4 段,然后将每段 8 位二进制数转换为相应的十进制数,中间用 “.” 号间隔,这种表达方式称为“点分十进制”。

例如,11000001001000001101100000001001可以表示成 193.32.216.9 。

IP地址的分类

IP地址是由网络号与主机号两部分组成的。

IP地址
在同一个网络中,机器的网络地址都是相同的。

IP地址中的网络号和主机号总共32位(4字节),那么,如果网络号部分占总地址空间比较少,相应的主机号部分位数就增多,这样网络种容纳的主机数就比较多,也就是说网络规模比较大。因网络规模有所不同,为了方便网络的管理,IP地址被分为 A、B、C、D、E 五类。
五类IP地址
A、B、C类地址通常只能分配给唯一的主机;D类地址是组播地址;E类地址则是在IP地址设计之初保留作为科学研究用的。

特殊的IP地址

网络地址

主机号全为 0 的 IP 地址称为网络地址。网络地址专门用于表示主机所在的网络。

例如,对于任意一个 C类 IP 地址 192.168.10.x,所在的网络地址为192.168.10.0 。

广播地址

主机号全为 1 的 IP 地址称为广播地址。广播地址专门用于同时向网络中所有主机发送数据。

例如,对于 IP 地址为 192.168.10.0 的C类网段,当发出一个 192.168.10.255 的目的地址时,它将被分发给该网段上的所有主机。

环回地址

网络地址是 127 的 IP地址称为环回地址或者回送地址,主要用于对本地回路测试及实现本地机进程间的通信。

实际中经常使用的环回地址是 127.0.0.1,它还有一个别名叫做 localhost 。

端口

什么是端口

端口是传输数据的通道,好比教室的门,是数据传输必经之路。

端口的作用就是给运行的应用程序提供传输数据的通道。

那么我们如何才能准确的找到对应的端口呢?

其实,每一个端口都会有一个对应的端口号,好比每个教室的门都有一个门牌号,想要找到端口通过端口号即可。

什么是端口号

操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号。

端口号的作用是用来区分和管理不同端口的,通过端口号能找到唯一个的一个端口。

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。

简单说:端口号用于定位主机中的进程

端口和端口号的关系

端口号可以标识唯一的一个端口。

端口号格式

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

端口号注意事项

两个不同的进程,不能绑定同一个端口号,但 一个进程可以绑定多个端口号

协议

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

大家可以联想一下当我们下载 某APP 的时候,首先会跳出一个 “协议” 页面,需要 “签署”(即同意),协议内容可能是需要访问你所在的位置,或者手机上的联系人…只有你同意才能继续进行下一步操作。

通常由三要素组成:
1.语法
2.语义
3.时序(同步)

语法

即数据与控制信息的结构或格式。

就是这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。

语义

即需要发出何种控制信息,完成何种动作以及做出何种反应。

类似打电话时,说话的内容。
A:吃了吗? 另一方就得有对应的响应:吃了。

时序(同步)

即事件实现顺序的详细说明。

就是先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值。

协议分层

对于协议(网络协议)来说,往往分成几个层次进行定义。

TCP/IP协议(需掌握)

物理层我们考虑的比较少,因此 TCP/IP 四层 和 TCP/IP 五层 的说法都是正确的。
TCP/IP五层协议

各层的作用

  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

  • 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。

  • 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。

  • 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。

  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

例子

这样分层之后,就可以让程序员在同一时刻只关注一个子问题。

封装和分用

发送方,层层封装,包装快递

接收方,层层分用,拆快递

封装

源端发送HTTP报文时,报文会以数据流的形式通过一条已经打开的TCP连接按序传输,TCP收到数据流后会将其分割成小的数据块,每个小块被添加的TCP首部与数据块共同组成了TCP分组,分组经由网络层发送,网络层遵循IP协议,当收到分组发送请求后,会将分组其放入IP数据报,填充报头,将数据报发经由链路层发送出去。
封装

分用

终端接收到一个以太网数据帧时,数据自底层向上流动,去掉发送时各层协议加上的报文首部,每层协议都要检查报文首部的协议标识,从而确定上层协议,保证数据被正确处理,这个过程叫分用。
分用

发送端和接收端

发送端:数据的发送方进程,称为发送端。发送端主机即网络通信中的源主机。

接收端:数据的接收方进程,称为接收端。接收端主机即网络通信中的目的主机。

注意发送端和接收端只是相对的,只是一次网络数据传输产生数据流向后的概念。

客户端和服务端

客户端:获取服务的一方进程,称为客户端。

服务端:在常见的网络数据传输场景下,把提供服务的一方进程,称为服务端,可以提供对外服务。

一个服务器,主要要做三个核心工作:
1.读取请求并解析
2.根据请求计算响应
3.把响应返回到客户端

请求和响应

请求:要一个烧饼
响应:提供一个烧饼

今天我们就讲到这里了!下次再见😀
拜拜

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值