网络 #TCP #UDP #文件下载器 #网络通信

本文介绍了网络编程基础知识,包括IP地址的分类、端口的用途以及socket的创建。深入讲解了UDP和TCP协议,展示了如何创建UDP聊天程序和TCP服务器,包括文件下载器的实现。此外,讨论了TCP的连接、可靠传输和流量控制特性,以及TCP与UDP的选择理由。
摘要由CSDN通过智能技术生成

网络基础

  • 网络把多方连接在一起,然后可以进行数据传递
  • 所谓的网络编程就是:在不同的电脑上的软件能够进行数据传递,即进程之间的通信

1)IP地址

  • 如何将数据精确地传递到目标电脑⇒ 通过IP地址
  • 如果我们把一栋栋大房子比作一台台电脑,IP地址就类似这个大房子的位置。
  • IP地址的作用是:在网络上标记唯一一台电脑

1>查看网卡信息

  • Win中:打开终端,输入ipconfig
    -
  • Linux:打开终端,输入ifconfig
    -
  • 每一个缩进的块就是一个网卡,前面的就是网卡名
  • lo表示本地环回,测试用的
  • ifconfig不仅可以查看网卡信息,还能关闭/打开网卡
sudo ifconfig 网卡名 down  # 关闭网卡
sudo ifconfig 网卡名 up  # 打开网卡
  • 小tips: Linux中,Ctrl A在终端中可以让指针快速回到行首;Ctrl E可以回到行尾。

2>IP地址分类

  • IPv4: xxx.xxx.xxx.xxx IP 地址的第四种版本,以四个分隔的数字组成,每个数字最大值为255。
  • IPv6: ipv4已经被瓜分完了,枯竭了。未来的趋势,遥远的未来。号称可以标记每一粒沙。

192.168.88.xxx

  • 前三位标记网络,前三位相同可以通信。后面一位标记主机。前三位叫网络号,后一位叫主机号。主机号为0,还有255不能用,所以一个网内最多可以有254个主机。这种就被称为C类IP。
  • 主机太多了,就可以以后两位为主机号,前两位为网络号。
    在这里插入图片描述

3>私有IP

  • 有一部分的IP地址是属于我们的局域网使用,也就是私网IP。它们的范围是:

10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255

  • IP地址127.0.0.1~127.255.255.255用于回路测试。

如127.0.0.1可以测试本机中配置的web服务器

2)端口

  • 如果把电脑比作一栋栋大房子,应用程序就是每一个住户,电脑为这些住户分配门牌号。有了这些门牌号就不会串错门,这个门牌号就叫做端口号,它是用来唯一标记应用程序的。

1>端口的分类(部分)

1.知名端口
  • 知名端口是众所周知的端口号,范围从0到1023

80端口分配给HTTP服务
21端口分配给FTP服务

  • 在一般情况下,一个程序需要使用知名端口时,需要有root权限
2.动态端口
  • 动态端口的范围是从1024到65535
  • 它一般不固定分配某种服务,而是动态分配。
  • 当一个系统程序或应用程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。
  • 当这个程序关闭时,这个占用的端口号随之释放。

2>查看端口号

netstat -an  # 查看端口状态
lsof -i [tcp/udp]:端口号  # 知道该端口被哪个应用占用

→具体参考这个博客,写得很全很好←

3)socket

  • socket 插口、插排
  • socket是完成网络通信的必备东西
  • 不同电脑的进程间如何通信?
  • 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!
  • 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的。
  • 其实TCP/IP协议族已经帮我们解决了这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值