网络编程基础知识

IP地址

  1. 四个点分十进制: 0.0.0.0
  2. (实际上是)四个八位二进制数:0000000.00000000.00000000.00000000
  3. 范围: 0.0.0.0-255.255.255.255
  4. 通过IP地址就能找到对应的mac地址(arp协议)

网关

  1. 局域网中的机器想要访问局域网外的机器,需要通过网关访问
  2. IP地址与子网掩码 按位与 ---->得到局域网的网段

端口 port

  1. 在计算机上,每一个需要通信的程序,都会开一个端口
  2. IP地址+端口 可以确定某台计算机上某个程序
  3. 在同一时间,一台计算机上只会有一个程序占用一个端口
  4. 端口范围:0-65535

TCP/UDP

TCP

建立连接:三次握手
数据传输:全双工的通信
断开连接:四次挥手

  • 四次挥手:(一次)从客户端向服务端发起断开请求。(二次)服务端回复同意。{此时,客户端不能向服务端发送信息。服务端还能向客户端发送数据}(三次)服务端向客户端发送断开请求。(四次)客户端向服务端回复同意。
  • 三次挥手:(一次)客户端向服务端发送连接请求。(二次)服务端向客户端回复同意,同时向客户端发送连接请求。(三次)客户端向服务端回复同意。全双工连接建立。


    image.png

UDP

当应用程序希望通过UDP与一个应用程序通信时,传输数据之前源端和终端不建立连接。
当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

互联网协议与osi模型

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层


image.png

应用层:想要发送的信息(相关协议:http(https), ftp, smtp)
传输层:选择通信协议(TCP/UDP协议)
网络层:IP协议(给上一层的报文添加ip信息)
数据链路层:给报文添加mac地址的信息(arp协议)
物理层:通过网线传输信息

你可能感兴趣的:(网络编程基础知识)