网络编程基础知识详解_惠州C语言培训
作者:小甘发布时间:2020-12-19分类:办公软件浏览:1251
导读:网络编程基础知识详解:网络系统(network system)是使用国际标准化组织(Open Systems Interconnection/International Standards Organization,OSI/ISO)制定的开放系统互连七层模型(seven-layer model)定义的。这七层模型代表七层的网络进程:物理层、数据链路层、网络层、传输层、会话层、表示层及应用层。
网络编程基础知识详解
网络系统(network system)是使用国际标准化组织(Open Systems Interconnection/International Standards Organization,OSI/ISO)制定的开放系统互连七层模型(seven-layer model)定义的。这七层模型代表七层的网络进程:物理层、数据链路层、网络层、传输层、会话层、表示层及应用层。
现在的网络协议(包括TCP/IP)实际上都使用较少的层数,而不是 OSI 定义的完整层数。
1) 物理层(Physical layer):定义在实物上,如电缆上传输数据时所需的信息。
2) 数据链路层(Data link layer):定义数据如何在实物上传进/传出,点对点的错误更正通常是在此层进行。
3) 网络层(Network layer):设置唯一的地址给网络上的元素,如此信息才能传到正确的计算机上。IP 协议在此层进行。
4) 传输层(Transport layer):封装数据并确定数据传输没有错误。TCP 与 UDP 协议在此层进行。
5) 会话层(Session layer):处理每一个连接,一个连接称为一个会话(session)。
6) 表示层(Presentation layer):用来处理不同的操作系统,有不同的整数格式的问题。TCP/IP将此问题放在应用层上处理,Python 则使用 struct 模块处理此问题。
7) 应用层(Application layer):操作最后的产物。应用程序、FTP客户机、SMTP/POP3 邮件处理器及HTTP浏览器都属于此层。
网络的连接有两种类型:以连接为导向(connection-oriented)与以包为导向(packet-oriented)。
TCP/IP 的网络层由IP(Internet Protocol)协议提供。IP协议提供包在 Internet 上传输的基本机制。因为IP协议将包在Internet传输,所以不需要创建 end-to-end 的连接。
由于 IP 协议不了解包之间的关系,也不提供重新传输,是无法信赖的传输协议,因此IP协议需要高阶的协议,如TCP与UDP提供可信赖的服务。TCP 与 UDP 可以保证IP表头不会被破坏。
TCP 代表传输控制协议(Transmission Control Protocol),是在因特网上传输的主要结构。因为 TCP 提供可信赖、以会话为基础、以连接为导向的传输包服务,所以每一个连接上交换信息的包都会给予一个序号,重复的包会被检测出来,并且被会话服务所丢弃。序号不需要是全域唯一,甚至是会话唯一。在很短的时间内,会话的序号会是唯一。
TCP/IP 并没有提供应用接口层,而是由应用程序提供应用层。socket 已经将 TCP/IP 比较重要的 peer-to-peer API 合并,让网络应用程序可以跨平台使用。
UDP 的速度比 TCP 快,因为 TCP 协议需要花时间转换机器间的信息,以确保信息确实有传输,而 UDP 则没有做此转换。另外一点就是,TCP 协议会等待所有的包到达后为客户端应用程序有序地整理数据包,UDP 则没有这么做,它让客户端应用程序自己决定如何解读数据包,因为数据包并不是按照顺序接收的。
这些协议使用 socket 提供的服务来连接不同的主机,以及在网络上传输包。
IP 地址定义为在网络上传输数据的地址,是一个32 位(4 个字节)的数字。每一个字节所代表的数字在 0~255,中间以点号(.)隔开,如 128.72.23.50。IP 地址必须是唯一的。
一个端口号是服务器内应用程序或服务程序的入口。端口号是一个 16 位的整数,可表示的范围在 0~65535。端口号不能随便使用,0~1023 的端口号是保留给操作系统使用的,用户必须使用 1024 之后的端口号。
表 1 给出一些特定的端口号:
在 Windows 操作系统上,用户可以在 C:\Windows 文件夹内的 Services 文件中找到更多的端口号定义。如果是 Linux/UNTX 操作系统,就是在 /etc/services 文件下。
现在的网络协议(包括TCP/IP)实际上都使用较少的层数,而不是 OSI 定义的完整层数。
1. OSI七层模型
OSI 定义的七层网络模型如下:1) 物理层(Physical layer):定义在实物上,如电缆上传输数据时所需的信息。
2) 数据链路层(Data link layer):定义数据如何在实物上传进/传出,点对点的错误更正通常是在此层进行。
3) 网络层(Network layer):设置唯一的地址给网络上的元素,如此信息才能传到正确的计算机上。IP 协议在此层进行。
4) 传输层(Transport layer):封装数据并确定数据传输没有错误。TCP 与 UDP 协议在此层进行。
5) 会话层(Session layer):处理每一个连接,一个连接称为一个会话(session)。
6) 表示层(Presentation layer):用来处理不同的操作系统,有不同的整数格式的问题。TCP/IP将此问题放在应用层上处理,Python 则使用 struct 模块处理此问题。
7) 应用层(Application layer):操作最后的产物。应用程序、FTP客户机、SMTP/POP3 邮件处理器及HTTP浏览器都属于此层。
网络的连接有两种类型:以连接为导向(connection-oriented)与以包为导向(packet-oriented)。
2. TCP/IP
TCP/IP 以包为导向,是目前非常受欢迎的网络协议。TCP/IP 原先是由美国国防部所创建,很快成为美国政府、因特网及大学广泛使用的网络协议。由于 TCP/IP 可以在任何操作系统上执行,因此在不同的局域网环境中都能适用。TCP/IP 的网络层由IP(Internet Protocol)协议提供。IP协议提供包在 Internet 上传输的基本机制。因为IP协议将包在Internet传输,所以不需要创建 end-to-end 的连接。
由于 IP 协议不了解包之间的关系,也不提供重新传输,是无法信赖的传输协议,因此IP协议需要高阶的协议,如TCP与UDP提供可信赖的服务。TCP 与 UDP 可以保证IP表头不会被破坏。
TCP 代表传输控制协议(Transmission Control Protocol),是在因特网上传输的主要结构。因为 TCP 提供可信赖、以会话为基础、以连接为导向的传输包服务,所以每一个连接上交换信息的包都会给予一个序号,重复的包会被检测出来,并且被会话服务所丢弃。序号不需要是全域唯一,甚至是会话唯一。在很短的时间内,会话的序号会是唯一。
TCP/IP 并没有提供应用接口层,而是由应用程序提供应用层。socket 已经将 TCP/IP 比较重要的 peer-to-peer API 合并,让网络应用程序可以跨平台使用。
3. UDP协议
UDP 协议代表 User Datagram Protocol,是除 TCP 之外的另一种传输服务。UDP 协议提供不可信赖、快速、以包为导向的数据服务。UDP 被 ping 命令使用来检查主机是否可连通。UDP 的速度比 TCP 快,因为 TCP 协议需要花时间转换机器间的信息,以确保信息确实有传输,而 UDP 则没有做此转换。另外一点就是,TCP 协议会等待所有的包到达后为客户端应用程序有序地整理数据包,UDP 则没有这么做,它让客户端应用程序自己决定如何解读数据包,因为数据包并不是按照顺序接收的。
4. 网络协议
Python 有许多模块可以处理下面的网络协议:HTTP:浏览网页。
FTP:在不同计算机间传输文件。
Telnet:提供登录其他计算机的服务。
POP3:从 POP3 服务器读取电子邮件。
SMTP:送出电子邮件到邮件服务器。
IMAP:从 IMAP 服务器读取电子邮件。
NNTP:提供存取 Usenet 新闻。
这些协议使用 socket 提供的服务来连接不同的主机,以及在网络上传输包。
5. 网络地址
在 TCP/IP 的网络结构上,一个socket地址包含两部分:Inetrnet 地址(IP地址)和端口号(port number)。IP 地址定义为在网络上传输数据的地址,是一个32 位(4 个字节)的数字。每一个字节所代表的数字在 0~255,中间以点号(.)隔开,如 128.72.23.50。IP 地址必须是唯一的。
一个端口号是服务器内应用程序或服务程序的入口。端口号是一个 16 位的整数,可表示的范围在 0~65535。端口号不能随便使用,0~1023 的端口号是保留给操作系统使用的,用户必须使用 1024 之后的端口号。
表 1 给出一些特定的端口号:
端口号 | 协议 |
---|---|
20 | FTP (文件传输) |
70 | Gopher (信息查找) |
23 | Telnet(命令行) |
25 | SMTP (发送邮件) |
80 | HTTP(网页访问) |
110 | POP3(接收邮件) |
119 | NNTP(阅读和张帖新闻文章) |
在 Windows 操作系统上,用户可以在 C:\Windows 文件夹内的 Services 文件中找到更多的端口号定义。如果是 Linux/UNTX 操作系统,就是在 /etc/services 文件下。
相关推荐
- 转职Web前端开发要具备哪些技术?_惠州前端培训学校
- 转行Web前端开发要掌握哪些技术?_惠州前端培训学校
- 如何学习Web前端知识转型?_惠州前端培训学校
- Web前端工程师必须具备哪些JS技巧?_惠州前端培训学校
- Web前端开发|怎么封装几个Vue3中很有用的组合式API?_惠州前端培训学校
- Web前端开发如何使用JS中的arguments?_惠州前端培训学校
- Web前端开发如何在TypeScript中使用基本类型?_惠州前端培训学校
- 优秀Web前端开发工程师必须具备哪些技能?_惠州前端培训学校
- Web前端开发|GraphQL是什么?_惠州前端培训学校
- Web前端工程师要学会哪些技能?_惠州前端培训学校
- 办公软件排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年12月 (3)
- 2024年11月 (45)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 江门信息:江门市企业职业技能等级认定工作开展情况调研问卷|||大学生计算机培训学校
- 汕头信息:使用社保卡遇到问题?指南来了!|||大学生计算机培训学校
- 汕头信息:汕头市举办2024年度粤菜师傅服务百千万工程一区一亮点潮南专场活动|||计算机职业技能培训班
- 东莞信息:万江万江人社分局组织重点企业赴怀集县开展专场招聘会活动|||计算机网络培训学校
- 东莞信息:横沥强化政校企合作为百千万工程赋能添力|||中专学计算机平面设计女生可以学计算机网络技术好吗
- 东莞信息:虎门揭牌!虎仁人才反向飞地服务中心正式启用|||广州市北大青鸟计算机职业培训学校
- 东莞信息:沙田沙田镇粤黔协作一县一企农村劳动力稳岗就业基地正式揭牌助力乡村振兴新篇章!|||大学生计算机培训学校
- 东莞信息:寮步寮步镇举行职业成长社区就业驿站建设指导培训活动|||电脑计算机编程培训学校
- 东莞信息:塘厦塘厦镇开展技工学校和职业技能培训机构消防安全检查工作|||广州学电脑培训学校
- 东莞信息:寮步寮步人社分局开展劳务派遣用工专题普法宣讲培训|||计算机职业技能培训班