网络概述介绍

2023-11-06

网络概括

计算机网络:通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互联起来,实现资源共享和数据传输

网络编程:编写程序代码将两个或者两个以上的设备进行数据传输

OSI参考模型

将复杂的网络问题根据功能划分到不同层次上,层与层之间通过接口连接

OSI(Open System Interconnection)开发互联参考模型,OSI将网络划分为7层:分别物理层,数据链路层,网络层,传输层,会话层、表示层和应用层

物理层:

OSI的最底层,涉及通信信道上传输的原始比特流,功能主要是为数据端设备提供传输数据的通道以及传输数据

数据链路层:

主要任务是实现计算机网络中相邻节点之间的可靠传输

把原始的,有差错的物理传输线路加上数据链路层协议以后,构成逻辑上可靠的数据链路

网络层(IP):

主要功能是建立源主机和目的主机之间可靠的网络传输,功能包括路由选择,网络寻址,流量控制,拥塞控制,网络互连

传输层(端口):

承上启下作用,涉及源节点到目的节点(端口,电脑上的应用程序)之间可靠的信息传输

传输层需要解决跨域网络连接的建立和释放,建立连接需要三次握手,释放连接需要四次挥手(TCP)

会话层:

主要功能是负责应用程序之间建立、维护和中断会话

提供设备和节点之间的会话控制,协调系统和服务系统之间的交流

通过提供全双工、半双工的通信方法,使系统和服务之间有序进行通信

表示层:

关心所传输信息的格式定义,主要功能是把应用层提供的信息变换为能够理解的形式,提供字符编码、数据格式、控制信息格式、加密等的统一表示

应用层:

OSI模型最高层,直接为应用进程提供服务

作用是实现多个系统应用进程之间相互通信,完成一系列业务处理所需要的服务

TCP/IP协议族

TCP/IP协议是一个开放的网络协议族,名字主要来源于网络层的IP协议和传输层的TCP协议

定义了电子设备如何接入英特网,以及数据如何在他们之间进行传输的标准

TCP/IP协议分层结构:网络接口层,网际层,传输层,应用层

网络接口层:

TCP/IP协议族中没有给出具体的描述,参考OSI模型中的物理层和数据链路层

网际层IP:

整个TCP/IP协议族的核心,功能是把分组发送给目标网络和主机

传输层TCP:

负责应用进程之间建立端到端的连接和可靠通信,存在于端口节点中

传输层涉及两个主要协议:TCP和UDP

其中TCP是面向有连接的服务,提供了数据的有序可靠传输,实现连接管理、差错控制、流量控制、拥塞控制等

UDP是面向无连接的服务,连接是不可靠的

应用层:

为互联网提供各种网络应用提供服务

各层协议简介

应用层:

协议:FTP、HTTP、SMTP

FTP(File Transer Protocol)文件传输协议<端口号:21>,减少或消除不同操作系统下处理文件的不兼容性

HTTP(Hypertext Transer Protocol)超文本传输协议<端口号:80>,面向事物的应用层协议

SMTP(Simple Mail Transer Protocol)简单邮件传输协议<端口号:25>,用于发送邮件

传输层:

TCP(Teansmission Control Protocol)传输控制协议,提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。可靠的全双工信道。可靠、有序、无丢失、不重复。

UDP(User Datagram Protocol)用户数据报协议,发送数据前无需建立连接。不使用拥塞控制,不保证可靠交付,最大努力交付。

网络层:

IP(IPv4 IPv6)(Internet Protocol)网络之间互连的协议

ARP(Address Resolution Protocol)地址解析协议,实现通过IP地址得知其物理地址MAC

RARP(Reverse Address Resolution Protocol)反向地址转换协议,允许局域网的物理机器从网关服务器的ARP表或者缓存上强求其IP地址

ICMP(Internet Control Message Protocol)Internet控制报文协议。是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制信息。

数据链路层:

没有相关协议

数据包

包,帧,数据包,段,消息

以上5个术语都是用来表述数据的单位,大致区分如下:

  • 包是一个全能型术语
  • 帧用于表示数据链路层的包的单位
  • 数据包是IP和UDP等网络层以上的分层中包的单位
  • 段则表示的是TCP数据流中的信息
  • 消息是指应用协议中数据的单位

每个分层中,都会对发送的数据添加一个首部,在这个首部中包含该层必要的信息,如发送的目的地址以及协议相关的信息,通常:为协议提供的信息为首部,所要发送的内容为数据,在下一层的角度看,从上一层收到的包都认为是本层的数据

数据包首部:

网络中传输的数据由两部分构成,一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义,在数据包的首部,明确标明协议应用该如何读取数据,看到首部,也就能够了解协议必要的信息以及需要处理的数据

数据的处理流程:

以用户a向用户b发送邮件为例说明:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络概述介绍 的相关文章

