码迷,mamicode.com
首页 > 其他好文 > 详细

网络数据传送原理与机制

时间:2017-10-03 22:15:38      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:事件   轮询   可靠   col   操作系统   有关   注册   成功   级别   

初识网络数据传送原理与机制,做了点小小笔记,记录每一天!

-------------------------------------------

网卡:  
  每一个网卡都有一个最大的传输速率     
  1: 接入互联网数据的物理设备,注意网卡的带宽。每秒传送的数据;     
  2: 互联网数据的最小单位是 bit,而不是 Byte;     
  3: 数据传输与网线等有关系,需要同级别网线配合;     
  4: 交换机最好使用一个牌子, 不要混合使用;
带宽:     
  1: 局域网带宽: 局域网链路内最大可以传输数据的速度;     
  2: 公网带宽: 广域网内最大可以传输的数据的速度;
端口:     
  80 端口 http 协议使用的, 443 端口 https 使用的     
  1: 网络传送数据的时,按照端口来进行数据包分类;
    只要某端口不被使用 就能使用它,如果有在使用,会造成冲突,用不了!              
    1):端口的取值范围在[1, 65535];              
    2):[1, 1023]系统保留端口;               
    3):[1024,5000] BSD 临时端口;  用户使用              
    4):[5001-65535], BSD 服务器(非特权)端口; 用户使用     
  2: 哪个数据包属于哪个端口的,根据端口分类;            
    1)所以应用程序通过网络收发数据的时候,一定会对应一个端口; (根据 IP + Port 来收发数据包)
Socket 套接字:     
  每个 socket 都有自己的 IP 与 Port 和 对方的 IP 与 Port     
  1: 对于建立起的网络连接,操作系统给一个唯一的标识这个连接的句柄----我们叫做 Socket 与 套接字     
  2: Socket两种类型: 
    (1) TCP Socket, 每发一个数据包,收方会向发送方返回一个 ACK。这样发方会再发下一个数据包,
    如果没有返回ACK,又没有收到断掉链接的事件,会继续发送刚才的包,直到对方返回ACK; 
      TCP 精准、可靠、速度慢
      千万不要怀疑 TCP
    (2) UDP Socket 每发送一个数据包,只要发出去了,就不管,继续发下一个,不管对方有没有收到这个包;
      UDP 不精准、不可靠、速度快
      千万不要相信 UDP
TCP 与 UDP 的比较:     
  1: TCP 是可靠的网络传送协议;    
  2: UDP 是快速的网络传送协议;     
  3: 游戏中一般采用 TCP。     
  4: UDP 可以在特殊的时候使用;
基于 TCP 的网络数据传输:     
  建立连接:         
    1: 服务器会有个监听端口              
    2: 客服端向服务器(IP 地址 + 端口)发送连接请求数据包;              
    3: 网卡会将这个连接请求的数据包,分发给这个监听端口;              
    4: 根据连接请求里面客服端的 IP 地址与端口,服务器程序会为它创建一个新的端口,              
    5: 端口被指定为和客服端这个 IP 地址 + 端口来进行数据通讯。               
    6: 连接成功后,就会把客户端创建的 Socket 与服务器创建的 Socket 形成我们的数据通道;     
  收数据: 
    Poll 轮询 模型;(客户端一般用 Poll 模型)                
        每隔一段时间去轮询,直到找到一个完整的包(应用层的包), 就能做相应的动作            
       Event 事件通知模型; (服务器 一般用 Event 模型)               
      在 Socket 注册一个回调函数, 等有事件发生时调用处理     
  发数据: 
    应用层直接发送数据,协议栈底层会将我们的数据包拆分成合适的小包,然后打上 TCP 协议的
    数据头,使用 TCP 协议传送给目的地, 对于目的地而言,它可能不是一次性的收到应用层这么多
    数据, 而是分批次的收到,(用户编程的时候一定要特别的小心);

到此结束咯!

方便他人,亦是方便自己!

网络数据传送原理与机制

标签:事件   轮询   可靠   col   操作系统   有关   注册   成功   级别   

原文地址:http://www.cnblogs.com/Jihan-/p/7624586.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!