协议层

物理层

包括有线(网线)和无线(wifi)

电平的高低表示bit1和bit0

ethernet link up/down,指物理层是否通路,通路则ethernet status是link up,开路则link down

master和slave也是物理层的划分

数据链路层

网络消息在网络层经过不同局域网转发处理后,到达目的主机所在的局域网时,根据目的IP地址获取目标MAC地址后,数据包交由数据链路层处理,链路层根据目的MAC地址,通过交换机转发到对应的端口,发给端口另一侧的主机

MAC地址,就是网卡的物理地址

数据链路层实现同一网络内主机的通信,方式:根据MAC地址交由交换机转发

交换机,数据链路层的设备,只能处理数据链路层首部的信息,只转发不处理

网络层

如果源主机和目的主机处于不同网络中,网络消息从源主机发出后,必须在网络层,根据目的IP地址,经由不同的路由器做转发处理,实现跨网络传输

IP地址,网络层主机地址,由网络地址+主机地址组成

网络层实现不同网络间的数据传输,方式:根据目的IP地址交由路由器转发和处理

路由器,网络层设备,可以处理网络层首部的信息,可以转发可以处理,也有交换机的功能

传输层

数据在主机内需要交给对应的子进程接收处理,根据目的端口号通知对应的子进程接收

端口号,传输层概念,与子进程PID绑定

传输层实现不同进程(应用)的数据处理,方式:根据目的端口绑定的PID(进程ID),通知对应的进程接收处理

应用层

会话层,表示层,应用层,可以统称为应用层

它们都是在应用中的协议,而数据链路层,网络层和传输层是在系统中的协议


各协议层功能


各协议层所处位置


封装与解封装

封装

  • 应用层

应用程序(app)把应用层协议内容以应用层首部的形式封装成数据data,从应用层送给传输层

  • 传输层

收到应用层的数据data,把data作为传输层的payload(有效数据),把传输层协议内容(tcp/udp,scrPort,dstPort(和目标程序的子进程绑定)等)以传输层首部transHeader的形式,添加到传输层的payload前面,封装成transHeader+data,送给网络层

  • 网络层

收到传输层数据transportHeader+data,把transportHeader+data作为网络层的payload,把网络层协议内容(ipv4/ipv6,scrIP,dstIP,protocol(表明上层传输层的类型tcp/udp)等)以网络层首部ipHeader的形式,添加到网络层的payload前面,封装成ipHeader+transHeader+data,送给数据链路层

  • 数据链路层

收到网络层数据ipHeader+transHeader+data,把ipHeader+transHeader+data作为数据链路层的payload,把链路层协议内容(scrMac,dstMac,type(表明上层网络层的类型arp/ipv4/ipv6)等)以链路层首部macHeader的形式,添加到链路层的payload前面,封装成macHeader+ipHeader+transHeader+data,通过网卡发到物理层上

解封装

  • 数据链路层

网卡从物理层上接收数据macHeader+ipHeader+transHeader+data,在链路层解封装链路层首部macHeader,找到dstMac,和自己的mac地址判断是否相同,不同则丢弃,相同说明是发给自己的包,根据type通知网络层的正确的子程序(arp/ipv4/ipv6)来取链路层的payload,即ipHeader+transHeader+data

  • 网络层

网络层子程序取到数据后,解封装网络层首部ipHeader,匹配dstIP和自己的IP地址,不同则丢弃,一致则根据protocol通知传输层的正确的子程序(tcp/udp)来取网络层的payload,即transHeader+data

  • 传输层

传输层子程序取到数据后,解封装传输层首部transHeader,首先会计算校验和checksum,错误则丢弃,正确则根据dstPort通知绑定的子进程来取传输层的payload,即data

  • 应用层

子进程取到数据后,交给对应的目标应用程序处理


报文结构


数据在各协议层的叫法


更多内容,请关注汽车网络诊断通信

