zoukankan      html  css  js  c++  java
  • 01 概述 网络分层

    讲的是这本书: Book:《TCP/IP 详解》

    内容提要

    网络分层

    OSI 分层模型

    分层原则(软件产品也是一样): 每层有清晰的边界,每层有自己的功能。每层相互独立,互不影响.

     举例: 北京老板想发月饼(中秋节),所想他想告诉上海公司的老板也发月饼。

    应用层: 北京老板说了要发月饼.

    表示层: 但是老板肯定说的是白话, 需要贴身秘书帮着修饰一下话语. (修饰应用层数据,修饰的冠冕堂皇一些)

    会话层: 部门秘书把信放到信封里,然后写上地址, 源 / 目的地址就等于主机上的两个应用进程. (所以这层主要是把会话的地址写上)

    传输层: 前台,前台有很多信要传输,比如这里可能有10封信都是从北京公司传到上海公司的, 但是可能是去不同部门的.

        (它需要对信件进行打包, 把所有的北京去上海的信打包在一起, 然后一起传输(这样节省费用(资源))),

        这时的包的源地址和目的地就变成了北京公司 / 上海公司

     

     网络层: 前台把包给了网络层的邮局, 邮局排序员帮助查路线(路由),发现从北京到上海没有直达的路线,必须要中转, 下一站中站应该是江苏.

        查询到路径以后(规划好路线),就会把包送给数据链路层. 这时的源/目的: 北京快递公司 / 上海快递公司 (中转江苏快递公司) 这里是IP地址.

    数据链路层: 快递公司的装箱人工(北京火车站) ,到了数据链路层, 源和目的就是:北京火车站/江苏火车站. 这里的以太网的mac地址.

     物理层: 火车驾驶员(北京到江苏), 将包裹放到北京到江苏的火车上(真正的传输)

     物理层: 到了江苏火车站之后(物理传输)

    数据链路层: 江苏火车站工作人员看看 MAC地址, 确实是发给江苏的包裹,他就把包裹拿出来

     网络层: 拿出包裹之后, 又将包裹给网络层的邮局, 邮局人员看到了源/目的: 北京/上海, 网络层又查询路由, 这时候看到了一条直连路径.

        这时候, 它又会找数据链路层的装箱工.

    数据链路层: 装箱工(上海机场的), 将 MAC 地址装上. 这时候 MAC 的 源/目的 就变成了 江苏飞机场 / 上海飞机场.

     物理层: 飞机(飞行员), 按照上边的 MAC 地址, 将包裹空运到上海飞机场.

    到了上海以后:

    数据链路层: 上海机场装箱工查看 MAC 地址的目的地确实是上海机场,于是送到邮局.

    网络层: 邮局解开包裹, 发现IP地址(目的地)是上海,我就是上海, 那送上海公司吧,按照IP地址送过去。

    传输层: 邮局将包裹送到公司前台, 这时候包裹里可能很多信,前台将包裹打开,把信拿出来,按照信上的地址,送到各个部门.

    会话层: 部门秘书拿到信后,知道这个信该给贴身秘书翻译一下(简单总结一下,因为老板没有那么多时间来看信, 需要贴身秘书帮忙筛选些干货).

    表示层: 贴身秘书筛选完之后, 转达给老板

    应用层: 上海老板领会北京老板的意图.

    传输层: 端口,也就是两个应用程序的传输. 特别注意,这层有端口的设置. TCP / UDP协议. TCP 在不可靠的IP层上提供一个可靠的运输层.

          UDP 也是不靠谱的, 会丢包的. 但是它效率高. 比如语音是通过UDP传的. 如果语音用TCP, 那么有可能2秒前说的话,在2秒后出现了。

          这很奇怪, UDP比如说10个字的话,丢2个也还好。所以这种实时传输的,就是用UDP传输的.(语音&视频 都是)

    网络层: 路由, IP 协议. (逐跳的 hop-to-hop), 比如想北京->上海,那么可能是北京先到下一跳苏州,然后再由苏州到上海. (这个层的传输是不可靠的)

          这个不可靠的传输, 比如你穿1,2,3 但是最后传输成功的可能是 1,3,2丢失了, 这时就需要TCP来保证. (可以丢包)

    数据链路层: MAC 地址. ARP协议: 询问一个 IP地址的 MAC地址.

    Telnet23: 非常不安全

    抓包程序: OmniPeek, Wireshark, Fiddler 

    通过协议号, 找到对应的程序

     

  • 相关阅读:
    六大设计原则(一)
    .Net MVC 实现WebSocket
    Socket基础三
    Linux date命令的用法(转)
    SpringBoot自定义校验注解校验日期时间格式字符串
    前缀、中缀、后缀表达式
    什么是重放攻击,列举几种常见防御手段?
    09月13日总结
    09月12日总结
    09月11日总结
  • 原文地址:https://www.cnblogs.com/moveofgod/p/12268168.html
Copyright © 2011-2022 走看看