1.端口号

端口号(port): 在网络技术中,端口包括逻辑端口物理端口两种类型。
物理端口指的是物理存在的端口,如、集线器、交换机、路由器上用 于连接其他网络设备的接口。
逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口。
由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。即用来标识特定主机上的唯一的网络进程
IP: 标识公网中的唯一一台主机
一般的我们将IP+端口号称为套节字,在网络中发送方和接收方两个客户端就可以看作是一对套接字进行进程间通信
在TCP/IP协议中,用"源IP"、“源端口号”、“目的IP”、“目的端口号”、"协议号"这样的一个五元组来标识一个通信

1.1 端口号的划分

端口号占两个字节,即范围为0~65535

  • 0~1023:知名端口号,HTTP,FTP,SSH等这些广为使用的应用层协议,它们的端口号都是固定的
  • 1024~65535:操作系统动态分配的端口号,客户端程序的端口号,就是由操作系统从这个范围分配的

1.2 知名端口号

  • ssh服务器:使用22端口号
  • ftp服务器:使用21端口号
  • telnet服务器:使用23端口号
  • http服务器:使用80端口号
  • https服务器:使用443端口号
//查看知名的端口号
more  etc/services

端口号、常见的命令(netstat、pidof、ps、ping)、UDP协议(UDP报头、UDP特点)
一个进程可以绑定多个端口号吗?
可以,就好像一个人可以打多份工
一个端口号是否可以被多个进程绑定?
不可以,端口号是用来表示特定主机上的唯一一个网络服务进程,如果一个端口号可以被多个进程绑定,何谈唯一。

2.常见命令

2.1 netstat

netstat是一个用来查看网络状态的重要工具
语法:netstat [选项]
功能:查看网络状态
常用选项:

  • n 拒绝显示别名,能显示数字的全部转化为数字
  • l 仅列出有在Listen(监听)的服务状态
  • p 显示建立相关连接的程序名
  • t(tcp)仅显示tcp相关选项
  • u(udp)仅显示udp相关选项
  • a 显示所有选项 默认不显示Listen相关

2.2 pidof

pidof:查看服务器的进程id
语法:pidof [进程名]
功能:根据进程名

2.3 ps

ps:查看网络进程
语法:ps aux | grep 你的网络服务

2.4 ping

ping [url]
若有回应,证明有网

3. UDP协议

3.1 UDP报头

端口号、常见的命令(netstat、pidof、ps、ping)、UDP协议(UDP报头、UDP特点)

  • 16位源端口号:发送方端口号 16位目的端口号:接收方端口号
  • 16位UDP长度:报头和数据部分在内的总字节数,因为报头的长度是固定的,所以主要被用来计算可变长度的数据部分
  • 16位UDP校验和:保证数据的安全性,校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。如果校验和出错,则该数据直接丢弃

UDP怎么将报头与有效载荷分离?

UDP是定长报文,在数据读取时,只需要读取前8个字节,剩下的就是有效载荷

UDP怎么确定将有效载荷交给上层的谁?

16位目的端口号

正是因为受UDP协议报头中16位端口号的影响,使得端口号最大只能是65535,再大的话UDP放不下。

3.2 UDP的特点

UDP的传输过程类似于寄信

  • 无连接:知道对端大的IP和端口号就可以直接进行传输,不需要建立连接
  • 不可靠:如果因为网络故障数据无法发送到对方,UDP协议层不会给应用层返回任何错误信息
    不可靠的协议就是不好的协议吗? 当然不是,要让数据可靠就要做更多的事情,花费更多的资源去保证可靠性,往往比较复杂,有些事情没有必要让数据可靠,也就没有必要花那么多时间和资源去维护可靠性
  • 面向数据报:不能够灵活的控制读写数据的次数和数量 应用层交给UDP多长的报文,UDP将原样发送,即不会拆分也不会合并。

3.3 UDP缓冲区

UDP没有真正意义上的发送缓冲区,UDP会将数据直接交给内核,由内核将数据传给网络层协议进行后续的操作
UDP 具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报的顺序和和发送UDP报的顺序一致,如果缓冲区满了,再到达的UDP数据就会被丢弃。

相关文章:

  • 2021-09-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2021-04-07
猜你喜欢
  • 2022-01-16
  • 2021-09-23
  • 2021-10-29
  • 2021-10-16
  • 2021-11-19
  • 2021-11-23
  • 2021-11-23
相关资源
相似解决方案