网络中的一些基本概念

目录

1.TCP/IP五层(四层模型)

2.IP地址与端口号

3.协议

3.1协议的分层

3.2协议分层的好处

4.封装和分用


1.TCP/IP五层(四层模型)

先从最底层说起:

首先是物理层:负责光/电信号的传递方式,是一种硬件设备,比如我们的网线

然后是数据链路层:负责两个相邻节点的传输方式,也是一种硬件设备,比如经典的交换机

接着是网络层:负责两个节点的路线规划,比如我们的路由器

再然后是传输层:负责两个节点的传输(不包含路线规划),比如两台主机进行数据传输

最后是应用层:按照人为的意愿来负责主机之间进程的通信,比如我们的网络编程

其中的关系和逻辑主要是:我们把网络通信比喻成快递

物理层相当于我们运输快递的最基础设施,比如高速公路

有了高速公路之后才能搭建起两个地方之间的交通

这时候卖家把快递填上收件人和寄件人的信息,确定了两个地方的地址,这就相当于传输层负责确定两个节点的位置,传输层中有一个socket api(网络通信api),可以在应用层通过人为的设置,在客户端和服务器中取得通信.传输层有我们熟知的UPD和TCP协议

知道了起点和终点的位置后,需要对路径进行规划,比如是先到中转站再到目的地,这时候需要网络层来进行路径的规划

那应该以怎么样的方式运输呢,这时候数据链路层会安排.进程之间通信,会借助一个公共区域,这个公共区域就相当于我们快递的中转站,一般在网络通信中借助的公共区域就是网卡,能够让同一个主机的多个进程间通信,也可以让不同主机的多个进程间通信.

这是分层模型的示意图

2.IP地址与端口号

IP地址:相当于我们的住址,每台主机的位置

 端口号:相当于我们的编号.是主机中进程的身份标识,通常情况下,一个端口不能被同一个主机上的多个进程同时绑定,因为它是区分进程的身份标识,但是一个进程可以绑定多个端口,如果端口被别人占用,在尝试绑定,在Java中就会抛出的异常

特殊 IP
127.* IP 地址用于本机环回 (loop back) 测试,通常是 127.0.0.1
本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于
开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

3.协议

相当于我们平时生活中的约定,比如我们统一用普通话交流,用普通话交流就相当于我们之间的"协议"

3.1协议的分层

上面我们提到TCP/IP五层模型,上层协议与下层协议之间通过接口连接,下层协议是接口的实现类.上层协议提供使用类,负责使用下层协议的内容,例如socket API就在传输层,负责网络层UDP协议和TCP协议在服务器和客户端里实现网路进程的通信

3.2协议分层的好处

1.下层协议给上层提供服务,上层调用下层协议(封装)

实现上层协议的人,不必考虑下层协议的细节

2.解耦合:把同一层的协议替换,不影响其他层的实现

4.封装和分用

封装就是向下兼容,分用就是向上解析

在网络通信的流程中一般这样理解:

当qq中发送了一个"hello":

接下来整个流程:

         

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值