面试突击67:说一下 TCP/IP 协议?以及每层的作用?

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
.cn 域名,1个 12个月
简介: 面试突击67:说一下 TCP/IP 协议?以及每层的作用?

TCP/IP 包含四层模型,从上层往下层分别是:应用层、传输层、网络层、数据链路层。有些资料也会说 TCP/IP 是五层模型,所谓的五层模型指的是在数据链路层下面还有一个物理层,而作为软件工程师一般不需要关注物理层,所以通常我们说 TCP/IP 四层模型更多一些。

1.应用层

应用层的作用是负责应用程序间的数据通讯的。 不同的网络应用需要不同的应用层协议,比如电子邮件传输 SMTP 协议、文件传输 FTP 协议、网络远程访问 Telnet 协议等等。

常见协议

应用层的常见协议有以下两个:

  • DNS 域名解析协议(Domain Name System,域名系统),DNS 是将域名和 IP 做一个映射,因为在程序间通讯依靠的是 IP,但 IP 地址不方便记忆,而域名方便记忆,所以将二者作为一个 key-value 映射在一起,这样知道了域名置换就能找对与之相对应的 IP 了,这样既能方便用户记忆,同时又能满足程序间的数据通讯。
  • HTTP 协议(HyperText Transfer Protocol,超文本传输协议),互联网上应用最为广泛的一种网络协议。所有的 WWW(万维网) 文件都必须遵守这个标准。

2.传输层

传输层的主要作用是负责两台主机间的数据传输的。 如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。

注意:应用层和传输层描述的主体对象是不同的,应用层描述的主体是“应用程序间”,而传输层描述的主体是“两台主机间”。其中,一个主机可以包含多个应用程序,所以二者是不同的。

常见协议

传输层的常见协议有以下两个:

  • TCP 协议(Transmission Control Protocol,传输控制协议):提供了稳定的、需要连接的、面向字节流的协议。
  • UDP 协议(User Datagram Protocol,用户数据协议):提供了无连接的、不稳定的、面向数据报的协议。

3.网络层

网络层的作用是负责网络上的地址管理和路由选择的。 在数据通讯时,可以选择很多条路径(抵达目的地的),比如从西安到北京,可以选择先从西安 -> 太原 -> 北京,也可以选择从西安 -> 郑州 -> 石家庄 -> 北京,还可以选择从西安 -> 延安 -> 呼和浩特 -> 张家口 -> 北京,究竟选择那一条路呢?这就是网络层负责的。

4.数据链路层

数据链路层的作用是负责设备之间的数据帧的传送和识别的。 数据在传输时需要经过多个设备进行数据传输,而数据链路层就是负责相邻设备间的数据传输和识别的。
数据链路层可以完全消除网络层和物理层之间的不同,将数据在链路层进行有效的识别和传输。

5.物理层(可选)

物理层的作用是负责将数据转换成信号,再将信号转换为数据的。 转换方法因通讯媒体不同而不同,所以没有特定的协议。

总结

TCP/IP 包含了五层(或四层)模型,从上层往下层分别是:

  • 应用层:负责应用程序间的数据通讯。
  • 传输层:负责两台主机之间的数据传输。
  • 网络层:负责网络地址的管理和路由选择。
  • 数据链路层:负责设备之间的数据帧的传送和识别。
  • 物理层(可选):负责数据和信号间的转换。
是非审之于己,毁誉听之于人,得失安之于数。

公众号:Java面试真题解析

面试合集:https://gitee.com/mydb/interview

相关文章
|
2月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
50 4
|
2月前
|
移动开发 网络协议 安全
网络面试题:什么是 TCP/IP?
网络面试题:什么是 TCP/IP?
64 0
网络面试题:什么是 TCP/IP?
|
2月前
|
自然语言处理 Dubbo Java
【面试问题】Dubbo 推荐用什么协议?
【1月更文挑战第27天】【面试问题】Dubbo 推荐用什么协议?
|
2月前
|
存储 缓存 负载均衡
【面试问题】Memcached 是什么,有什么作用?
【1月更文挑战第27天】【面试问题】Memcached 是什么,有什么作用?
|
2月前
|
数据采集 JSON 数据挖掘
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
|
3天前
|
消息中间件 Kafka 程序员
Kafka面试必备:深度解析Replica副本的作用与机制
**Kafka的Replica副本是保证数据可靠性的关键机制。每个Partition有Leader和Follower副本,Leader处理读写请求及管理同步,Follower被动同步并准备成为新Leader。从Kafka 2.4开始,Follower在完全同步时也可提供读服务,提升性能。数据一致性通过高水位机制和Leader Epoch机制保证,后者更精确地判断和恢复数据一致性,增强系统容错能力。**
9 1
|
20天前
|
监控 网络协议 安全
TCP和UDP面试题提问
TCP是一种面向连接、可靠的协议,提供确认和重传机制,确保数据完整性和可靠性,适合网页浏览、邮件收发等。UDP则是无连接、轻量级协议,不保证数据可靠性,但适合实时应用如语音视频通话和在线游戏,追求低延迟。
|
2月前
|
网络协议 安全 网络安全
网络 (TCP/IP 四层协议中常见网络协议)
网络 (TCP/IP 四层协议中常见网络协议)
50 7
|
2月前
|
网络协议 程序员 网络架构
最全OSPF路由协议基础(OSPF基本配置),2024年最新Python高级面试
最全OSPF路由协议基础(OSPF基本配置),2024年最新Python高级面试
最全OSPF路由协议基础(OSPF基本配置),2024年最新Python高级面试
|
2月前
|
程序员 开发工具 Python
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