TCP/IP协议分层模型

作者: 上官若枫 | 来源:发表于2017-10-25 23:44 被阅读26次

前面介绍了OSI参考模型的划分,但是那只是理想化分的协议分层。在实际应用中,这种协议的划分有些不规范,而且每层的名称可能叫法不大一样。

Paste_Image.png

1.硬件层
这一层的概念有点宽泛,只要是通过电缆连接的都属于这一层
2.网络接口层:驱动程序,就是我们电脑装的各种驱动,驱动的作用是连接操作系统和硬件设备
3.互联网层:
这时候可以将底层物理层的传输忽略掉,两台主机之间是通过互联网层传递数据的。这时候用到了三种协议(IP,ARP,ICMP)。
IP协议:用于传输数据包,但是不可靠,当数据包没有到达主机时,IP协议不会重发
ICMP协议:用于发送异常,当数据包未能到达主机时
ARP:用于解析物理地址
4.传输层:建立连接通信
TCP:面向有链接的传输协议,能够保证数据可达,能处理异常情况,但是收发包次数太多不利于音视频会议
UDP:面向无连接传输协议,不可保证数据可达,应用广泛
5.应用层
这里的应用层已经包含了表示层和会话层的功能,这里的协议比较多针对不同的应用不同的传输内容会有不同的协议,常用的HTTP协议适用于浏览器和服务器之间的通信传输内容主要为HTML
下面详细介绍一下数据包的传送和接收

Paste_Image.png

数据包的首部都会包含发送目标地址和协议相关信息
1.发送数据包:
应用程序处理:这里包括编码和建立连接,也就是表示层的功能
TCP模块处理:建立连接,会话层功能。在数据前面加上TCP首部(包括了源端口号和目标端口号)
IP模处理:加上IP首部(IP地址)
网络接口处理:加上以太网首部(包含MAC地址和以太网协议信息)

Paste_Image.png

2.经过数据链路层的包

Paste_Image.png

每个包的首部都包含两个信息一个是接收端和发送端的地址一个是上一层的协议类型
3.数据包的接受处理
网络接口层:先通过Mac地址判断是不是给自己的包,如果是就通过以太网的首部分析它的上一层是什么协议然后交给相应的程序进行解析
IP模块处理:
通过IP地址判断是否是给自己的包,然后分析上一层协议,交给程序处理
TCP模块:
先校验数据是否准确,然后检查序号,交给相应的应用程序
应用程序:正确接收以后会发送回执到发送端,反之发送异常。
感兴趣的同学可以关注一下我的微信公众号,或者微信搜索 开发 Android的小学生

qrcode_for_gh_c686d73be7e1_430.jpg

相关文章

  • OSI模型和TCP/IP分层协议

    1.OSI模型与TCP/IP分层协议 OSI参考模型 TCP/IP 分层 数据格式协议 应用层 ...

  • Java网络编程基础(BIO)

    [TOC] TCP/IP协议分层模型 TCP/IP分层模型 下层提供接口供上层使用,为上层服务。 Socket简述...

  • TCP/IP

    一、分层 TCP/IP协议即传输控制协议/因特网互联协议,从协议分层模型方面来讲,TCP/IP由四个层次组成:网络...

  • TCP HTTPS专题

    TCP HTTPS专题 TCP协议 TCP/IP协议分层 TCP/IP 协议族里重要的一点就是分层。 TCP/IP...

  • HTTP和HTTPS详解

    TCP/IP协议族 TCP/IP 的分层管理 TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次...

  • TCP协议

    TCP/IP协议分层详解TCP/IP协议详解通俗易懂网络协议(TCP/IP概述)什么是TCP/IP协议?

  • OSI模型和TCP/IP协议簇

    开放系统互连(Open System Interconnection)模型 TCP/IP协议簇 协议分层: 当通信...

  • 003.TCP/IP分层模型

    TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Laye...

  • TCP/IP

    TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Laye...

  • 2018-10-12 Day34 - Linux02

    计算机网络分层架构模型Internet --- TCP/IP协议族TCP --- Transfer Control...

网友评论

    本文标题:TCP/IP协议分层模型

    本文链接:https://www.haomeiwen.com/subject/rtgcpxtx.html