zoukankan      html  css  js  c++  java
  • 计算机网络七层的理解

    一、主机A到主机B数据的传输过程

    A主机:

    1、数据的产生肯定是一个应用层的程序产生的,如IE浏览器等等。这些程序在应用层需要有不同的接口,IE是浏览网页的使用HTTP协议,那么HTTP应用层为浏览网页的软件留下的网络接口。

    2、应用层处理好数据就交给运输层。

      ---首先A要知道B在哪里:使用DNS解析出B的IP地址

      ---交给运输层的数据:源端口,目的端口,原IP,目的IP,数据部分

    3、运输层给数据加上首部(TCP首部/UDP首部)构成TCP/UDP报文,交给网络层(IP层)。

      ---UDP报文:无连接,没有拥塞控制,不可靠,首部开销小,支持一对一、一对多、多对一、多对多,效率快

      ---TCP报文:面向连接:TCP := {socket1,socket2}    socket = (IP地址:端口号),三次握手,四次挥手

            可靠传输:等待停止协议,连续ARQ(自动传输重传)协议,滑动窗口协议

            流量控制:通过滑动窗口实现

            拥塞控制:慢开始,拥塞避免,快恢复

    4、网络层给报文加上IP首部构成IP数据报交给数据链路层。

      ---IP层的主要目的是转发分组:路由器,路由表

                    地址解析协议ARP(通过IP地址,找到对应的硬件地址)        

    5、数据链路层给IP数据报加上首部和尾部构成MAC帧,交给物理层。

      ---封装成帧、透明传输、差错检测

    6、物理层将数据链路层的数据转换成电流传输的物理线路

    B主机

    7、通过物理线路传递的B主机后,B主机会将电信号转换成数据链路层的数据MAC帧。

    8、数据链路层给MAC帧报去掉首部和尾部构成IP数据报,交给IP层。

    9、IP层去掉首部构成报文交给运输层。

    10、运输层去掉首部,根据端口号交给应用层中对应的应用程序。

  • 相关阅读:
    正则表达式周二挑战赛 第七周
    [译]视区百分比,canvas.toBlob()以及WebRTC
    [译]因扩展Object.prototype而引发Object.defineProperty不可用的一个问题
    [译]JavaScript需要类吗?
    [译]JavaScript中几种愚蠢的写法
    [译]JavaScript中对象的属性
    JavaScript:数组的length属性
    [译]JavaScript中的变量声明:你可以打破的三条规则
    [译]ES6:JavaScript中将会有的几个新东西
    [译]ECMAScript 6中的集合类型,第三部分:WeakMap
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10794750.html
Copyright © 2011-2022 走看看