网络编程之OSI七层协议
七层协议:
应用层
表示层
会话层
传输层
网络层
数据连接层
物理连接层
1、物理连接层:
实现计算机之间物理连接,传输的数据都是010101的二进制
电信号工作原理:电只有高低电频
2、数据链路层:
1. 规定了二进制数据的分组方式
2. 规定了只要是接入互联网的计算机,都必须要有一个网卡
网卡上面刻有世界唯一的编号,12位16进制数
这两个规定,又叫以太网协议
基于以太网协议通信:通信基本靠吼
弊端:广播风暴
交换机:有了交换机,所有的电脑需要连接交换机即可实现与多条电脑连接。

3、网络层(IP协议):
规定了计算机都必须有一个IP地址
IP地址特点:点分十进制
有两个版本ipv4和ipv6
最小:0.0.0.0
最大:255.255.255.255
IP协议可以跨局域网传输
IP地址能够唯一标识互联网中独一无二的一台机器
4、传输层(端口协议):
TCP,UDP基于端口工作的协议
其实计算机之间通信是计算机上面的应用程序与应用之间的通信
端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序
端口范围:0~65535(动态分配)
注意:0~1024通常是归于操作系统分配的端口号
通常情况下,我们写的软件端口建议起在8000之后
一台计算机上同一时间一个端口号只能被一个应用程序占用
5、应用层(HTTP协议,FTP协议):
小总结:
IP地址:唯一标识全世界接入互联网的独一无二的机器
Port端口号:唯一标识一台计算机上的某一个应用程序
IP+Port:能够唯一标识全世界独一无二的一台计算机上的某一个应用程序
Arp协议:根据IP地址解析mac地址
TCP协议(流式协议,可靠协议)
三次握手建连接

可靠的原因在于给对象发消息,对方必须回复确认收到传输的数据才会被删除,否则会在一定时间间隔之内反复发送直到对方接受或者超时
四次挥手断连接

网络编程之OSI七层协议的更多相关文章
- 网络编程之OSI七层协议略析
OSI七层协议 1 物理连接层 用高低电平模拟二进制数01012 数据链路层 以太网协议,Ethernet,要求连入网络的计算机必要要有一块网卡,并且规定全球每一块网卡的mac 地址都不一样,用12位 ...
- 网络编程之 OSI七层协议
内容目录: 1.软件开发架构 2.OSI七层协议 3.每层协议介绍 1.软件开发架构 c/s架构: c:客户端 s:服务端 b/s架构: b:浏览器 s:服务器 本质:b/s其实也是c/s 2.OSI ...
- 网络编程、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架构的优缺点: 互联网与互联网的组成 互联网的组成(教科书版) 互联网的组成(科普版) ...
随机推荐
- js实现链式操作
前言:前不久阿里远程面试时问了我一个问题,如下: function Person(){}; var person = new Person(); //实现person.set(10).get()返回2 ...
- sublime text2 注册码
近终于找到 sublime Text2 升级到 2.0.2 build 2221 64位 的破破解 输入注册码就成了 ----- BEGIN LICENSE ----- Andrew Weber S ...
- 基于token的后台身份验证(转载)
几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RES ...
- 实用的Javascript获取网页屏幕可见区域高度
本文转载原地址:这里 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 docu ...
- JS 面试题 实践一
1.完成 extname 函数,它会接受一个文件名作为参数,你需要返回它的扩展名. 例如,输入 emoji.png,返回 .png. const extname = (filename) => ...
- linux rabbitmq 安装
下载 在安装 erlang 时使用的是源码包21.0版本:接着下载 rabbitmq-server/3.7.7 的源码包,编译时报错,说 erlang 版本号不满足条件,erlang版本>=19 ...
- gitlab上如何添加二进制文件(设计文档)
想将设计文档(原型设计图,UML设计图等)放到gitlab上,以供团队其他成员查看.将这些二进制文件跟源码一样纳入git管控显然是不合适的.经过一番摸索,找到了如何管理项目文档的方法. 根据Stack ...
- 如何在 Azure 中均衡 Linux 虚拟机负载以创建高可用性应用程序
负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...
- 使用 PowerShell 创建和修改 ExpressRoute 线路
开始之前 安装最新版本的 Azure Resource Manager PowerShell cmdlet. 有关详细信息,请参阅 Azure PowerShell 概述. 在开始配置之前,请查看先决 ...
- django配置连接多个数据库,自定义表名称
在项目tt下新建两个app,分别为app01.app02.配置app01使用default节点数据库:app02使用hvdb节点数据库(也可以配置app01下的model既使用default,也可以使 ...