当前位置: 首页 > 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.lryc.cn/news/623829.html

相关文章:

  • Matlab数字信号处理——基于最小均方误差(MMSE)估计的自适应脉冲压缩算法复现
  • ThinkPHP8学习篇(三):控制器
  • 7.Ansible自动化之-实施任务控制
  • 最优化:建模、算法与理论|02 Optimization Modeling and Typical Examples(1)
  • [优选算法专题二滑动窗口——将x减到0的最小操作数]
  • 【adb端口5555】烽火hg680-gy_烽火hg680-gc安卓9线刷烧录包 解决用一段时间就提示升级的问题
  • Shell脚本-for循环语法结构
  • 【前端基础】19、CSS的flex布局
  • 蓝凌EKP产品:JSP 性能优化和 JSTL/EL要点检查列表
  • rt-thread audio框架移植stm32 adc+dac,用wavplayer录音和播放
  • 【从零开始学习Redis】项目实战-黑马点评D2
  • scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读
  • Windows_Server软件定义网络架构
  • 【Linux系列】如何在 Linux 服务器上快速获取公网
  • 每日两道算法题:DAY3
  • uniappx 安卓端本地打包的一些总结
  • 【位运算】查询子数组最大异或值|2693
  • CNV检测--单细胞空间vs基因组WGS/WES
  • AutoSar BSW介绍
  • 《Nursing Research》(护理 SCI)LaTeX 模板详细教程:从入门到投稿(二)
  • http工作流程
  • 数据电台询价的询价要求
  • 数据链路层(1)
  • FX10/20 (CYUSB401X)开发笔记5 固件架构
  • 基于Netty的高并发WebSocket连接管理与性能优化实践指南
  • prototype 和 _ _ proto _ _的关联
  • multiboot 规范实践分析
  • 交叉编译 手动安装 SQLite 库 移植ARM
  • Python数据分析案例82——基于机器学习的航空公司满意度分析
  • 攻防世界—unseping(反序列化)