网络编程小知识点

1.网络分层
(1)链路层——链路层(通过广播找到对应网卡,会引起广播风暴,优化出现了网络层)

mac地址(理论上全球唯一)》》》》网卡(设备)

(2)网络层——网络层(通过ip地址划分不同的子网,避免广播风暴)

ip地址》》》》电脑(主机)
ip分为ipv4 跟ipv6(ivp4公网用完了,现实用的是子网) 

(3)传输层——传输层

端口》》》》网络程序(进程)每一个使用网卡的程序的编号
对于一个系统,一个端口只能被一个进程拥有(例如飞Q的2425端口被调试助手占用打不开)
 对于一个端口,不同的系统中对应不同的进程
 知名端口: 80端口分配给HTTP服务, 21端口分配给FTP服务

(4)应用层——应用层

app

利用ip地址,协议,端口就可以标识网络的进程了
socket(简称套接字)是进程间通信的一种方式,不同点它是实现不同主机间的进程间通信。
单工:收音机(只收不发)
半双工:对讲机(一人说话占用频道其他人说不了,要么说要么听)
全双工:电话(能说能听)
SOCKET套接字全双工,例如下载上传,udp.tcp全双工

协议类型

  • ARP:是正向地址解析协议(Address Resolution Protocol),通过已知的 IP,寻找对应 主机的 MAC 地址。
  • RARP:是反向地址转换协议,通过 MAC 地址确定 IP 地址。
    是因特网互联协议(Internet Protocol)
  • IP:是因特网互联协议(Internet Protocol)
  • ICMP:是 Internet 控制报文协议(Internet Control Message Protocol)它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。
  • IGMP:是 Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。
  • TCP:传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。
  • UDP:用户数据报协议(User Datagram Protocol),是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
  • HTTP:超文本传输协议(Hyper Text Transfer Protocol),是互联网上应用最为广泛的一种网络协议。
  • FTP:文件传输协议(File Transfer Protocol)

TCP 与 UDP 的不同点

  • 面向连接(确认有创建三方交握,连接已创建才作传输。)
  • 有序数据传输
  • 重发丢失的数据包
  • 舍弃重复的数据包
  • 无差错的数据传输
  • 阻塞/流量控制

猜你喜欢

转载自blog.csdn.net/hr504883750/article/details/81807519