osi七层模型&tcp/udp
1.TCP/UDP协议
1.1 TCP协议
- 可靠,速度慢,全双工通信
- 建立连接三次握手,断开连接四次挥手
- 建立起链接之后,发送每条消息都有回执,为了保证数据的完整性,还有重传机制
- 数据传输:有收必有发,收发必相等
- 长连接:会一直占用对方端口
- IO操作(input/output),IO操作的输入输出时相对内存来说
- write-send (输出ouput)
- read-recv (输入input)

1.2 UDP协议
- 不需要建立连接,速度特别快,可能会丢消息.
2.osi七层模型
'应表会传网数物'
也叫osi五层模型,专业七层,开发人员掌握五层模型,表示层会话层了解- 应用层:python代码
- 表示层
- 会话层
- 传输层:tcp协议 udp协议 端口
- 网络层:ipv4/ipv6协议
- 数据链路层:mac地址 arp协议
- 物理层:

每层运行常见协议/物理设备
| tcp/ip五层 | 每层运行常见协议 | 每层运行常见物理设备 |
|---|---|---|
| 5应用层 | python代码/http/https/ftp/smtp/ | |
| 4传输层 | tcp/udp协议 端口 | 四层交换机/四层路由器 |
| 3网络层 | ipv4/ipv6协议 | 三层路由器/三层交换机 |
| 2数据链路层 | mac地址/arp协议 | 网卡/交换机/二层交换机 |
| 1物理层 |
3.socket
- 中文名字:套接字
- Socket是应用层与传输层中间的抽象层,Socket帮助去组织拼接信息数据,以符合指定的协议。
- socket对于程序员来说,已经是网络操作的底层了

osi七层模型&tcp/udp的更多相关文章
- OSI七层模型:TCP/IP && HTTP && WebSocket && MQTT
OSI七层模型分为 物理层: 建立.维护.断开物理连接 处理bit流 数据链路层,将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正 处理数据帧 Frame 网络层,进行逻辑地址 ...
- 三报文握手而不是三次握手 wireshark 封包详细信息 (Packet Details Pane) wireshark与对应的OSI七层模型 TCP包的具体内容 分析TCP三次握手过程
总结: 1.tcp报文非数据部分4*6字节 2.RFC 973 <计算机网络> 谢希仁 three way (three message) handshake 只是一次握手 同步位SYN. ...
- 温故知新--计算机网络 iso/osi七层模型 tcp/ip四层模型
ISO七层模型由下至上为1至7层,分别为: 应用层(Application layer) 表示层(Presentation layer) 会话层(Session layer) 传输层(Transpor ...
- Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver
今日内容:socket网络编程 1.OSI七层协议 2.基于tcp协议的套接字通信 3.模拟ssh远程执行命令 4.tcp的粘包问题及解决方案 5.基于udp协议的套接字 ...
- OSI七层模型详解 TCP/IP协议
总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...
- TCP/IP四层模型和OSI七层模型
TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对 ...
- TCP/IP四层模型和OSI七层模型的概念
转:http://blog.csdn.net/superjunjin/article/details/7841099/ TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了T ...
- TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- 网络模型 —— OSI七层模型,TCP五层模型,以及区分
1. OSI七层模型 OSI层 介绍 功能 TCP/IP协议 应用层 操作系统或网络应用程序提供访问网络服务的接口. 文件传输.浏览器.电子邮件 HTTP, FTP, TFTP, SNMP, DNS ...
随机推荐
- mybatis和spring的xml基本配置
mybatis 导入依赖环境 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybat ...
- 个人c#编码约定 继承C#编码约定
1.内插字符 串取代 字符串复合格式设置 使用这个写法: Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it' ...
- windows下cuda、cudnn以及pytorch的安装
一.在anaconda下配置cuda.cudnn以及pytorch环境 1.打开Anaconda Prompt,输入 conda create -n pytorch python=3.8 ...
- laravel7 搜索分页
html: <form action="{{url('http://www.yanbing.com/fang/index')}}" method="get" ...
- tp5 数据库迁移及数据填充
1:首先通过 composer 安装 原命令加空格 1.* 2:创建 3:填入数据 4:运行,刷新数据库 数据填充: 1:在命令行输入以下命令 composer require fzaninot ...
- 用xshell连接VMware中的Linux
配置静态网址 1.配置网络连接方式 2.查看虚拟机中的网段 3.进登录linux系统,输入:ip addr 根据自己实际情况决定下一步的语句,例如本文为ens33 , 下一步为ifcfg-ens33 ...
- 七天接手react项目 系列 —— react 脚手架创建项目
其他章节请看: 七天接手react项目 系列 react 脚手架创建项目 前面我们一直通过 script 的方式学习 react 基础知识,而真实项目通常是基于脚手架进行开发. 本篇首先通过 reac ...
- 数据库常用的sql语句大全--sql
前言 本片博客使用mysql数据库进行数据操作,使用Navicat for mysql 这个IDE进行可视化操作.每个SQL语句都是亲身实验验证的,并且经过自己的思考的.能够保证sql语句的可运行性. ...
- ADT环境搭建手册
前言 笔者在搭建ADT环境之前一脸懵逼,甚至不知道ADT是什么,更别说与之相关的SDK.eclipse等,相信很多小伙伴跟我一样也是一脸茫然,所以在搭建环境之前有必要先了解一下它们是什么,有什么样的关 ...
- 字符串的高级应用-char a[100] = "1+2=;3-2=;2*5=;8/4=;" 得到char a[100] ="1+2=3;3-2=1;2*5=10;8/4=2;"
1 #include<stdio.h> 2 #include<string.h> 3 4 int main() 5 { 6 char a[100] = "1+2=;3 ...