TCP/IP协议都有哪几层协议相关推荐

  1. TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...

  2. 《图解TCP/IP》笔记(十四)传输层两大协议TCP和UDP

    前言:这是我<图解TCP/IP>笔记系列最后一篇(咕咕咕了将近两个月hh),TCP UDP其实面试的时候经常问到! 目录 传输层的定义: TCP与UDP对比 端口号 通信识别: 确定端口号 ...

  3. 【TCP/IP】TCP/IP 四层分别有哪些协议|OSI四层/五层/七层协议

    五层协议模型 应用层:http dns TFTP .Telnet .FTP.SMTP.NFS.Rlogin. SNMP(UDP)-- 传输层:TCP.UDP 网络层: ICMP(ping tracer ...

  4. TCP/IP四层模型与OSI七层参考模型(网络协议)

    TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型 ①. 物理层 ②. 数据链路层 ③. 网络层 ④. 传输层 ⑤. 会话层 ⑥. 表示层 ⑦. 应用层 二. TCP/IP模型 ①. ...

  5. TCP/IP四层模型与OSI七层模型

    0. 前言 TCP/IP协议族(TCP/IP Protocol Suite),简称TCP/IP. 该协议族的两个核心协议为:TCP(传输控制协议,Transmission Control Protoc ...

  6. 【转】:TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute 分类:            TCP/IP详解学习笔记计算机网络2006-04-20 18:147970人阅读评论(1)收 ...

  7. 【计算机网络】TCP/IP四层模型和OSI七层模型

    文章目录 一.TCP/IP四层模型和OSI七层模型关系 二.TCP/IP四层模型 三.OSI七层模型 四.GET和POST的区别 五.从输入网址到页面展示的过程 六.详细过程 一.TCP/IP四层模型 ...

  8. 读懂TCP IP四层模型与OSI七层模型

    目录 一.OSI七层模型 二.TCP/IP四层模型 三.OSI模型的七层解读 3.1 OSI七层模型小结 3.2 TCP/IP模型与OSI模型的对应关系 四.常见的网络相关协议 五.TCP和UDP协议 ...

  9. TCP/IP四层模型和OSI七层模型

    TCP/IP四层模型和OSI七层模型对应表.我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类.     表1-1  TCP/IP四层模型和OSI七层模型对应表 ...

  10. 读书笔记五:TCP/IP详解之RARP逆地址解析协议

    RARP的介绍 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址,而对于无盘机,则需要用RARP来获取IP地址. 已知mac地址,获取该物理地址的ip地址.无盘系统获取ip地址就是采用 ...

最新文章

  1. (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
  2. python可以写桌面软件吗-Python学习,给自己的代码做个合集,定制自己的桌面软件!...
  3. 大道至简第三章读后感
  4. 搜索重复代码_通过MappedByteBuffer搜索大文件
  5. sparksql(2)——dataframe的ap-printSchema、withColum、count、drop、describe、select
  6. P6348 [PA2011]Journeys 线段树优化建图 区间连区间
  7. 使用python将excel数据导入数据库
  8. anki 插入表格_Anki+思维导图的两种方法(Anki+表格,Anki+幕布)
  9. 巡查准确率怎么算_【达睿原创】需求预测准确率,你怎么看 ?
  10. 【java学习之路】(java SE篇)(练习)常用类和异常的简单练习
  11. Android7.0以上增加(/system/lib/libtest.so)系统库文件
  12. 常用jar包之commons-collection使用
  13. Atitit 人员级别评定法 目录 1.1. 十级评定法1--10 vs 年级评定法 1 1.2. 工龄评定 职级 岗位级别 1 2. 修订系数 学历*授课+绩效 1 3. 计算方法 1
  14. 孔浩老师的CMS项目源码部署问题
  15. 印刷文字的字体与字号规定
  16. AS4120原厂单节 2A 开关型锂离子电池充电芯片
  17. VMware Fusion Player 个人免费版
  18. 戴尔电脑开机卡logo无法开机问题及解决办法
  19. Hadoop HA架构图
  20. 全新造型游戏耳机再出发—极度未知HyperX 毒刺2 灵动版游戏耳机

热门文章

  1. 学习java能干什么?学习java能做哪些工作?
  2. python 随机生成电话号码、密码、用户名
  3. Docker安装详细安装步骤
  4. draw.io箭头设置虚线
  5. Rabbitmq Plugin configuration unchanged. 问题完全解决方案
  6. python实现分层随机抽样算法_python分层随机抽样
  7. excel下拉列表多选框_将列表框添加到Excel工作表
  8. 网页音乐视频不让下载怎么办
  9. L1-078 吉老师的回归 (15 分)
  10. 4个关键,如何清晰的做好数据分析