网络编程之 OSI七层协议
内容目录:
1.软件开发架构
2.OSI七层协议
3.每层协议介绍
1.软件开发架构
c/s架构:
c:客户端
s:服务端
b/s架构:
b:浏览器
s:服务器
本质:b/s其实也是c/s
2.OSI七层协议

3.各层介绍
3.1 物理层
规定计算机之间物理连接方式,传输的数据都是 0,1 二进制的电信号
3.2 数据链路层("以太网协议"!)
1.规定了二进制数据的分组方式
2.规定了只要是接入物联网的计算机,都必须有一块网卡!
网卡上面刻有世界唯一的编号:
每块网卡出厂时都被烧制上一个世界唯一的mac地址,
长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
管网卡上刻有的编号叫电脑的mac地址
----->上面的两个规定其实就是 "以太网协议"! 基于以太网协议通信:通信基本靠吼(一对多广播形式)
弊端:容易产生广播风暴 交换机:如果没有交换机,你的电脑就变成了马蜂窝,有了交换机之后,
所有的电脑只需要有一个网卡连接交换机,即可实现多台电脑之间物理连接
3.3 网络层(IP协议)
规定了计算机都必须有一个ip地址
ip地址特点:点分十进制
有两个版本ipv4和ipv6 为了能够兼容更多的计算机
最小:0.0.0.0
最大:255.255.255.255
IP协议可以跨局域网传输 ip地址能够唯一标识互联网中独一无二的一台机器!
3.4 传输层(端口协议)
TCP,UDP基于端口工作的协议!
其实计算机之间通信其实是计算机上面的应用程序于应用之间的通信
端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序 端口范围:0~65535(动态分配)
注意:0~1024通常是归操作系统分配的端口号
通常情况下,我们写的软件端口号建议起在8000之后
flask框架默认端口5000
django框架默认端口8000
mysql数据库默认端口3306
redis数据库默认端口6379
注意:一台计算机上同一时间一个端口号只能被一个应用程序占用 小总结:
IP地址:唯一标识全世界接入互联网的独一无二的机器
port端口号:唯一标识一台计算机上的某一个应用程序
ip+port :能够唯一标识全世界上独一无二的一台计算机上的某一个应用程序
3.5 应用层
这一层包含常见的 HTTP协议,FTP等协议,也可以自定义一些协议。
(七层协议详细介绍链接:https://www.cnblogs.com/xt12321/p/10666021.html)
网络编程之 OSI七层协议的更多相关文章
- 网络编程之OSI七层协议略析
OSI七层协议 1 物理连接层 用高低电平模拟二进制数01012 数据链路层 以太网协议,Ethernet,要求连入网络的计算机必要要有一块网卡,并且规定全球每一块网卡的mac 地址都不一样,用12位 ...
- 网络编程之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架构的优缺点: 互联网与互联网的组成 互联网的组成(教科书版) 互联网的组成(科普版) ...
随机推荐
- 程序性能优化之APK大小优化(六)下篇
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将继续从微信资源混淆AndResGuard原理来介绍AP ...
- 初探Remoting双向通信(二)
原 初探Remoting双向通信(二) 2013年06月25日 11:46:24 喜欢特别冷的冬天下着雪 阅读数 2977 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- safari 调试iPhone web页面
safari设置-打开Safari偏好者设置,选中“高级菜单”,在页面最下方看到“在菜单中显示开发菜单”的复选框,在复选框内打钩,这样设置完毕就能在Safari菜单中看到开发菜单了 iPhone 设置 ...
- node升级
1. 全局安装n: npm i -g n; 2.查看n版本: n -v 3.查看node版本: node -v 4.安装node最新稳定版本: n stable 5.安装node指定版本: n 9.1 ...
- 自定义vant ui steps组件效果实现
记录个问题,当作笔记吧:因为vue项目的移动端vant ui 的step组件跟ui设计图有差别,研究了半天还是没法使用step组件,只能手动设置一个 先上效果图和代码: (1)HTML部分 <d ...
- shell常见的返回状态码
- makefile自动编译
1.格式: 目标:依赖 规则 规则前有一个tab键 ,缺少tab键出错,使用空格替代也不可以 (1). 例子: 编写makefile 编译 main.c ,fun.c , fun.h test ...
- mysql导入.csv文件出错
1.报错信息 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cann ...
- linux配置java环境变量(详细)(转)
linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...
- js获取url参数值的几种方式
一.原生js获取URL参数值: 比如当前URL为:http://localhost:8080/#/page2?id=100&name=guanxy <template> <d ...