• 计算机网络七层的理解


    一、主机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、运输层去掉首部,根据端口号交给应用层中对应的应用程序。

  • 相关阅读:
    Python开发WebService--使用soaplib库
    weblogic
    cronttab命令
    redhat下配置VNC远程客户端连接
    Linux主机名域名修改问题
    使用expdp命令自动备份数据库
    Linux下内存管理
    Linux下用户和用户组管理
    虚拟机上安装vmware tool
    linux基本信息查询
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10794750.html
Copyright © 2020-2023  润新知