什么是网络编程?

网络编程

  • 通过操作相应 API 调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程;

Socket 是什么

  • 简单来说是 IP 地址与端口的结合协议(RFC 793);
  • 一种地址与端口的结合描述协议;
  • TCP/IP 协议的相关 API 的总称;是网络 API 的集合实现;
  • 涵盖了 Stream Socket / Datagram Socket;

Socket 的作用与组成

  • 作用:在网络传输中,用于唯一标识两个端点[1]之间的连接,这种连接不是物理层面的,不一定时时刻刻是连接的;
  • 组成(4要素):客户端地址、客户端端口、服务端地址、服务端端口;

Socket 之 TCP

  • TCP 是面向连接的通信协议;
  • 通过 3 次握手建立连接,通讯完成时要拆除连接;
  • 由于 TCP 是面向连接的,所以只能用于端到端的通讯,在和一端通讯的同时,不能和其他端通讯;

Socket 之 UDP

  • UDP 是面向无连接的通讯协议;
  • UDP 数据包括目的端口号和源端口号信息;
  • 由于通讯不需要连接,所以可以实现广播发送,并不局限于端到端;

报文段

  • 报文段在 TCP/IP 协议的网络传输过程中,起着路由导航的作用;
  • 用以查询各个网络的路由网段,IP地址,交换协议等 IP 数据包;
  • 报文段充当整个 TCP/IP 协议数据包的导航路由功能;
  • 报文在传输过程中会不断的封装成:分组、包、帧来传输;
  • 封装方式就是添加一些控制信息组成首部,即报文头;

IPv4

  • 总数量:4294967296(42亿)个,于2011年2月3日用尽;
  • 1.1.1.1:直接广播地址,往这个地址发 UDP ,整个互联网都能收到,但实际上,受限于区域的防火墙;
    1. 255.255.255:受限广播地址,往这个地址发 UDP,整个局域网都能收到;

IPv6

  • 共 128 位长,表现形式一般采用32个十六进制数;
  • 由两个逻辑组成部分:一个 64 位的网络前缀和一个 64 位的主机地址,主机地址通常根据物理地址自动生成;
  • IPv4 一定可以转换成 IPv6,IPv6 转换成 IPv4 不一定可行;

端口

  • 端口总数 65536 个,但是一台计算机能建立的连接不是只能有 65536 个,每个 IP 对应 65536 个端口,如果计算机有多个 IP ,就可以建立多于 65536 个连接;

  1. IP + Port;

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值