OSI协议
物理层:
网线连接在客户端计算机上,其实是连接在了计算机的一个叫做网卡的设备上,网卡是专门负责与外界通信的。网线一般是双绞线或者光缆,也可以使用无线电波,中间经过交换机,路由器,防火墙等等一堆设备统称为物理连接介质,可以理解为经过互联网,再连接到服务端设备。首先工作的是物理层,发送电信号
数据链路层:
电信号分为两种,高电平和低电平,高电平可以被人定义成数字 1,低电平可以被人定义成数字 0。假如我客户端发送一个 0010101100,服务端相应的就会收到这些数字。但是单纯的一段二进制数字这是没有意义的,一定要明确,从哪里开始到哪里结束这表示一段内容,从哪里开始到哪里结束这又表示另外一段内容。这也就是说,我们要给这些二进制数字进行分组
以太网协议规定:
- 一组电信号构成一个数据报,叫做‘帧’
- 每一数据帧分成:报头head和数据data两部分
这一点和我们写信类似,有信封,有信的内容,信封上面会写明这封信的发送者接受者分别是谁, 信里面的信纸上写的就是信的内容。
head包含:(固定18个字节)
- 发送者/源地址,6个字节
- 接收者/目标地址,6个字节
- 数据类型,6个字节
data包含:(最短46字节,最长1500字节)
注意:头固定长度18个字节,也只有固定长度,接收者才知道按照什么标准来读取
- 数据报的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送
以太网规定head里面要有发送者的源地址和接受者的目标地址,源地址可以理解为是发送者的家,目标地址就是接收者的家。那么,在计算机中如何标识家在哪里?
使用mac地址,注意这个mac地址不是你用的苹果电脑那个mac,只是巧合同名了。MAC地址(Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网上设备位置的地址。
mac地址是计算机上一个唯一的地址,是在计算机的网卡上的,每块网卡出厂时都被烧制上一个
世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
这样做的目的就是要保证每一个mac地址是全世界独一无二的
网络层:
网络层有一个IP协议,我们常说的IPV4就是IP协议的第四个版本,IPV6就是IP协议的第六个版本
传输层:
传输层有一个TCP协议和UDP协议,这两个协议都是基于端口工作的协议
会话层:负责文件发送/接收
表示层:负责数据压缩、编码
应用层:
应用层就是应用软件,应用软件是你写的,这个标准可以由你来定,当然了你也可以遵循一些大家已经定制好了的应用层协议的标准,常见的有 http,mail,ftp
发送过程:
应用层软件(有协议或无协议)===>传输层(TCP/UDP协议)===>网络层(ip协议)===>数据链路层(以太网协议)===>物理层===>电信号发送(100011001010110)
接收过程则相反
OSI协议的更多相关文章
- TCP/IP协议与OSI协议
OSI协议是一个理想化的协议,它把网络传输过程分为七层模型,以达到形象化的理解的效果,在实际应用中没有被使用.TCP/IP协议可以看作是它的简化版,是目前应用最广泛的网络协议,许多协议都是以它为基础而 ...
- OSI协议与TCP\IP协议之间的关系
OSI协议 TCP\IP协议 五层协议(学习参考) 应用层 应用层 应用层 表示层 会话层 运输层 运输层 运输层 网络层 网络层 网络层 数据链路层 网络接口层 数据链路层 物理层 物理层 基于五层 ...
- OSI协议简述版
OSI简介 OSI只是计算机网络中的一种协议名称缩写,它只是电脑间传输数据的协议,并不代表具体的物理设备,并且这种协议,只是被人为的划分为五层:物理层.数据链路层.网络层.传输层.应用层.记住,它只是 ...
- TCP/IP协议和OSI协议
作为一个与网络密切相关的Web前端工程师,TCP/IP和OSI模型不可不知,至少要知道一下这些常识性知识,在这我做一下记录 TCP/IP协议簇: TCP/IP是一组协议的代名词,包括许多别的协议,组成 ...
- 网络基础之网络协议篇---CS架构--网络通信--osi 协议---套接字socket--粘包
1 C\S 客户端/服务器架构: .硬件 C/S架构 (打印机) .软件 C/S 架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...
- OSI协议介绍
应用层 为网络用户或应用程序提供各种服务,代表协议有Telnet,FTP,HTTP,SNMP等 表示层 负责所传输的信的语法和语义,用于处理再多个通信系统之间交换信息的表示方式,代表协议有ASCII, ...
- OSI 协议
- OSI七层协议与TCP连接
概述 为了追求效率,我们写代码,不可能去关注底层知识,但往往到出了问题,或者性能调优.我们就会速手无策,仔细为自己查缺补漏,总结知识点. 网络协议 互联网的本质就是一系列的网络协议,让不同计算机能够互 ...
- OSI协议和TCP/IP协议笔记
1.OSI协议: 第7层应用层:OSI中的最高层.是用户与网络的接口.该层通过应用程序来完成网络用户的应用需求,如文件传输.收发电子邮件等.在此常见的协议有:HTTP,HTTPS,FTP,TELNET ...
随机推荐
- clr via c# 接口
1,常用接口及其定义 public interface IDisposable{ void Dispose(); } public interface IEnumerable}{ IEnumerato ...
- LeetCode 面试题18. 删除链表的节点
题目链接:https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/ 给定单向链表的头指针和一个要删除的节点的值,定义一 ...
- 牛客网剑指offer第19题——顺时针打印矩阵
这个题看似很简单: 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- Java 8 函数式编程
今天打开Oracle Java官网一看,Java已经更新到 13 了 https://www.oracle.com/technetwork/java/javase/jdk-relnotes-index ...
- MySQL8.0远程连接和用户授权相关设置
文章目录 1.开启MySQL远程连接 2.关闭MySQL远程连接 3.修改防火墙规则,开放端口 4.创建用户以及给用户授权 5.删除用户及权限 1.开启MySQL远程连接 mysql -u root ...
- zabbix默认监控负载取值不准确
今天碰到个负载高引起的问题但是查看zabbix监控并没有报警,检查后发现监控取值与实际服务器内负载不一致. 使用zabbix_get命令在服务器内测试 zabbix默认模板键值 取值内容 [root@ ...
- Mysql-分库分区分表
大数据-分表分区分库问题集:1.分表时两张表的数据都一样么?如果一样,只是降低了表的访问量,但是如果数据多了还是没有提高查询的效率答:分表是对一张表中的数据按照某种规则进行拆分到三张表中,三张表的所有 ...
- Python的基本语法和数据类型(简明教程)
声明:借鉴Python 简明教程 一.注释 注释: 就是对代码的解释 方便大家阅读python代码,在编辑器中快捷键: notepad :ctrl + q pycharm: ctrl + / ...
- Android记事本在菜单栏添加搜索按钮方法
效果图 这个app结构和我之前将记事本开发的博客基本一致,我这里直接讲一下怎样添加 使用的开发软件为android studio 首先在res目录下新建文件夹menu,添加目录布局文件main_men ...
- Java第六节课总结
动手动脑: 多层的异常捕获-1:ArrayIndexOutOfBoundsException/内层try-catch发生ArithmeticException多层的异常捕获-2:ArrayIndexO ...