随机推荐

  • SpringBoot对接微信小程序支付功能开发(二,支付回调功能)

    接着上一篇 SpringBoot对接微信小程序支付功能开发 一 下单功能 在上一篇下单功能中我们有传支付结果回调地址 下面是回调接口实现 package com office miniapp controller import cn hut
  • Blender材质贴图入门图文教程

    推荐 将 NSDT场景编辑器 加入你的3D开发工具链 大家好 今天跟大家分享Blender材质贴图入门图文教程 一套blender的PBR材质包 和HDRI环境纹理贴图 在文末领取 希望能助到大家更高效完成场景练习 据我了解 越来越多人开始
  • Redis、Redission实现分布式锁

    Redis实现 使用spring data redis提供的接口实现redis分布式锁
  • kali使用aircrack无线攻击wifi超详细步骤(包含监听网卡启动,获得握手包,密码本生成)

    平台及工具 linux kali平台 aircrack ng 工具 免驱监听网卡 详细操作 1 首先启动kali 插入网卡 输入ifconfig查看kali是否检测到监听网卡 注意监听网卡要免驱动的 ifconfig 查看自身网卡信息 如图
  • React lazyLoad懒加载

    在React中使用lazy懒加载 效果图 目录结构 index js import React from react import ReactDOM from react dom import App from App import Bro
  • PID算法与PID自整定算法

    PID算法与PID自整定算法 本文是由于研发恒温槽项目故需要了解PID控制算法和PID自整定算法 为方便本人日后需要故作此记录 直接粘贴代码吧 这是PID位置式控温算法 函数名 void Pid positional float speed
  • 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作

    1 Qt文件系统简介 QFile 文件系统是应用程序必不可少的部分 Qt作为一个通用开发库 提供了跨平台的文件操作能力 Qt通过 QIODevice 提供了对I O设备的抽象 使这些设备具有读写字节块的能力 在所有的I O设备中 文件I O
  • java forName() 方法

    forName 方法会进行类加载 将MyClass装在到JVM上 静态代码块 在类加载时执行 且只执行一次 如果你只想执行一个类的静态代码块 其它代码不执行 可以使用forName 方法 package leetcode0606 refle
  • Mybatis:传参+提交事务(自动or手动)+sql多表关联查询(两种方法)

    目录 一 参数两种类型 二 传参的几种方法 三 提交事务 四 sql多表关联查询 两种方法 一 参数两种类型 1 参数 预编译方式 更安全 只用于向sql中传值 select from admin where account account
  • Buuctf(Easy Calc 1)

    一 解题步骤 1 发现了一个可以得到计算结果的输入框 说明这题可能是一道命令执行 或者注入题目 我们输几个数字发现可以得到正确答案 但输入字母就会报错 我们看一下html源码 进行代码审计
  • java给byte赋值_关于JAVA中Byte数据类型二进制赋值运算报错问题

    自从JDK7更新之后 新增了二进制变量的表示 支持将整数类型用二进制来表示 用0b开头 例如 byte b byte 0b1000 0001 short s short 0b1000 0000 0000 0001 新手在这个时候会遇到一个问
  • rabbitmq 客户端golang实战

    rabbitmq消息模式 rabbitmq中进行消息控制的组建可以分为以下几部分 exchange rabbitmq中的路由部件 控制消息的转发路径 queue rabbitmq的消息队列 可以有多个消费者从队列中读取消息 consumer
  • 游戏设计模式笔记(一)[自用]

    目录 学习内容 学习笔记 设计模式简介 Design Pattern 单例模式的学习 第一种方式 第二种方式 第三种方式 单例模式的优点 学习内容 设计模式简介 Design Pattern 单例模式的学习 单例模式的优点 学习笔记 设计模
  • 电脑蓝屏终止代码irql_电脑故障排除之五种常见的蓝屏代码及解决方法

    超过10万人正在关注 赶快来关注吧 这里有你想找的热点资讯 这里有你想要的各种资料 还有海量的资源 还在等什么 快来关注 大佬带你开车 电脑蓝屏 又称蓝屏死机 BSDO 它是系统自我保护的一种现象 遇到蓝屏时不必慌张 利用以下几个方法就能解
  • 地址模块丨前端uniapp微信小程序项目

    小兔鲜儿 地址模块 能够获取不同类型的表单数据 能够动态设置导航栏的标题 能够使用 uni ui 组件库的组件 能够完成收货地址的增删改查的功能 准备工作 静态结构 地址模块共两个页面 地址管理页 地址表单页 划分到会员分包中 地址管理页
  • lua知识系列:lua5.3 GC机制

    插眼 总结 暂无 参考 Lua5 3版GC机制理解 https blog csdn net BigBrick article details 85317491 Lua5 3自动GC触发条件分析与理解 https blog csdn net
  • OpenCV样例calibration

    1 将图片地址写入到xml 创建工程 运行一下文件 C Program Files opencv sources samples cpp imagelist creator cpp cmd运行 cd至 工程目录 x64 Debug gt 命
  • macOS版tensorflow实现GPU加速

    intel版本的教程 我没有M1的所以没试 官方教程链接https developer apple com metal tensorflow plugin https developer apple com metal tensorflow
  • react hook之React.lazy()

    也不怕大家笑话 看到react lazy 我第一个想到的居然是vue 中的一个vue lazy 用户懒加载的插件 但是这两个差别还是有点大的 好了我们言归正传 开始来看看我们的react lazy 其实看见lazy 大家见名知意 就知道是来
  • 网络概述介绍

    网络概括 计算机网络 通过传输介质 通信设施和网络通信协议 把分散在不同地点的计算机设备互联起来 实现资源共享和数据传输 网络编程 编写程序代码将两个或者两个以上的设备进行数据传输 OSI参考模型 将复杂的网络问题根据功能划分到不同层次上