• 【面试备战章】计网基础篇·1 TCP/IP网络模型


    被时间推着走emmm~~入cs有点晚了现在才1年,才意识到还是没好好把握这一年只做好了课内,远远不够,没办法只能现在捉紧恶补。听师兄建议入坑小林coding,下文所写也参考该位文章。真的超级干货大爱,这里自己整理笔记复习罢了。emmm计网上学期没好好学,合理是应该刷王道,我个庸才被跳级学的算法和计系2的实验就折磨到分身乏术hhhh。现在捡捡,该背背,顺带我整理点小问题自我复习吧。

    目录

    TCP/IP网络模型

    应用层

    传输层

    TCP传输控制协议(Transmission Control Protocol)

    UDP

    网络层

     IP 协议(Internet Protocol)

    寻址——区别设备:IP地址

    路由

     网络接口层(Link Layer)

    以太网

    TCP/IP网络模型

    课内和考研貌似结合实际TCP/IP模型和七层模型归纳出的5层模型,这里再重新好好看看实际的4层模型吧。自顶而下如下:(Layer)【可以统称数据包】

    应用层

    应用软件(HTTP【消息或报文(message)】、FTP、Telnet、DNS、SMTP),通信时数据包会下传给传输层(为应用层提供网络服务)。传输不关他的事。用户态(其他为内核态)。

    传输层

    传输协议:TCP、UDP。

    TCP传输控制协议(Transmission Control Protocol

    大部分应用如HTTP应用层协议。

    比UDP优点:流量控制、超时重传、拥塞控制——保证数据包能可靠地传输给对方。

    UDP

    简单发送数据包,不保证抵达,实时性好,传输效率高。若想实现可靠传输需要将TCP特性在应用层实现,实现商用非易事。

    应用需要传输的数据过大(超过MSS——TCP最大报文段长度)时直接传输不好控制=>数据包分块(损坏时只需重发分块):【TCP段(TCP Segment)】。

    区分应用:端口(传输层报文携带)。通常Web:80,远程登录服务器:22。浏览器客户端每个标签是独立进程,操作系统分配临时端口号。

    网络层

    具体设备间传输也不是传输层负责,实际网络复杂,涉及路径和节点选择,这些由应用层控制。

     IP 协议(Internet Protocol

    传输层的报文是其数据部分,加上IP报头=>IP报文,其大小超过MTU(以太网通常1500字节)

    就分片。协议包括寻址(导航)和路由(操纵方向盘)。【包(packet)】

      图片转载自小林coding

    寻址——区别设备:IP地址

    IPv4:32位,网络号(子网),主机号(子网下主机)。子网掩码计算(&)。广播地址。在网络掩码“位格式”也被称为CIRD格式(CIDR=无类别域间路由选择)。

    路由

    网络设备有网关、路由器、交换机等,需要路由算法。需要把数据包转发到对应子网。

     图片转载自 小林coding

     网络接口层(Link Layer

    这个就和课内抽象的5层协议不同,但他的名字更好理解,毕竟在网络里嘛。再加MAC头部=>数据帧(Data frame)。

    以太网

    组成部分:如电脑以太网接口、Wi-Fi接口、以太网交换机、路由器千/万兆以太网口、网线等。

    在局域网内,连接附近设备使其通讯的技术。它不用IP而是MAC地址,在链路级别,工作在网卡。

     图片转载自小林coding

    问题整理:

    1. TCP/IP网络模型?各层报文形式及封装过程?那些层是用户态?那些层是内核态?
    2. 应用软件在哪层实现?
    3. 列举几个应用层的协议(应用功能)。
    4. 应用层是否关心数据如何传输?
    5. 哪一层为应用层提供网络服务?
    6. 传输层有那几个传输协议?哪个较多应用使用?举例。各自优点?
    7. UDP可以实现可靠传输吗?展开。
    8. 应用层数据过大可以直接传输吗?为什么?MSS是什么?
    9. 收发数据如何区分应用?
    10. Web、远程登录服务器、浏览器客户端端口号?端口号如何告知接收方?
    11. 传输层负责具体设备间传输对吗?为什么?
    12. 网络层最常用协议?其组成?
    13. 分块和分片?
    14. MTU?通常多大?
    15. 如何区分设备?详细说明。
    16. 子网掩码和广播地址是什么?
    17. CIDR是什么?详细说明。
    18. 举例网络设备。
    19. 网络接口层如何封装数据?
    20. 以太网是什么?其识别设备方式?工作在哪个级别?
  • 相关阅读:
    c语言学习——2——占位符、数据类型、查看占多少字节
    深入了解 Bat 脚本:简单而强大的自动化工具——进阶版
    【数据结构初阶】图文详解10道力扣链表OJ题
    js题解(四)
    如何使用闲置的云服务器搭建一个属于自己的私人云网盘(可道云kodbox)
    【面试题】js 判断数组中是否有某个值
    【matplotlib基础】--结合地图
    redis(10)事务和锁机制
    基于C#和三菱PLC通过MX Component进行通信的具体方法
    【Python基础之函数:二分法、三元表达式、生成/推导式、匿名函数、内置函数】
  • 原文地址:https://blog.csdn.net/weixin_51695846/article/details/126203342