LINUX网络编程

协议: 一组规则

分层模型结构:

     OSI(Open System Interconnect): 物,数,网,传,会,表,应

    TCP/IP 4层模型: 链,网,传,应

     应用层:HTTP,FTP,SSH,TELNET,NFS

     传输层:TCP,  UDP

      网络层: IP, ICMP, IGMP

     链路层: 以太网帧协议,ARP

网络传输流程:

    数据没有封装以前,是不能在网络中传递

以太网帧协议(链路层):

    ARP协议: 根据IP地址获取MAC地址。

   以太网帧协议: 根据mac地址,完成数据包传输。

IP协议(网络层):

      版本: IPv4,IPv6

      TTL: time to live 。设置数据包在路由节点中的跳转上限。 每当经过一个路由器,算一跳,如果经过一定的次数,就会把数据包丢弃,防止拥塞网络。 

     源IP:  32位——4字节          192.168.1.108  ——点分十进制IP地址(string)——二进制(给网络节点看的)

    目标IP: 32位——4字节

    IP地址: 网络环境中唯一标识一台主机。

    端口号: 在网络的一台主机上唯一标识一个进程。

     IP地址+端口号:  网络环境中唯一标识一个进程。

UDP(传输层):

     16位源端口号    16位目的端口号   

      32位序号

     32位确认序号

     6个标志位

     16位窗口大小。   2^16 = 65536

      

C/S  

   优点:  缓存大量数据,协议选择灵活,速度快,应用程序的迭代和更新更方便

   缺点:  安全性

B/S

    优点:  安全性,跨平台

     缺点: 不能缓存大量数据,必须严格遵守HTTP协议

管道有两个文件描述符,一个缓冲区。

套接字有一个文件描述符,两个缓冲区。一个发送缓冲,一个读缓冲。

网络字节序:

    小端法(pc本地存储): 高位存高地址,低位存低地址。   

     大端法(网络存储):  高位存在低地址上,低位存在高地址上。

网络数据流采用大端字节序。

htonl(unit32_t hostlong)函数本地字节序转网络字节序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值