TCP/IP协议都有哪几层协议
协议层
物理层
包括有线(网线)和无线(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协议都有哪几层协议相关推荐
- TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...
- 《图解TCP/IP》笔记(十四)传输层两大协议TCP和UDP
前言:这是我<图解TCP/IP>笔记系列最后一篇(咕咕咕了将近两个月hh),TCP UDP其实面试的时候经常问到! 目录 传输层的定义: TCP与UDP对比 端口号 通信识别: 确定端口号 ...
- 【TCP/IP】TCP/IP 四层分别有哪些协议|OSI四层/五层/七层协议
五层协议模型 应用层:http dns TFTP .Telnet .FTP.SMTP.NFS.Rlogin. SNMP(UDP)-- 传输层:TCP.UDP 网络层: ICMP(ping tracer ...
- TCP/IP四层模型与OSI七层参考模型(网络协议)
TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型 ①. 物理层 ②. 数据链路层 ③. 网络层 ④. 传输层 ⑤. 会话层 ⑥. 表示层 ⑦. 应用层 二. TCP/IP模型 ①. ...
- TCP/IP四层模型与OSI七层模型
0. 前言 TCP/IP协议族(TCP/IP Protocol Suite),简称TCP/IP. 该协议族的两个核心协议为:TCP(传输控制协议,Transmission Control Protoc ...
- 【转】:TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute 分类: TCP/IP详解学习笔记计算机网络2006-04-20 18:147970人阅读评论(1)收 ...
- 【计算机网络】TCP/IP四层模型和OSI七层模型
文章目录 一.TCP/IP四层模型和OSI七层模型关系 二.TCP/IP四层模型 三.OSI七层模型 四.GET和POST的区别 五.从输入网址到页面展示的过程 六.详细过程 一.TCP/IP四层模型 ...
- 读懂TCP IP四层模型与OSI七层模型
目录 一.OSI七层模型 二.TCP/IP四层模型 三.OSI模型的七层解读 3.1 OSI七层模型小结 3.2 TCP/IP模型与OSI模型的对应关系 四.常见的网络相关协议 五.TCP和UDP协议 ...
- TCP/IP四层模型和OSI七层模型
TCP/IP四层模型和OSI七层模型对应表.我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类. 表1-1 TCP/IP四层模型和OSI七层模型对应表 ...
- 读书笔记五:TCP/IP详解之RARP逆地址解析协议
RARP的介绍 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址,而对于无盘机,则需要用RARP来获取IP地址. 已知mac地址,获取该物理地址的ip地址.无盘系统获取ip地址就是采用 ...
最新文章
- (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
- python可以写桌面软件吗-Python学习,给自己的代码做个合集,定制自己的桌面软件!...
- 大道至简第三章读后感
- 搜索重复代码_通过MappedByteBuffer搜索大文件
- sparksql(2)——dataframe的ap-printSchema、withColum、count、drop、describe、select
- P6348 [PA2011]Journeys 线段树优化建图 区间连区间
- 使用python将excel数据导入数据库
- anki 插入表格_Anki+思维导图的两种方法(Anki+表格,Anki+幕布)
- 巡查准确率怎么算_【达睿原创】需求预测准确率,你怎么看 ?
- 【java学习之路】(java SE篇)(练习)常用类和异常的简单练习
- Android7.0以上增加(/system/lib/libtest.so)系统库文件
- 常用jar包之commons-collection使用
- Atitit 人员级别评定法 目录 1.1. 十级评定法1--10 vs 年级评定法	1 1.2. 工龄评定 职级 岗位级别	1 2. 修订系数 学历*授课+绩效	1 3. 计算方法	1
- 孔浩老师的CMS项目源码部署问题
- 印刷文字的字体与字号规定
- AS4120原厂单节 2A 开关型锂离子电池充电芯片
- VMware Fusion Player 个人免费版
- 戴尔电脑开机卡logo无法开机问题及解决办法
- Hadoop HA架构图
- 全新造型游戏耳机再出发—极度未知HyperX 毒刺2 灵动版游戏耳机