面试java计算机网络的知识点

2023-11-02

  1. 七层架构:
    物理层-数据链路层-网络层-传输层-会话层-表达层-应用层
    第七层 应用层:提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3等。
    第六层表达层:把数据转化为能与接收者的系统格式兼容并适合传输的格式。
    第五层会话层:负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。
    第四层传输层:把传输表头加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议TCP、UDP、TLS、RTP、SCTP等。
    第三层网络层:决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组,网络表头包含了网络数据。例如:互联网协议(IP)、ICMP、BGP等。
    第二层数据链路层:负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾是一串指示数据包末端的字符串。例如以太网、无线局域网和通用分组无线服务等。分为两个子层:逻辑链路控制子层和介质访问控制子层。
    第一层物理层:在局部局域网上传送数据帧,他负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。
    备注: 运行在TCP协议上的协议:

        HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
        HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
        FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
        POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
        SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
        TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
        SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
    

    运行在UDP协议上的协议:

        BOOTP(Boot Protocol,启动协议),应用于无盘设备。
        NTP(Network Time Protocol,网络时间协议),用于网络同步。
        DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
    

    其他:

        DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
        ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
        SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
        ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
    
  2. TCP/IP协议的三次握手与四次挥手
    三次握手:建立TCP连接,是指建立一个TCP连接时,需要客户端和服务器端总共发三个包已确认建立连接。在连接创建的过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强壮性。通常是由一端打开一个套接字【socket】然后监听来自另一方的连接,这就是通常所指的被动打开。服务器被动打开以后,用户端就能开始创建主动打开。
    第一步:客户端通过向服务器端发送一个SYN(同步序列编号)来创建一个主动打开,作为三次握手的第一步。客户端把这段连接的序号设为随机数A。
    第二步:服务器端应当为一个合法的SYN回送一个SYN/ACK (确认字符)。ACK的确认码应该是A+1,SYN/ACK 包本身又是一个随机产生的序号B。
    第三步:最后客户端再发送一个ACK。当服务器收到这个ACK的时候就完成了三次握手,并进入了连接创建状态。此时包的序号被设定为收到的确认信号A+1,而响应号为B+1。三次握手
    四次挥手:即终止TCP连接,在这个过程中连接的每一侧的连接,就向对侧发送FIN(表示关闭连接),对侧回复ACK表示确认。因此拆掉一侧连接过程需要一队FIN和ACK分别由两侧端点发出。四次挥手

  3. 拥塞控制:是根据发送方网络的承载情况控制分组的发送量,以获取高性能又能避免拥塞崩溃。发送方与接收方根据确认包或者包丢失的情况、以及定时器,估计网络拥塞情况,从而修改数据流的行为。四种算法:慢开始,拥塞避免,快速重传、快速恢复。

  4. IP分类以及IP地址范围
    分为A、B、C、D、E五类地址
    IP地址=网络地址+主机地址 (或 IP地址=主机地址+子网地址+主机地址。 )
    A类:1.0.0.0到126.255.255.255
    127为回环测试地址。
    B类:128.0.0.0到191.255.255.255
    C类:192.0.0.0到223.255.255.255
    D类:224.0.0.0到239.255.255.255
    E类:240.0.0.0到255.255.255.254

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试java计算机网络的知识点 的相关文章

  • OLED滚动显示

    少年 一 滚动显示介绍 1 1 具体介绍 1 2 水平滚动命令 1 3 垂直滚动命令 二 代码模块 三 显示效果 四 总结 五 参考资料 一 滚动显示介绍 1 1 具体介绍 SSD1306 OLED驱动芯片 指令详解 1 2 水平滚动命令

