网络原理基本概念

网络通信核心原理详解

IP地址 

        IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主机的网络地址.

        IP地址的格式:IP地址为32位的二进制数,通常被分割为4个8位的二进制数,例如:01110010.00000100.00000101.00000110,也可以使用点分十进制的方法来表示,格式为a.b.c.d,例如:125.123.24.3.

端口号

        在同一台计算机上运行的不同进程,他们在通信时需要一个唯一的身份标识,端口号就是这个身份标识.端口号用于定位主机中的进程.在进行通信时,不仅需要知道IP地址,也需要知道对方的端口号.

        端口号的格式:0-65535的范围,在通信中,进程可以绑定一个端口号来发送以及接收数据.

协议

        协议,⽹络协议的简称,⽹络协议是⽹络通信经过的所有⽹络设备都必须共同遵从的⼀组约定、规则.如怎么样建⽴连接、怎么样互相识别等.只有遵守这个约定,计算机之间才能相互通信交流.协议最终体现为在网络上传输的数据包的格式.

        五元组

        在TPC/IP中,用五元组来标识一个网络通信.

        1. 源IP:标识源主机
        2. 源端⼝号:标识源主机中该次通信发送数据的进程
        3. ⽬的IP:标识⽬的主机
        4. ⽬的端⼝号:标识⽬的主机中该次通信接收数据的进程
        5. 协议号:标识发送进程和接收进程双⽅约定的数据格式

        协议分层

        在网络通信中,设计的细节是很复杂的,如果使用一个协议来完成网络通信,就需要这个协议约定方方面面,那么会导致协议很复杂.这时就需要对这个协议进行拆分,将原来臃肿的协议拆分为多个小协议,为了让这些小协议互相配合工作,就引入了协议分层.

        网络通信协议拆分之后进行了分层,将功能相近的协议分入同一层,下层给上层提供服务,上层调用下层的功能,只有相邻的协议层才能相互沟通,不能跃层沟通.

        分层的作用:

        1.对于上层来说,不需要知道下层是如何工作的,是需要使用对应的接口即可.

        2.对于下层来说,不需要提供实现的具体方法,只需要开放接口即可.

        这样可以更好的拓展和维护.

        OSI七层模型

        OSI:即OpenSystemInterconnection,开放系统互连.OSI七层⽹络模型是⼀个逻辑上的定义和规范:把⽹络从逻辑上分为了7层.OSI七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传输.

        七层具体为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.

        由于OSI模型复杂不实用,在实际应用方面没有使用OSI模型,实际所使用的模型是基于OSI的部分架构来实现的TCP/IP模型.

        TCP/IP五层模型

        TCP/IP是⼀组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.TCP/IP通讯协议采⽤了5层的层级结构,每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求。
        应用层:负责程序间的沟通,网络编程主要就是针对应用层.

        传输层:负责两台主机之间的数据传输.

        网络层:负责地址管理和路由选择,路由器工作在网络层.

        数据链路层:负责设备间的数据帧的传输和识别.交换机工作在数据链路层.

        物理层:负责光/电信号的传递方式.集线器工作在物理层.

        封装和分用

        不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame).

        应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装
(Encapsulation).
        首部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息.

        数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的"上层协议字段"将数据交给对应的上层协议处理.

        封装过程举例:


        当到达物理层后,会将数据链路层传来的以太网数据帧,二进制结构转换为光/电信号或电磁波进行传输.

        分用指接收方会将收到的光/电信号或电磁波解析为以太网数据帧,然后逐步拆分拿到最开始的上层数据.

        在传输过程中,数据可能会经过路由器与交换机,对于经典路由器来说,只会对数据封装分用到网络层,对于经典交换机,只会对数据封装分用到数据链路层.经过路由器或交换机的封装分用后,部分首部将发生更改.

        请求与响应

        计算机1想要获取计算机2的资源就要向计算机2发送请求,计算机2会以响应的方式回答计算机1的请求.

        客户端与服务端

        服务端:在常⻅的⽹络数据传输场景下,把提供服务的⼀⽅进程,称为服务端,可以提供对外服务.

        客户端:在常⻅的⽹络数据传输场景下,把接收服务的一方进程,成为客户端.

        常⻅的客⼾端服务端模型
        最常⻅的场景,客⼾端是指给⽤⼾使⽤的程序,服务端是提供⽤⼾服务的程序:
        1. 客⼾端先发送请求到服务端
        2. 服务端根据请求数据,执⾏相应的业务处理
        3. 服务端返回响应:发送业务处理结果
        4. 客⼾端根据响应数据,展⽰处理结果(展示获取的资源,或提示保存资源的处理结果)







                

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值