网络编程初识

目录

一.前言:

二.网络编程基础原理需知:

1.IP地址:

2.端口号:

3.协议:

4.协议分层(重点):

5.网络传输过程的基本了解(重点):

三.总结:


一.前言:

终于终于不再是多线程啦!!!当然,多线程相关的知识也还并没有完结,但是,太长时间用来总结多线程了,有点身心俱疲的感觉,所以,我打算穿插新的内容进来,也就是我们万众瞩目的网络编程!本章是网络编程的第一篇——初识网络。

二.网络编程基础原理需知:

1.IP地址:

使用IP地址来描述网络上一个设备的所在位置。

2.端口号:

区分一台主机上的不同应用程序。每个应用程序都会被系统分配一个或多个端口号。(程序在运行时)

3.协议:

描述了网络通信传输的数据的含义。就是一种网络通信规范准则,便于多台主机间进行数据传输。

4.协议分层(重点):

由于网络通信工程的复杂度太高,仅靠一个协议进行规范会使得这个协议太过复杂,于是,为了避免这种情况,就产生了协议分层概念,它将协议分为了不同的种类和不同层级,以便于协议间的管理和使用。我们著名的OSI七层网络模型TCP五层网络模型就是由协议分层产生的,但是对于OSI七层网络模型只在教科书中存在,在实际的应用环境中并不会使用。实际的应用环境中,TCP五层网络模型才是最常用的,所以接下来就来介绍一下何为TCP五层网络模型,五层是那五层?都是做什么的?

(1)物理层——网络通信中基础设施的条件规范,例如网线和对应网口之间能不能接的上之类的。

(2)数据链路层——相邻节点间的数据传输路线的具体规划,就是两个将要交互的节点它们之间要通过怎样的线路进行数据传输。(数据链路层完成帧同步,差错控制,流量管理,链路管理)

(3)网络层——规划整个传输路线。

(4)传输层——关注数据传输的起点与终点,并不关注实际的传输过程。

(5)应用层——实际拿到数据都通过一系列操作反馈给接收方。

以上就是TCP五层网络模型的大致理解,具体每层之间的协议和流程还有作用会在后续提到。同时这里提一下,关于TCP五层网络模型,还有些叫法会将它叫做TCP四层网络模型,这是因为他们去掉了物理层,这也是因为物理层本身更倾向于硬件一些。这里也补充一下OSI七层网络模型,相较于TCP五层网络模型而言,OSI七层网络模型在传输层和应用层之间还多了一个表示层和会话层,它们和应用层共同对应着TCP五层网络模型中的应用层,都是应用程序层级的。

5.网络传输过程的基本了解(重点):

对于网络传输的过程它主要涉及到的核心思想就是一个——封装和分用。那么,什么叫封装和分用呢?接下来讲解传输过程时,就会进行讲解了。

以发送信息为例,发送方在聊天框中输入了要发送的信息点击发送后,应用层就会先获取到这个信息,并通过应用层的协议规范(应用层的协议规范是由应用设计方决定的,不同应用间的协议大概率都不同)将数据转变为应用层数据报,并将其转交给传输层。

传输层会再次通过TCP或UDP或者是其他的一些传输层协议(大多数都是用的TCP协议)将获取到的应用层数据报加装一个TCP报头(这里是以TCP协议举例,具体加装什么报头由协议决定),而在这个报头中记录的最主要的信息就是发送方的源端口和接收方的目的端口,这也体现了为什么前面说传输层只关注起点和终点。将数据转变成传输层数据报后,会接着将它交给下一层级,也就是网络层。

网络层获取到数据后,也会以类似的方法将传输层数据报转变为网络层数据报,主要常用的协议是IP协议,也是加装一个IP协议报头,在这个报头中主要记录的信息就是发送方的源IP和接收方的目的IP,这里也是体现了为什么说网络层是负责对整个传输路线的规划。转变完成之后,它也会进行上交,交给下一层级。

数据链路层获取到数据报后,也会对它进行加装,但与前几者不同的是,它不仅会加装一个头,还要加装一个尾,分别称为——帧头和帧尾,在帧头中记录着源mac地址和目的mac地址,那么,什么是mac地址呢?其实它与IP地址是类似的,也是描述网络中某台设备的所在位置,只不过,由于一些原因,使它们不得不都存在,进而也做出了区分,最本质的就是mac地址只关注两个相邻节点间的数据传输路线,而IP地址则关注的是从发送方到接收方的全部路线,举个例子,买车票,你打算从某地去往某地,但是列车可能没有直达,就需要中转,而IP就是指的从起点到终点的全过程,mac就只是从这一站到下一站这之间的路程。加装好的数据称为以太网数据帧。再将数据帧传输给它的下一层——物理层。

物理层所得到数据和前面的都不相同,前几者拿到的均是字符串,而在物理层拿到则是一串二进制的数字,它会将这些数据进行转化,转化为电信号/光信号/电磁波等(现在一般家用都是光信号,因为家用人均光猫),通过对应设备传递出去。(这个转化的过程称为调制,我们常说的猫,其实就是调制解调器,而将信号再转变回数据的过程就是解调)

而对于接收方,它是先由物理层接收到对应的信号,将它转化为以太网数据帧,再通过与发送方相反的路线,将这个数据逐层拆解最终呈现在接收方面前。在以上的所有过程中,加装的步骤就是我们所说的封装,而逐层拆解,就是分用,所以,整个数据传输的过程就是一个封装和分用的过程。

三.总结:

以上这些就是对于学习网络编程要有的一些基本概念,尤其是对于数据传输过程的理解和掌握更是重中之重。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值