当前位置: 首页 > news >正文

【计算机网络面试】TCP/IP网络模型有哪几层

参考:
2.1 TCP/IP 网络模型有哪几层? | 小林coding | Java面试学习

以下为自己做的笔记

应用层

专注于为用户提供应用功能,如HTTP、FTP、Telnet、DNS、SMTP等。应用层不关心用户是怎么传输的,当两个设备间的应用需要通信时,应用就把数据传给传输层。

应用层工作在操作系统的用户态,传输层及以下工作在内核态。

传输层

应用层的包传给传输层,传输层是为应用层提供网络支持的。

在传输层有两个协议,TCP和UDP。

TCP全称传输控制协议。TCP比UDP多了很多特性,如:流量控制、超时重传、拥塞控制,这些都是为了数据包更可靠传给对方。

UDP不保证可靠性,但实时性好传输效率高。

太大要分块,丢包只需要重传一个。

数据包到达目的地时,传输层将数据包给应用层时,因为可能有很多个应用在收发数据,要将这些应用区分开来,就是利用端口

网络层

我们不希望传输层做太多事情,他只要服务好应用层就可以了。实际在错综复杂的网络中找路的工作交给下一层,网络层。

最常用的是IP协议,IP协议将传输层的报文作为数据部分,再加上IP包头组成IP报文。超过MTU要分片。

除了寻址能力,IP协议还有一个重要的能力是路由。两台设备并不是用两条网线连接的,而是通过很多网关、路由器、交换机等众多网络设备连接的,当数据包到达一个节点是,需要用路由算法决定下一步去哪。

寻址是告诉我们往哪个目的地走,路由是找路。

网络接口层

加了IP头部以后,接下来交给网络接口层,在IP头部前面加上MAC头部,并封装成数据帧发送到网络上。

以太网在判断目的地时与IP的方式不同,必须用相匹配的方式,MAC地址就是干这个用的。MAC头部包含了接收方和发送方的MAC地址信息。可以通过ARP协议获取对方的MAC地址。

网络接口层负责在以太网这样的底层网络上传输,工作在网卡这个层次,使用MAC地址标识网络上的设备。

每一层的封装格式:

http://www.dtcms.com/a/336067.html

相关文章:

  • Python中f - 字符串(f-string)
  • 软考 系统架构设计师系列知识点之杂项集萃(127)
  • 第2章 高并发IO的底层原理
  • 数据结构:二叉搜索树(Binary Search Tree)
  • 【Android】Activity创建、显式和隐式跳转、清单文件声明
  • Pytorch模型复现笔记-VGG讲解+架构搭建(可直接copy运行)+冒烟测试
  • MLArena:一款不错的AutoML工具介绍
  • 【股票数据API接口33】如何获取股票所属指数数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • PCA 实现多向量压缩:首个主成分的深层意义
  • JZ57 和为S的两个数字
  • Traefik网关DNS解析超时问题优化
  • Agent开发进阶路线:从基础响应到自主决策的架构演进
  • C++类型转换详解:从C风格到C++风格
  • 如何理解事件循环和JS的异步?
  • LintCode第137-克隆图
  • PostgreSQL导入mimic4
  • SQL详细语法教程(四)约束和多表查询
  • C语言相关简单数据结构:双向链表
  • Rust Async 异步编程(五):执行器和系统 I/O
  • Effective C++ 条款47: 使用traits classes表现类型信息
  • 基于强化学习的柔性机器人控制研究
  • 【大模型微调系列-07】Qwen3全参数微调实战
  • 关于虾的智能养殖系统的开发与实现(LW+源码+讲解+部署)
  • 【LeetCode题解】LeetCode 33. 搜索旋转排序数组
  • 详解flink java基础(一)
  • 嵌入式软件--->任务间通信
  • 【C++知识杂记1】智能指针及其分类
  • 05-实施任务控制
  • open Stack及VM虚拟机和其他平台虚拟机迁移至 VMware vSphere(esxi)虚拟化平台骨灰级后台磁盘替换法迁移方式
  • Maven依赖范围