TCP/IP协议的工作流程
2024-09-04 23:31:09
1.在源主机上,应用层将一串应用数据流向下传输给传输层
2.传输层将应用数据截流成分组,并加上TCP报头形成TCP段,向下递交给网络层
3.在网络层给TCP段加上包括源主机,目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包向下递交给链路层
4.链路层在其MAC帧的数据部分装上IP数据包,再加上源主机,目的主机的MAC地址和帧头,并根据其目的的MAC地址,将MAC帧发往目的主机或IP路由器
5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包向上递交给网络层
6.网络层检查IP报头,如果报头中校验和计算结果不一致,则丢弃该IP数据包,若校验和计算结果一致,则去掉IP报头,将TCP段向上递交给传输层
7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据,若正确,则向源主机发送确认信息,若不正确或丢包,则向源主机要求重发信息
8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序,这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样
最新文章
- JavaScript之数组方法整理
- Entity Framework 基于方法的查询语法
- dede使用方法---用js让当前导航高亮显示
- Spring JdbcTemplate 的使用与学习(转)
- jq 选择器
- Spark on Yarn 架构解析
- 设置lable文本内容的行间距
- DOS命令关闭进程
- [转]LoadRunner脚本录制常见问题整理
- .net面试总结
- Nginx安装及配置虚拟主机
- 自设table表格,获取内容,并经弹出框的url传参,获取结果显示在弹出框,并加载合计
- mysql group by using filesort优化
- Linux基础学习笔记3-用户权限
- C#常用加密方法
- mysql locking
- [UE4][Canvas]用C++代码绘制血条(HealthBar)
- Nginx 功能
- c# action<;>; func<;>; 这2个委托怎么用和理解
- react canvas
热门文章
- 使用vue-cli3搭建项目过程
- LeetCode 1060. Missing Element in Sorted Array
- LeetCode 708. Insert into a Cyclic Sorted List
- (尚023)Vue_案例_交互添加
- WinDbg常用命令系列---显示引用的内存(dda、ddp、ddu、dpa、dpp、dpu、dqa、dqp、dqu)
- chef test-kitchen Could not load the &#39;vagrant&#39; driver from the load path 问题解决
- 微信小程序轮播组件
- vscode快捷键,让你脱离鼠标,敲代码嗖嗖的
- JVM内存的划分
- 东软HIS系统_打印发票提示“打印机报错!对访问XXX的设置无效”解决办法