文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux系统编程中的网络编程基础是什么

2023-06-28 15:43

关注

这篇文章主要为大家分析了Linux系统编程中的网络编程基础是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统编程中的网络编程基础是什么”的知识吧。

Linux可以算是当先最流行的开源的操作系统,网络在系统中出于一个核心地位。

一 计算机网络的组成

1.网络结构

根据局域网的组成形式,可以将局域网分为星型网络环状网络总线网络3种基本网络结构。
Linux系统编程中的网络编程基础是什么
Linux系统编程中的网络编程基础是什么
Linux系统编程中的网络编程基础是什么
各种网络优缺点

2.OSI参考模型

开放式系统互联参考模型。该模型为计算机间开放式通信所需要定义的功能层次建立了全球标准:

Linux系统编程中的网络编程基础是什么

3.TCP/IP参考模型

以OSI参考模型为基础设计的。TCP/IP协议是一个协议集,其核心为TCP协议和IP协议。具有如下4个特点:

TCP/IP参考模型有4个层次,与OSI模型的对应关系如下:

Linux系统编程中的网络编程基础是什么

(1)应用层

TCP/IP参考模型的最高层,向用户提供一些常用应用程序。应用层包括了所有的高层协议,并且总是不断有新的协议加入。主要协议有:

(2)传输层

也称TCP层,主要功能是负责应用进程之间的端到端通信。
传输层定义了两种协议:传输控制协议TCP用户数据包协议UDP

(3)网络层

又称为IP层,负责处理互联网中计算机之间的通信,向传输层提供统一的数据包。主要功能有:

(4)物理链路层

主要功能是接收IP层的IP数据包,通过网络向外发送,或接收处理从网络上传送来的物理帧,抽出IP数据包,向IP层发送。该层是主机与网络的实际连接层。

二 TCP/IP协议

1.IP协议与Internet

规定:数据包由数据包正文报头两部分组成:

IP层协议主要功能:

数据包采用“无连接”方式传递,即两台主机在通信之前不要建立连接。网络主机间使用统一的IP数据包,这样能保持不同物理网络间能够传递和识别数据。
乳沟目的地为同一网段的计算机,那么数据包将被直接传输过去。如果两台主机处于Internet上的不同子网,IP协议将通过路由器获得主机间的传输路径,通过交换机或服务器接力的方式,将数据包传递过去。

2.IP互联网协议地址

IP地址是一个32位二进制数,即4字节。通常将其表示为w.x.y.z的形式。字母对应0-255的十进制整数,对应二进制表示法中的一个字节。(点分十进制表示)
IP地址分为如下三类:

(1)A类地址

最高位为0,其前8位为网络地址,是在申请地址时由管理机构设定的,后24位为主机地址,可由网络管理员分配给本机构子网的各主机。第一个十进制整数的值在1-126之间。最多可有127个A类地址。

(2)B类地址

前16位为网络地址,后16位为主机地址,且第一位为1,第二位为0。B类地址的第一个十进制整数的值在128-191之间。

(3)C类地址

前24位为网络地址最后8位为主机地址,且第一位,第二位为1,第三位为0。第一个整数值在192-223之间。

有几个特殊的IP地址:

  1. 回送地址(127.0.0.1):用于网络测试或本机进程间通信

  2. 广播地址:用于呼叫整个网络内的计算机,子网中最后一个地址即被用作广播地址

  3. 子网地址:用于识别子网,子网中第一个地址即是子网地址

3.TCP协议

TCP是重要的传输层协议,必须保证数据传递的完整性。另外,数据报文中有计算机端口号信息,可以用来区别同一计算机上不同应用程序的数据。
数据报文中还有一个顺序编号,使接收的计算机能够根据编号重新按顺序还原数据。
TCP协议的另一个重要功能是把大的数据切成较小的数据包,或者将接收到的数据包按顺序还原为原始数据。如果发现某一数据包丢失,TCP协议会向源计算机发送请求,要求重新传递丢失的数据包。这种处理能力,被称为全双工
TCP协议最小的处理单位为字节,因此TCP是面向字节的顺序协议。数据包内每个字节都会被分配一个顺序编号,以及为了验证数据真实性的奇偶校验位。
TCP报文结构如下图所示:
Linux系统编程中的网络编程基础是什么
字段定义如下:

Linux系统编程中的网络编程基础是什么
TCP提供的主要服务有:

4.UDP协议

又称用户数据包文协议,也是TCP/IP的传输层协议。它是无连接的、不可靠的传输服务。当接收数据时它不向发送方提供确认的信息,它不提供输入包的顺序。如果出现丢包或重复包的情况,也不会向发送方发出差错报文,与IP协议非常类似。
UDP的主要作用是分配和管理端口编号,以正确无误地识别运行在网络站点上的个别应用程序。
报文结构如下图所示:
Linux系统编程中的网络编程基础是什么

关于“Linux系统编程中的网络编程基础是什么”就介绍到这了,更多相关内容可以搜索编程网以前的文章,希望能够帮助大家答疑解惑,请多多支持编程网网站!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