开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:网络编程的 IP 和端口】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/626/detail/9777
网络编程的 IP 和端口
内容介绍:
一、IP 地址
二、端口(port)-介绍
三、端口(port)-分类
一、IP 地址
每台电脑的房间号
1.概述
每个 internet 上的主机和路由器都有一个 IP 地址,它包括网络号和主机号
2.两种 IP 地址
IP地址有 ipv4(32位)或者 ipv6(128位)
可以通过 ipconfig 进行查看
3.形成两种 IP 地址的原因
最早的时候网络只有 ipv4,因为4个字节表示的地址是非常有限的,提到 ipv6以后,意味着足够大家使用
二、端口(port)-介绍
我们这里所指的端口不是指物理意义上的端口,而是特指 TCP/IP 协议中的端口,是逻辑意义上的端口。
//电脑用作服务器,运行第一个程序(tomcat),运行第二个程序(聊天),第三个程序(mysql)
1.监听端口
①只要是做服务的程序,都必须监听一个端口
②假设有一个客户端程序,不管是什么客户端,如果要跟客户端要进行交流,需要发送一个数据包给程序
③为了准确的发送给目标客户端,所以就需要监听
2. 通讯通道
该端口是其他程序和该服务通讯的通道
3. 每台电脑的端口数量
一台电脑上有65535个端口 1-65535
4. 一个端口被占用
①一旦一个端口被某个程序监听(占用),那么其他的程序就不能在该端口上监听
②若 mysql 在3306上监听,当老师的客户端发送一个数据包,老师的客户端有没有端口?
与 mysql 进行连接时,由 TCP/ip 协议随机分配一个客户端会有一个随机的端口与之对应(例1245)
指令 netstat -anb
会发现老师这边有很多端口连接
5.IP 地址
如果把 IP 地址比作一间房子
端口就是出入这间房子的门
真正的房子只有几个门,但是一个 IP 地址的编口可以有65536(即:256x256)个之多!
端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256x256-1)
三、端口(port)-分类
1.0号端口
0号是保留端口,不能使用
2.固定端口
1-1024是固定端口(程序员不要使用)
又叫有名端口,即被某些程序固定使用一般程序员不使用。
22:SSH 远程盘录协议
23:teinet 使用
21:ftp 使用
25:smtp 服务使用
80:lis 使用
7:echo 服务
3.动态端口
1025-65535是动态端口
这些端口,程序员可以使用
端口在使用的时候尽量大一点(40000以上),以保证监听的时候不会报错