• 说一下 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 包含了五层(或四层)模型,从上层往下层分别是:

    • 应用层:负责应用程序间的数据通讯。
    • 传输层:负责两台主机之间的数据传输。
    • 网络层:负责网络地址的管理和路由选择。
    • 数据链路层:负责设备之间的数据帧的传送和识别。
    • 物理层(可选):负责数据和信号间的转换。
  • 相关阅读:
    国密SSL证书保障网站安全
    Mybatis的知识补充
    对比学习孪生网络之简单的手写数字集代码实战
    SPA项目之主页面--Mock.js以及组件通信(总线)的运用
    文心一言(ERNIE Bot)初体验
    SpringCloud&Eureka理论与入门
    【数据库系统概论】关系数据库中的关系完整性
    服装连锁店管理系统 服装连锁店如何高效管理 服装连锁店管理怎么走捷径
    MySQL——排序查询
    Unity中Shader不同灯光类型的支持与区分
  • 原文地址:https://blog.csdn.net/weixin_72753070/article/details/126033556