网络编程基础
网络编程基础
网络编程就是让不同的计算机通过网络互相“聊天”,交换数据和信息。就像我们用微信聊天一样,只不过计算机之间用的是代码和协议。
通信协议:网络世界的“交通规则”
想象一下,如果没有交通规则,路上的汽车会乱成一团。网络也一样,如果没有规则,计算机之间就无法正常通信。所以,人们制定了通信协议,让计算机知道怎么“说话”和“听话”。
最常见的是Internet协议,它就像通用语言,让全世界的计算机都能连接到互联网。
TCP/IP 协议:网络通信的“骨干”
TCP/IP 协议是一套很重要的规则,就像一座大楼的框架。它分为两层:
-
IP 协议:相当于给每台计算机分配了一个独一无二的“身份证号码”,叫IP地址。有了它,计算机才能找到彼此。目前有两种IP地址:
- IPv4:像电话号码一样,由4组数字组成,例如
192.168.1.1。 - IPv6:更复杂,但能提供更多的地址,因为IPv4快不够用了。
- IPv4:像电话号码一样,由4组数字组成,例如
-
TCP 协议:它就像一个“快递员”,负责把数据安全地送到目的地。它会检查数据有没有丢,有没有乱序,就像我们寄快递时,快递公司会确保包裹完好无损地送到收件人手里。TCP 是可靠的,因为它会确认对方收到了数据,如果没有收到,就会重新发送。

UDP 协议:快速但不保证可靠
UDP 协议和 TCP 不太一样。它更像是“扔飞镖”,只要知道目标的位置(IP地址和端口),就可以直接把数据发过去,不管对方有没有收到。UDP 的优点是速度快,因为它不需要像 TCP 那样检查数据是否丢失或乱序。不过,它的缺点也很明显,就是不能保证数据一定能到达对方。
端口号:计算机的“小门牌”
计算机就像一个大房子,有很多房间(进程)。每个房间都有一个“小门牌”,叫端口号,用来标识不同的进程。端口号的范围是从 0 到 65535,因为它是用 16 位数字表示的。
端口号分为三类:
-
系统端口(0-1023):这些端口号是给重要的服务用的,比如:
- 21:FTP(用来传输文件)
- 80:HTTP(用来访问网页)
- 443:HTTPS(加密的网页访问)
- 这些端口号就像房子的“大门”,大家都知道怎么用。
-
注册端口(1024-49151):这些端口号是给一些特定的应用程序用的,比如:
- 1194:OpenVPN(用于虚拟私人网络)
- 5432:PostgreSQL(数据库软件)
- 这些端口号就像房子的“侧门”,只有特定的人知道怎么用。
-
动态或私有端口(49152-65535):这些端口号是临时用的,就像房子的“后门”,随时可以用来传递东西,不会和其他门冲突。
TCP 与 UDP 的区别 ⭐⭐⭐
| 特点 | TCP 协议 | UDP 协议 |
|---|---|---|
| 连接方式 | 需要先建立连接(就像打电话) | 不需要建立连接(就像扔飞镖) |
| 可靠性 | 非常可靠,数据不会丢失,顺序正确 | 不保证数据一定能到达,也不保证顺序 |
| 传输效率 | 比较慢,因为要检查数据 | 非常快,因为不检查数据 |
| 连接对象 | 只能一对一(点对点) | 可以一对一、一对多、多对多 |
| 适用场景 | 文件传输、网页访问 | 视频直播、实时游戏 |
总结
- TCP 是可靠的,适合传输重要的数据,比如文件传输、网页浏览。
- UDP 是快速的,适合对速度要求高但不太在意数据是否丢失的场景,比如视频直播、在线游戏。
- 端口号 是计算机用来区分不同进程的“小门牌”,不同的端口号有不同的用途。




浙公网安备 33010602011771号