## 网络协议按照不同的功能分为多层,目前存在的模型有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五层模型的更多相关文章

  1. OSI七层模型与TCP/IP五层模型(转)

    reference:https://www.cnblogs.com/qishui/p/5428938.html         博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...

  2. OSI七层模型与TCP/IP五层模型详解

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了.   一.OSI参考模型         今天我 ...

  3. OSI七层模型和TCP/IP五层模型详解

    OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范.OSI模型有7层结构,每层都可以有几个子层. OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 ...

  4. OSI七层模型与TCP/IP五层模型-(转自钛白Logic)

    OSI七层模型与TCP/IP五层模型         博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始 ...

  5. TCP/IP五层模型

    (2)TCP/IP五层模型的协议   应用层 传输层 网络层 数据链路层 物理层   物理层:中继器.集线器.还有我们通常说的双绞线也工作在物理层 数据链路层:网桥(现已很少使用).以太网交换机(二层 ...

  6. OSI七层模型与TCP/IP五层模型

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型         今天我们先 ...

  7. 简述osi七层模型和TCP/IP五层模型

    OSI七层模型 OSI七层模型的划分 应用层(Application).表示层(presentation).会话层(session).传输层(Transport).网络层(Network).数据链路层 ...

  8. 001-OSI七层模型,TCP/IP五层模型

    一.概述 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型. OSI/ ...

  9. 网络基础——TCP/IP五层模型

    TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系如下 在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的. 在每一层实现的协议也各不 ...

随机推荐

  1. Docker Builders:Builder pattern vs. Multi-stage builds in Docker

    原文链接 Builder pattern vs. Multi-stage builds in Docker This post looks at two new PRs from the Docker ...

  2. Linux命令1——a

    addUser: -c:备注 -d:登陆目录 -e:有效期限 -f:缓冲天数 -g:组 -b:用户目录 -G:附加组 -s:制定使用默认的shell -u:指定用户ID -r:建立系统账号 -M:不自 ...

  3. 解决Linux服务器磁盘空间不足的问题

    在linux服务器执行程序时报错: awk: write failure (No space left on device)awk: close failed on file /dev/stdout ...

  4. 使用redux简单的实现加法运算(简单的状态改变)

    描述该做啥?(action)!具体怎么做(reducer)!统一规划(store:包含reducer+所有的state) 上代码:index.ios.js import React, { Compon ...

  5. 恢复Intellij idea删除的文件

    恢复Intellij idea的删除文件方法: 右键单机项目名称---->Local History---->Show History 可以看到历史操作记录,右键单机想要恢复的文件---- ...

  6. mysql索引使用

    原文:http://www.jianshu.com/p/2b541c028157 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型.在 ...

  7. leetcode 29-> Divide Two Integers without using multiplication, division and mod operator

    class Solution(object): def divide(self, dividend, divisor): """ :type dividend: int ...

  8. ajax 怎么重新加载页面

    $.ajax({ type:"post", url:url, data:{xxx:xx}, dataType: "json", success : functi ...

  9. 四: scrapy爬虫框架

    5.爬虫系列之scrapy框架   一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架 ...

  10. Python Appium 开启Android测试之路

    1.获取 Android app的Activity 打开终端cmd,先cd进入到刚才下载的“新浪.apk”目录下,然后使用aapt dump badging xxx.apk命令获取包内信息.注意,启动 ...