网络基础 

  • ip地址:在网络中唯一标识一台主机
  • port端口:在一台主机上标识一个进程
  • 协议:通信双方的约定
  • 网络协议:网络通信中数据的约定格式
  • 通信协议标准:网络互联的前期

 协议分层

  • 就是协议的封装,便于使用
  • 多服务,接口,协议进行明确的划分;使得标准的实现变得简单

TCP/IP五层参考模型 

  • 物理层  数据链路层  网络层 传输层 应用层
  • 物理层:负责光电信号的传输;以太网协议;集线器
  • 链路层:负责相邻设备的数据帧传输,Ethernet :交换机
  • 网络层:负责地址管理与路由选择:IP ;路由器
  • 传输层:负责端与端之间的数据传输,TCP,UDP
  • 应用层:负责应用程序之间的数据沟通;HTTP FTP SMTP DNS

网络通信中数据的传输流程 

网络基础概述

 网络套接字编程

   ip地址:

 

网络字节序 

 

  • IPV4:uint_32 -----43亿左右----在网络中唯一标识一台主机
  • IPV6 uchar ip[16]---因为不向下兼容IPV4没有推广起来
  • DHCP:动态地址分配技术---谁上网给谁分配地址
  • NAT:地址替换---实现多人使用同一地址上网
  • IP地址采用点分十进制:例如:192.122.122.132
  • 每一条数据都会包含:src ip     dest ip
  • port端口:uint_16----0~65535            0-1024不推荐使用--在主机上唯一标识一个进程
  • 网络程序分为客户端和服务端,主动发起请求的一方是客户端,被动在指定位置接受的一方为服务端(服务端被动的接受地址必须是固定不变的)
  • 一个端口只能被一个进程占用,但是一个进程可以使用多个端口
  • 每条数据中包含:sip  sport  dip  dport  proto

传输层协议:TCP/IP

TCP:传输控制协议,面向连接,可靠传输,面向字节流

 

  • 面向连接:通信之前,先建立连接,确保双方在线
  • 可靠传输:在网络正常的情况下,数据不会丢失
  • 面向字节流:传输灵活,但是存在粘包问题
  • 使用场景:对数据安全要求性高,例如传输文件---保证数据安全
  • tcp为实现可靠传输牺牲了部分传输性能

UDP:用户数据包协议--无连接,不可靠,面向数据报

 

  • 面向数据报:每条数据有长度标识,整条发,整条收;但是传输不够灵活,但是不会存在粘包问题
  • 使用场景:对数据实时要求性高,例如传输视频----保证传输速度

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-05-19
  • 2021-11-16
  • 2021-05-23
  • 2021-12-12
  • 2021-09-07
  • 2022-01-08
  • 2021-10-09
猜你喜欢
  • 2021-06-01
  • 2021-12-10
  • 2021-11-26
  • 2021-04-26
  • 2021-10-28
相关资源
相似解决方案