网络编程之OSI七层协议略析
OSI七层协议
1 物理连接层
用高低电平模拟二进制数0101
2 数据链路层
以太网协议,Ethernet,要求连入网络的计算机必要要有一块网卡,并且规定全球每一块网卡的mac
地址都不一样,用12位十六进制数表示,前六位表示生产厂商,后六位表示流水线号
以太网协议的数据传输部分分为报头和数据部分,报头有18个字节组成,前6个字节为自己的mac地址,
中间6个字节是对方mac地址,后6个字节表示数据类型
以太网协议通信基本靠吼,一台机器想要和另外一台机器通信,同局域网内所有机器都能收到发包,其他
机器收到包后会拆包查看是否是属于自己的包,如果不是则丢弃,如果是则读取数据并回应,如果世界范
围的机器都像这样通信将是一场灾难,这就是广播风暴
知识点:以太网协议通信只能在局域网中,不能跨局域网通信
3 网络层
IP协议,如何实现跨局域网络通信,于是乎诞生了IP协议,IP协议规定了每台计算机都有一个IP地址,
IP协议通信的数据传输部分也分为报头和数据部分,报头占20-60个字节,内部包含了IP版本号、自己
IP,目标IP等等数据,数据部分就是包含以太网协议中的所有内容,长度限制1500字节,超过1500字节的
数据将分片发送,IP分片是没有校验机制的,所有是不可靠传输,所以在传输层的数据尽可能避免到IP层分片
IP协议通信通过网关统一对外局域网进行联系
4 传输层(端口协议)
TCP/UDP协议是基于端口工作的协议
TCP协议遵循3次握手4次挥手原则,每次传输数据需等到对方回应后才会把数据从内存中删除,是一种可靠协议
TCP协议工作原理
port:端口,每台计算机的端口编号由0~65535组成,前1023个端口号由操作系统占用
flask框架默认端口:5000
Django框架默认端口:8000
MySQL数据库默认端口:3306
redis数据库默认端口:6379
在一台计算机上,同一时间同一端口只能有一个应用程序占用
总结:IP能唯一的表示互联网中的某一台计算机,port能唯一的表示一台计算机上的一个应用程序
所以IP+PORT就可以唯一的表示互联网中某台计算机上的某个应用程序
补充:ARP协议的作用:通过IP地址解析MAC地址
5 应用层
HTTP,FTP等协议
网络编程之OSI七层协议略析的更多相关文章
- 网络编程之 OSI七层协议
内容目录: 1.软件开发架构 2.OSI七层协议 3.每层协议介绍 1.软件开发架构 c/s架构: c:客户端 s:服务端 b/s架构: b:浏览器 s:服务器 本质:b/s其实也是c/s 2.OSI ...
- 网络编程之OSI七层协议
七层协议: 应用层 表示层 会话层 传输层 网络层 数据连接层 物理连接层 1.物理连接层: 实现计算机之间物理连接,传输的数据都是010101的二进制 电信号工作原理:电只有高低电频 2.数据链路层 ...
- 网络编程、OSI七层协议
目录 软件开发架构 1.什么是软件开发架构 2.软件开发架构 3.架构优劣势 4.架构发展趋势 网络编程简介 1.如何理解网络编程 2.网络编程的目的 3.网络编程的意义 4.网络编程的起源 5.网络 ...
- Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver
今日内容:socket网络编程 1.OSI七层协议 2.基于tcp协议的套接字通信 3.模拟ssh远程执行命令 4.tcp的粘包问题及解决方案 5.基于udp协议的套接字 ...
- 网络之OSI七层协议模型、TCP/IP四层模型
13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. ...
- 网络框架,互联网的组成,OSI七层协议,抽象层
6.25自我总结 1.网络框架 1.单机 单机游戏 以下两个基于网络的 2.CS架构 cs--->client客户/server服务 服务端(应用程序)一个就够了,客户端(应用程序)可以有多个 ...
- 网络编程网络协议篇(osi七层协议)
一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...
- 8.6 day27 网络编程 osi七层协议 Time模块补充知识 TCP协议
Time模块补充知识 date和datetime区别是什么? date 就是年月日 datetime就是年月时时分秒 以下代码为什么会报错? import json from datetime imp ...
- 网络编程之网络架构及其演变过程、互联网与互联网的组成、OSI七层协议、socket抽象层
目录 网络架构及其演变过程 单机架构 CS架构 BS架构 BS架构和CS架构的区别 C/S架构的优缺点: B/S架构的优缺点: 互联网与互联网的组成 互联网的组成(教科书版) 互联网的组成(科普版) ...
随机推荐
- conda环境py36 requirements.txt
生成: conda list -e > requirements.txt 使用: conda install --yes --file requirements.txt # This file ...
- Java基础学习-注释的概述和分类
/* 注释:用于解释说明程序的文字 分类: 单行:// 多行:/**/ 作用:解释说明程序,提高程序的阅读性 */ ...
- R导出图后用AI和PS处理
1)使用pdf()函数导出后,用AI打开,首先是将选中所有要用到的元素,组合为一个文件,然后设置为你最终要的大小,比如你要180mm,那么可以考虑设置为178,因为要留个窄窄的边. 2)然后设置字体和 ...
- LeetCode--023--合并K个排序链表
合并 k 个排序链表,返回合并后的排序链表.请分析和描述算法的复杂度. 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1-&g ...
- vue 上传图片视频组件,可拍照选择照片,解决苹果手机拍照旋转问题
1.创建组件components > uploadImg > index.vue <template> <input type="file" name ...
- vue实现tab切换功能
最近用vue做一个页面的tab功能,经过一查找资料,没用路由,也没用动态组件,完美实现了tab切换功能,效果如下 下面是代码实现,这是模板 <article id="example&q ...
- mysql数据库的基础操作
注 : 本文中注释因为方便写了# ,mysql中规范应为 -- 创建用户 通过root管理员权限可以创建各种用户,并为他们分配权限及可以操作的数据库. 语法:create user '用户名'@'ip ...
- springcloud入门-什么是springcloud
1.单体应用架构存在的问题 一个归档包(例如war)包含所有功能的应用程序,通常称为单体应用. 相信很多项目都是从单体应用开始的,单体应用比较容易部署和测试,项目的初期,项目可以很好的运行,然而,随着 ...
- python -- 面向对象-成员
1.成员 在类中,你能写的所有内容都是类的成员 2.变量 1.实例变量:由对象去访问的变量,一般使用是 对象 . 属性 class Person: def __in ...
- python -- 面向对象 - 反射
1.isinstance ,type, issubclass isinstance:判断给的对象是否是**类型 type:返回**对象的数据类型 issubclas ...