news 2026/3/1 1:44:47

网络编程入门:从IP到TCP全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网络编程入门:从IP到TCP全解析

一、引言

昨天讲了闭包与装饰器,今天给大家讲一下网络编程.

二、计算机网络概述

1.网络的概念

网络就是将具有独立功能的多台计算机通过通信线路和通信设备连接起来,在网络管理软件及网络通信协议下,实现资源共享和信息传递的虚拟平台。

2.为什么要学网络

学习网络的目的就是能够编写基于网络通信的软件或程序,通常来说就是网络编程。

3.ip地址概述

思考一个问题,当我们在计算机中使用微信和朋友聊天时,信息是如何精准的传递到他的计算机中的呢?

3.1 IP地址的作用

通过IP地址找到网络中唯一一台设备,然后可以跟这个设备进行数据通信。所以我们就可以回答上面的问题了:

是通过计算机的IP地址来实现的,IP地址是分配给网络设备上网使用的数字标签,它能够标识网络中唯一的一台设备,好比现实中每个人都有一个手机号。

3.2 IP地址的表现形式

IP地址一共有4位,第1位,1~223,第234位,0~255

注意事项:

① IP地址分为两类 : IPv4和IPv6

② IPv4是目前使用的IP地址

③ IPv6是未来使用的IP地址

4.端口和端口号的概念

4.1计算机通信原理

首先我们提出一个问题:如果在一台电脑上使用飞秋给另外一台电脑上的飞秋发送数据并且另外的这台电脑还运行着多个软件,它是如何区分这多个软件把数据给飞秋的呢?

其实,每运行一个程序都会有一个端口,想要给对应的程序发送数据,找到对应的端口即可。端口就是传输数据的通道,好比教室的门,是数据传输必经之路。

而且每一个端口都会有一个对应的端口号(操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号,端口号其实就是一个数字,好比我们现实生活中的门牌号),想要找到端口通过端口号即可,如:飞秋软件的默认端口号就是2345。

最终通信结果:通过ip地址找到对应的设备,通过端口号找到对应的端口,然后通过端口把数据给应用程序。

4.2端口号扩展

4.2.1知名端口号

知名端口号是指众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务,比如21端口分配给FTP(文件传输协议)服务,22端口分配给SSH(安全外壳协议,主要用于远程连接与文件传输),25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,443端口分配给HTTPS服务等等。

4.2.2动态端口号

一般程序员开发应用程序使用端口号称为动态端口号。

动态端口号的范围是从1024到65535,如果程序员开发的程序没有设置端口号,操作系统会在动态端口号这个范围内随机生成一个给开发的应用程序使用。

注意:当运行一个程序默认会有一个端口号,当程序退出时,所占用的这个端口号就会被释放。

设置端口建议8000以后

5.TCP协议概述

之前我们学习了IP地址和端口号,通过IP地址能够找到对应的设备,然后再通过端口号找到对应的端口,再通过端口把数据传输给应用程序,这里要注意,数据不能随便发送,在发送之前还要选择网络传输方式(传输协议),保证程序之间按照指定的传输规则进行数据的通信。

5.1TCP概述

TCP的英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP通信步骤:① 创建连接 ② 传输数据 ③ 关闭连接

TCP通信模型相当于生活中的’打电话‘,在通信开始之前,一定要先建立好连接,才能发送数据,通信结束要关闭连接。

5.2TCP的特点

5.2.1面向连接

通信双方必须先建立好连接才能进行数据的传输,并且双方都会为此连接分配必要资源用来记录连接的状态和信息。当数据传输完成后,双方必须断开此连接,以释放系统资源。

5.2.2可靠传输

TCP采用发送应答机制:

通过TCP这种方式发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传送成功

超时重传:

发送端发送一个报文之后就会启动定时器,如果指定时间内没有得到应答就会重新发送这个报文段

错误校验:

TCP用一个校验和函数来校验数据是否有错误,在发送和接收时都要计算校验

流量控制和阻塞管理:

流量控制用来避免发送端发送过快而使得接收方来不及接收

三、结语

今天概念类的东西比较多,大家可以多看一下,明天会讲一些编码转换的知识点.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 12:44:17

C 语言实战:手把手实现学生信息管理系统

C 语言实战:手把手实现学生信息管理系统 作为 C 语言初学者,第一次独立完成一个完整的学生信息管理系统,是对指针、链表、文件操作等核心知识点的一次绝佳综合试炼。本文会拆解这个系统的核心代码模块,剖析每个模块用到的关键知识…

作者头像 李华
网站建设 2026/2/27 12:55:29

如果一个pod断连了,怎么去排查

核心是按 “Pod 状态→网络连通→服务配置→依赖组件” 的顺序逐层定位,高效锁定根因:1. 先查 Pod 自身状态:确认是否存活 / 正常运行这是最基础一步,先判断 Pod 是否本身就没跑起来。执行命令:kubectl describe pod &…

作者头像 李华
网站建设 2026/2/24 14:13:59

8000亿估值,靠的是故事还是利润?

出品I下海fallsea撰文I胡不知2025年12月11日,SpaceX内部股票交易细节的曝光,让全球资本圈陷入集体亢奋:每股421美元的定价,将这家未上市企业的估值推至8000亿美元,较半年前精准翻倍。300亿美元募资额中,近五…

作者头像 李华
网站建设 2026/2/27 11:46:57

【学习笔记】攻击链贯穿端边云!边缘网络访问三大核心风险预警

随着数字化转型向纵深推进,边缘网络作为连接终端设备、本地计算与核心云端的关键枢纽,已成为企业业务落地、数据实时处理的核心支撑。但其分布式部署、接入终端多元、网络边界模糊的特性,也使其打破了传统网络的安全防护边界,成为…

作者头像 李华