UNP学习

1、TCP、UDP、SCTP使用16位的端口号来区分进程。
2、小端排序:将低序字节存储在低地址。大端则相反。两者是主机字节序。
3、MSB:最高有效位 LSB:最低有效位。
4、每次connnect失败后,都必须close当前的套接字描述符并重新调用socket。
5、connect被一个信号中断且不能自动重启时,不能再次调用,必须调用select等待连接完成。
6、Unix下的5中IO模型:阻塞式IO、非阻塞式IO、IO复用(select和poll)、信号驱动式IO(SIGIO)、异步IO(aio_系列函数)。
7、同步IO:导致请求进程阻塞,知道IO操作完成。
异步IO:不导致请求进程阻塞。
8、拒绝服务型攻击:当一个服务器在处理多个客户时,他绝对不能阻塞于只与单个客户相关的某个函数的调用,否则可能导致服务器被挂起,拒绝所有其他客户提供服务。
9、接收低水位标记是让select返回“可读”时套接字接收缓冲区所需的数据量;发送低水位标记是让select返回“可写”时套接字发送缓冲区所需的可用空间。
10、大多数TCP服务器是并发的,UDP服务器是迭代的。
11、服务器如果绑定的是通配IP地址,内核将为封装这些应答的IP数据报选择源地址,选为源地址的是外出接口的主IP地址。
12、UDP的connect仅检查是否存在错误,保存对端信息,没有三次握手。一个已连接的UDP套接字仅仅与一个IP地址交换数据报。响应的发送接收函数也与未连接的不同,不能指定IP。重新调用connect可以改IP或者是断开套接字。
13、网络信息中,只有主机和网络信息可通过dns获取,协议和服务信息总是从相应的文件中读取。
14、一个IPv6地址无法表示成一个IPv4地址,因此IPv6的单栈客户端无法与IPv4的服务器连接。IPv6的双栈客户端可以指定IPv4映射的IPv6地址以连接,改IPv4地址发送至IPv4服务器。
15、IPv4单栈主机无法与到IPv6单栈主机连接。
16、inetd是一个守护进程,监听网络请求,每当有一个请求到达时,启动相应的服务器。在初始化时读取配置文件,完成所有的socket,bind以及listen操作。
17、unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法。
18、有关于select和非阻塞connect的以下两个规则:

  • 当连接成功建立时,描述符变为可写;
  • 当连接建立遇到错误时,描述符变为即可读又可写。

因此可通过错误值判断是否connect成功。
19、广播地址的目的id全是255。广播会加大网络的负担。
20、广播是所有的主机都会接收,多播是在分组内的主机才会接收。都会在ip层、传输层进行软件过滤。
21、TCP没有真正的带外数据,提供紧急模式和紧急指针。紧急通知不会受流量控制和拥塞控制的影响。带外标记总是指向普通数据最后一个字节紧后的位置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值