网络编程 DAY28

1、思维导图

 2、重点

1>OIS 7层模型    

用户空间:应用层             7>提供各种网络接口
                   表示层             6>数据表示,加密与压缩
                   会话层             5>主机之间会话管理
内核空间:传输层             4>控制哪个进程发送哪个接受
                   网络层             3>寻址和路由选择
                   数据链路层     2>相邻节点可靠传输
                   物理层             1>二进制比特传输

TCP/IP 4层模型

  用户空间:应用层         
  内核空间:传输层    
                    网络层 
                    网络接口和物理层

TCP/IP 5层模型

用户空间:应用层        
内核空间:传输层    
                   网络层 
                   数据链路层
                   物理层

2>传输层的功能、网络层的功能?以及分别是第几层

传输层:第四层,提供端对端的接口

网络层:第三层,为数据包选择路由

3>MAC地址:
    a.IP地址变不变,MAC地址变不变

    切换网络,IP地址改变,MAC地址不改变

    b.ARP RARP协议功能

    ARP:通过ip地址获取其对应的mac地址。
    RARP:通过mac地址获取其对应的ip地址

4>限制数据包大小的协议?

   MTU和MSS协议

5>TCP和UDP的异同点

  1. TCP协议
    1. 提供面向连接的,可靠的数据传输服务
    2. 数据无误,数据无丢失,数据无失序,数据无重复到达的通信。
      1. 序列号:每一个数据包都会编上一个编号,该编号称之为序列号,且每一个序列号都需要应答包应答。
      2. 应答包:应答序列号的。
    3. 传输效率低,耗费资源多
    4. 数据的发送和接收是不同步的,存在粘包现象。(不存在数据边界)
      1. 由于TCP效率比较低,所以将多个足够小,且发送间隔短的数据包沾成一个包发送。该算法称之为nagle算法
  2. UDP
    1. 无连接的,不可靠的,尽力的传输协议。
    2. 不能保证数据的可靠性,数据有可能在传输过程中丢失,或者出现失序或者重复到达的情况。
    3. 传输效率高,
    4. 限制每次传输的数据大小,超出部分直接删除。
    5. 数据的发送和接收是同步的。(不会粘包)

6>IP分类,分成2类,分别是什么,占几个字节?

  1. IPv4:本质上是4个字节,32位的无符号整数
  2. IPv6:本质上是16个字节,128位无符号整数

7>IP划分?分成几类?其中哪几类可以分配给主机使用,D类,E类作用。

   a.特殊IP地址:网络地址,广播地址
   b.每—类的主机号是多少个,可用主机号是多少个

8>子网掩码
    a.默认子网掩码是什么
    b.给定IP地址,给定子网网段个数,会计算子网掩码
    c.给定IP地址,给定子网掩码,计算子网网段个数,每个子网网段中主机号个数,可用主机号个数。

C类IP地址的默认子网掩码:11111111 11111111 11111111 00000000 ==》 255.255.255.0

B类IP地址的默认子网掩码:11111111 11111111 00000000 00000000 ==》 255.255.0.0

A类IP地址的默认子网掩码:11111111 00000000 00000000 00000000 ==》 255.0.0.0

D类和E类没有子网掩码!!!!!

9>字节序
简述字节序的概念,并用共用体(联合体)的方式计算本机是大端还是小端

#include <stdio.h>                           

union t
{
    unsigned int a;
    char b;
};

int main(int argc, const char *argv[])
{ 
    union t x;
    x.a = 1;
    printf("%#x\n", x.b);
    if(0x01 == x.b)
    {
        printf("little-endian\n");
    }
    else
    {
        printf("big-endian\n");
    }


    return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值