网络中的一些基本概念

本文介绍了网络通信中的关键概念,包括IP地址的作用、端口号区分不同程序、协议作为数据交互的约定,以及TCP/IP五层网络协议中各层的功能和数据封装与分用的过程。
摘要由CSDN通过智能技术生成

前言:

        近期开始学习网络有关的知识,将些基本概念整理并分享给csdn上共同学习的小伙伴们,包括从IP地址到两个主机之间的通信过程简介。

IP地址:

        IP地址是一个用二进制表示的三十二位数,一般通过点分十进制表示为形为 xxx.xxx.xxx.xxx的一个唯一的网络编码,通过IP地址可以确定主机的位置,可以通过cmd输入ipconfig来查看当前计算机的IP地址。

端口号:

        IP地址是主机的位置标识,端口号则是主机上运行的程序的身份表示,例如,当计算机收到一个QQ数据包,通过QQ的端口号,会把数据包给到QQ而不是微信。

协议:

        协议在可以广泛地理解数据发送与接受端为对数据格式的共同约定,以达到使用数据地目的。比如统一文字之后,对话双方才能够理解对方的意思,这是执行的基础。

协议分层:

        由于网络通信是一件极其复杂的事情,应用程序之间的信息交互更是涉及到操作系统,路由器,交换机等众多方面,因此,通过实现协议分层来实现协议的简化,使协议更具备可学习性和维护性。常见的协议有OSI七层网络协议和TCP/IP五层网络协议,下面主要介绍TCP/IP五层网络协议:

        TCP/IP五层网络协议分为五层,每一层协议实现特定的功能,相邻层的协议上层协议能够调用下层协议的功能。这五层分别是:(自上而下)应用层,传输层,网络层,数据链路层和物理层。其关注重点分别是:

        应用层:关注程序使用数据的目的。

        传输层:关注数据包的起点和终点。

        网络层:关注数据包的传输路线规划。

        数据链路层:关注数据包在相邻节点之间传输的相关细节。

        物理层:关注通信过程的基础设施。(各种硬件)

        

封装:

        封装即一份数据从产生到成为发送的数据包的过程。该过程与上述五层协议息息相关,介绍封装,以下面一个例子来完成:

        假设主机A上通过QQ发送文本内容 “Hello bit” 给主机B上运行的QQ,那么此次数据的分装传输有以下几个步骤:

        1,应用层封装:将文本内容及通信的相关细节以应用层协议的规定格式构建成数据包并将其交给传输层进行下一次封装。

        2,传输层封装:传输层封装主要涉及到 TCP协议 / UDP协议 。(此处假定通过UPD协议进行封装)将应用层传递的数据包视为一个整体,并拼接上一个UDP报头,报头记录一些转发信息如源端口号,目的端口号等。并将封装好的数据包通过下一层(网络层)提供的 API 传递。

        3,网络层封装:通过网络层IP协议将上一层的数据包拼接上一个IP报头,包含源IP和目的IP的相关信息,构建完数据包之后,网络层继续调用数据链路层提供的API,将数据交给下一层处理。

        4,数据链路层封装:该层的协议有别于以上两层,该层通过以太网协议,以IP数据包为整体,在IP数据包前后拼接上以太网帧头和以太网帧尾。并将封装好的数据包交给物理层发送出去。

        以上就是封装的全部内容。

分用:

        分用本质上是封装的逆过程,分用包括两步,将数据包通过规定的协议格式解析,取出每层协议对应的载荷并提交给上一层进行进一步的解析和提交,并最终将打包的文本内容呈现在主机B上的QQ程序。

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值