码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • OSI参考模型


    OSI:开放式系统互联

    上三层-控制层面

    • 应用层:接收用户的数据(eg:比如一个博客中的文字、图片等数据),面向应用程序
    • 表示层:把逻辑语言转换为机器语言(二进制),起到翻译的功能,它还可以进行加密
    • 会话层:针对传输的数据的多样性,为每一种传入的数据流量创建一个独立的虚拟通道,来避免它们互相干扰

    下四层-数据层面

    • 传输层:区分流量并定义传输方式给一个port

    (1)区分流量依据端口

    port(1~65535):

    静态端口(1~1023):每一种流量与指定的端口存在一一对应并绑定的关系,eg:HTTP~80、HTTPS~443、SSH~22、TELNET~23

    动态端口(1024~65535):每一种流量与指定端口存在一一对应的关系并无绑定关系

    (2)传输方式

    不可靠传输:不需要确保流量是否传递给对方,大流量、实时性较高、对数据丢失不敏感

    可靠传输:确认机制ACK、重传机制

    确认机制:显式确认(A给B发包B必须回复包表示确认收到了)和隐式确认(A给B发送了包B不需要回复包A默认B确认收到了)

    重排序:保证数据封装的完整性。

    TCP:面向连接的可靠传输协议

    UDP:非面向连接的不可靠传输协议

    PDU:协议到不同层的基本单元,上3层PDU叫message报文,4层PDU叫segment分片/分段,3层PDU叫packet包,2层PDU叫frame帧,1层PDU叫bit比特

    (3)思考

    📓为什么是65535?

    与编码有关,端口号标识时只预留了16个二进制转换为十进制为65535即2的16次方减1或者256的平方减1

    📓端口会用完吗?

    (转载)Tcp/IP 端口耗尽 - it610.com原文链接:http://msdn.microsoft.com/zh-cn/library/aa560610(v=bts.10).aspx本文内容:1.查看端口使用状况的方法;2、端口耗尽所带来的问题;3、解决办法当客户端启动到服务器的TCP/IP套接字连接时,客户端通常连接到服务器上的特定端口,并请求服务器通过临时(或暂时)TCP或UDP端口进行响应。在WindowsServer2003和Windhttps://www.it610.com/article/1306394685564030976.htm

    📓当传输的包数据过大时怎么办?

    流控机制:数据的分段传输,当传入的数据较大的时候按照MTU值进行分段传输;MTU,最大传输单元,默认字节为1500

    (4)协议:TCP、UDP、SPX等

    • 网络层:编址、寻址,定义数据传输的目标

    (1)编址协议:IP(IPV4、IPV6)、IPX、apple talk、novell

    (2)IP:32个二进制构成

    (3)IP地址分类

    (4)特殊地址

    • 0.x.x.x -保留地址,eg:0.0.0.0无效地址,占位作用
    • 127.x.x.x-测试地址 eg:127.0.0.1本地测试
    • 网络号-网络位不变主机位为0的地址,描述一个网段
    • 受限的广播地址-255.255.255.255
    • 定向广播地址,网络位不变主机位为1
    • 本地链路地址-link-local {169.254.0.0 255.255.0.0}

    公有地址:全球唯一标识

    私有地址:不具有唯一性标识

    (5)思考

    📓为什么要有网络掩码?

    方便寻址

    (6)协议:RAP、RARP、IP、ICMP、IGMP、RIP等

    (7)实际使用:路由器

    • 数据链路层:将数据分成一个个数据帧,以帧为数据单位进行传输,依据不同的物理传输介质定义不同的二层封装(LLC-逻辑链路控制,MAC-物理地址/媒体访问控制)

    (1)功能:将在物理层收到的数据比特流成为数据帧

    (2)实际使用:switch交换机

    (3)协议:SDLC、HDLC、PPP、STP、帧中继

    • 物理层:在物理媒体上传输原始的数据比特流

    (1)功能:物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传输的单位为比特

    (2)实际使用:网卡

  • 相关阅读:
    SpringBoot项目--电脑商城【确认订单】
    二叉树相关算法
    CSS前端入门(第二天)选择器
    记一次简单的js逆向分析
    VB6.0实现修改EXE程序的图标
    BeanDefinition扫描注册过程
    【 与百度搜索相同的bootstrap4与5自动补全功能(autocomplete)】
    CSDN 第六期编程竞赛做题记录
    新建SpringBoot Maven项目中pom常用依赖配置及常用的依赖的介绍
    文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)
  • 原文地址:https://blog.csdn.net/newlife1441/article/details/126290726
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号