python记录_day27 tcp/ip五层模型
## 网络协议按照不同的功能分为多层,目前存在的模型有osi七层模型、tcp/ip五层和tcp/ip四层模型
我们主要用的是tcp/ip五层模型

那么每层的作用是什么呢,现在就从设计者的角度自下到上逐层分析:
#物理层
两个设备要想进行数据传输,必须是连通的,物理层就是要干这件事,它主要定义物理设备的标准。在物理层传输的是电信号
#数据链路层
设备连通了,那么怎么确定你是不是我要找的那个设备呢,于是出现了Mac地址,每个网卡都有一个全球唯一的Mac地址(出厂是就被烧录进去了),在数据链路层,数据会封装成帧,每个数据帧会有一帧头,里面有源Mac地址和目标Mac地址以及数据类型等信息,这样接受设备在收到这个数据帧时,比较MAC地址,如果和自己设备的相同就收下,否则就丢掉。
#网络层
如果单靠Mac地址的话,几个设备之间通信还好,一个设备发一个信息,其他设备都会接收到并进行比较,但如果有很多设备,那么信息就会很多,就会形成广播风暴,于是出现了IP地址,用IP将网络隔离成一个个小的局域网。在网络层,数据会添加一个IP头封装成IP数据包,ip头中有源ip和目的ip的信息
#传输层
数据在被一个设备接收后,那么由谁来使用呢?这时就要用到端口了,应用程序的每个进程都会对应一个端口号,在传输层,就会为数据加上端口号信息,包括源端口和目标端口
根据传输要求的不同,传输层协议分为TCP协议和UDP协议。
tcp协议:面向连接的,提供可靠传输,效率低。
tcp连接的三次握手和四次挥手(见下图)

udp协议:面向无连接的,不可靠传输,效率高
#应用层
为用户的应用程序提供网络服务。收到数据后要进行解读,这些数据才算有意义,那解读就要遵循一等的规则,应用层的协议的相当于解读的规则。
####
下面是别人对于tcp/ip五层模型的讲解,介绍的很详细,也和容易理解。
http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html?tdsourcetag=s_pcqq_aiomsg
python记录_day27 tcp/ip五层模型的更多相关文章
- OSI七层模型与TCP/IP五层模型(转)
reference:https://www.cnblogs.com/qishui/p/5428938.html 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...
- OSI七层模型与TCP/IP五层模型详解
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我 ...
- OSI七层模型和TCP/IP五层模型详解
OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范.OSI模型有7层结构,每层都可以有几个子层. OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 ...
- OSI七层模型与TCP/IP五层模型-(转自钛白Logic)
OSI七层模型与TCP/IP五层模型 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始 ...
- TCP/IP五层模型
(2)TCP/IP五层模型的协议 应用层 传输层 网络层 数据链路层 物理层 物理层:中继器.集线器.还有我们通常说的双绞线也工作在物理层 数据链路层:网桥(现已很少使用).以太网交换机(二层 ...
- OSI七层模型与TCP/IP五层模型
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我们先 ...
- 简述osi七层模型和TCP/IP五层模型
OSI七层模型 OSI七层模型的划分 应用层(Application).表示层(presentation).会话层(session).传输层(Transport).网络层(Network).数据链路层 ...
- 001-OSI七层模型,TCP/IP五层模型
一.概述 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型. OSI/ ...
- 网络基础——TCP/IP五层模型
TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系如下 在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的. 在每一层实现的协议也各不 ...
随机推荐
- 三部排序|2013年蓝桥杯B组题解析第六题-fishers
三部排序| 一般的排序有许多经典算法,如快速排序.希尔排序等. 但实际应用时,经常会或多或少有一些特殊的要求.我们没必要套用那些经典算法,可以根据实际情况建立更好的解法. 比如,对一个整型数组中的数字 ...
- newcoder H肥猪(单调队列 / 线段树)题解
题意: 小B来到了一个异世界,成为了肥猪之王. 在这个异世界,共有n种肥猪,编号分别为1,...,n. 小B希望集齐这n种肥猪. 召集肥猪有两种方式: 1. 花费a[i]的金币召唤一只编号为i的肥猪. ...
- Cannot retrieve metalink for repository: epel 错误解决办法
centos下安装完EPEL源, 然后更新一下yum缓存, 如果发现这样的错误:Error: Cannot retrieve metalink for repository: epel. Please ...
- [转载]error while loading shared libraries的解決方法
转自:https://blog.csdn.net/dumeifang/article/details/2963223 error while loading shared libraries的解決方法 ...
- SAP S/4 HANA
通常说到SAP,指的都是SAP Business Suite/R3(ECC) 这款产品. 那么SAP S/4 HANA与SAP R3究竟有什么不同呢? 简单地说,S/4 HANA是下一代的R/3和SA ...
- HDU 1251 统计难题(字典树模板题)
http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意:给出一些单词,然后有多次询问,每次输出以该单词为前缀的单词的数量. 思路: 字典树入门题. #inc ...
- R语言可视化学习笔记之ggpubr包—SCI文章图
转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...
- list转化为json数组
今天做项目,用Thrift获取数据,在servlet里面获取的是数组,但是通过Ajax传输到js文件里是一个list,我获取长度失败,这个时候需要将list转化为json数组,我们可以通过eval() ...
- JavaSE习题 第六章 字符串和正则表达式
Make efforts eveyday 问答题 1.对于字符串 String s1=new String("ok"); String s2=new String("ok ...
- R语言 让纵坐标的标签显示为横向
参考自153分钟学习R语言 坐标y 上的数字如何水平放置?仍然是绘图参数问题: ?par # see lasplot(0, 0, xaxt="n" , type="n& ...