随机推荐

  • 普通二本,去过阿里外包,到现在年薪40W+的高级测试工程师,我的两年转行经历...

    我是一个普通二本大学机械专业毕业 14年毕业 16年转行 目前做IT行业的软件测试已经有3年多 职位是高级软件测试工程师 坐标上海 我想现在我也有一点资格谈论关于转行这个话题 希望你在决定转行之前 首先搞清楚转行是你内心热爱还是一时冲动 如
  • 解决pycharm连接mysql报错(DB Navigator-Connection error)

    在上一篇连接操作里 可能不是每个电脑都能一次成功 https blog csdn net forever up422 article details 122631096 spm 1001 2014 3001 5502 如果在最后测试一步出现
  • 【云原生之Docker实战】使用Docker部署BookStack文档管理系统

    云原生之Docker实战 使用Docker部署BookStack文档管理系统 一 BookStack介绍 1 BookStack简介 2 BookStack功能 二 检查本地docker环境 1 检查docker服务状态 2 检查docke
  • Java学习路线(超详细)

    目录 前言 1 学习Java基础知识 2 掌握面向对象编程 OOP 概念 3 熟悉Java集合框架 4 学习Java异常处理 5 学习Java IO 6 掌握Java多线程编程 7 学习Java网络编程 8 学习Java数据库编程 9 学习
  • Android 设置屏幕自动关闭时间

    Android 设置屏幕自动关闭时间 在Android设备上 屏幕的自动关闭时间是指手机在没有操作的情况下 屏幕自动关闭的时间间隔 默认情况下 Android设备的屏幕自动关闭时间为几分钟 但用户可以根据自己的需求进行修改 本文将介绍如何通
  • Linux·字符设备再分析

    Linux系统将设备分成字符设备 块设备 网络设备三类 用户程序调用硬件的过程如下 一 用户级 内核级和系统调用 Linux Unix系统下的进程运行分为用户态和进程态两种状态 我们的应用程序通常仅在用户态下运行 出于保护内核资源的需要 用
  • 安装cargo-generate各种坑【mac + wasm + rust 环境搭建】

    cargo install cargo generate 如果报openssl错误千万别再去装了 各种坑 这个cargo generate可以手动下载安装的 先贴上我的报错信息 run pkg config fail pkg config
  • Python队列Queue详解,超详细

    Queue queue模块简介 queue Queue maxsize 0 queue LifoQueue maxsize 0 queue PriorityQueue maxsize 0 queue SimpleQueue 3 7 新版功能
  • OpenHarmony3.2 beta4上照相机的使用之1--开启照相机预览画面

    随着OpenHarmony的版本更新 在3 2上已经提供了非常丰富的API来调用照相机 此处讲解的是原生的使用相机的流程 并发像Android普通应用开发一样通过一个intent直接调用系统相机应用进行拍照 根据原生的调用相机的API可以让
  • [FPGA中的最大与最小输入延迟]——如何优化输入延迟

    FPGA中的最大与最小输入延迟 如何优化输入延迟 在FPGA设计中 输入延迟是一个重要的考虑因素 输入延迟指的是从信号被输入到FPGA开始处理所需的时间 而FPGA中的最大与最小输入延迟是非常关键的两个参数 最小输入延迟 Minimum I
  • spring事务操作及mysql事务原理

    文章目录 1 事务概念 2 事务操作 搭建事务操作环境 3 事务操作 Spring事务管理介绍 4 事务操作 注解声明式事务管理 5 事务操作 声明式事务管理参数配置 6 事务操作 XML声明式事务管理 7 事务操作 完全注解声明式事务管理
  • 数据结构实验预习报告

    项目1 中国计算机设计大赛赛事统计 问题描述 参加计算机设计大赛的n个学校编号为1 n 赛事分成m个项目 项目的编号为1 m 比赛获奖按照得分降序 取前三名 写一个统计程序产生各种成绩单和得分报表 基本要求 1 每个比赛项目至少有10支参赛
  • mysql数据库表之间关系,一对一、一对多、多对多,多表查询

    多表查询分类 1内连接查询 加粗样式隐式内连接 SELECT t1 name t2 type from book t1 booktype t2 WHERE t1 type t2 tid 显示内连接 SELECT t1 namefrom bo
  • 魔方机器人之下位机编程-----两种串口通信方式的比较

    由于上位机软件的串口通信部分和魔方复原算法部分已经完成 接下来的一步就是如何将魔方复原的具体步骤 字符串的形式 通过串口发送给单片机MC9S12XS128单片机了 调试的过程中 采用了两种串口通信的方式 一种是查询的方式 另一种是中断的方式
  • Cargo更换国内源

    写个猜数字游戏 Rust 程序设计语言 简体中文版 按官网教程进行到引入 rand 0 8 3 后 进行cargo build后会很慢很慢且不稳定 随机更换源 本人MacOS 所以执行以下命令查看 cargo位置 echo HOME car
  • 使用 PCL 和 Python 进行三维点云边界提取

    使用 PCL 和 Python 进行三维点云边界提取 在三维点云处理中 边界提取是一个非常重要的技术 pclpy 是 PCL 的 Python 接口 它提供了一种简单方便的方式来实现三维点云边界提取 本文将介绍如何使用 pclpy 库实现三
  • Maven项目读取resources下文件

    网上有问答如下 问 new FileInputStream src main resources all properties new FileInputStream src main resources all properties 上面
  • 通过WSL2 Ubuntu18.04搭建CANN算子开发环境

    目录 通过WSL2 Ubuntu18 04搭建CANN算子开发环境 1 环境介绍 2 安装WSL2系统内核 2 1简易安装 2 2手动安装 3 安装系统依赖项 3 1替换软件源并进行升级 3 2安装CANN依赖项 4 安装CANN软件包 4
  • 【Git】git仓库的 .git 下各个目录注释

    解释 git 目录是Git版本控制系统的核心 它包含了Git所需要的所有信息 包括版本历史 分支 标签 配置等 下面是一些常见的 git 目录下的文件和目录的说明 HEAD 指向当前分支的最新提交 config 包含Git仓库的配置信息 d
  • 面试java计算机网络的知识点

    七层架构 物理层 数据链路层 网络层 传输层 会话层 表达层 应用层 第七层 应用层 提供为应用软件而设的接口 以设置与另一应用软件之间的通信 例如 HTTP HTTPS FTP TELNET SSH SMTP POP3等 第六层表达层 把