Unix网络编程基础概念

一般认为,Web服务器程序是一个长时间运行的程序(即所谓的守护程序,daemon),它只在响应来自网络的请求时才发送网络消息。

一般网络应用,总是由Client发起Request,这样能够简化协议和程序本身。较为复杂的网络应用,由服务器向客户发起请求消息,这称为异步回调(asynchronous callback)通信。

TCP/IP协议族,也称网际协议族。SCTP(Stream Control Transmission Protocol)流控制传输协议,可靠的面向连接的传输层协议,
可以同时支持IPV4和IPV6,最初御用跨Internet传输电话信令。SCTP提供消息边界,传输级别多宿支持,将头段阻塞减少到最少的方法。
“IPV4/IPV6”主机或“双栈主机”表示同时支持IPv4和IPV6的主机。

#include<string.h>
bzero(&servaddr,sizeof(servaddr));等价于memset(&servaddr,0,sizeof(servaddr));

    每次只能处理一个客户的服务器称为迭代服务器(iterative server),多个客户同时到达时,在最大数目限制下,排入队列。
每次能处理多个客户的服务器称为并发服务器(concurrent server)。

   套接字编程接口:是OSI模型顶上三层(网际协议族的应用层)进入传输层的接口。
OSI模型顶上三层(网际协议族的应用层)处理具体的网络应用,对通信细节了解很少,它构成用户进程;而OSI底下四层对具体网络应用了解不多,却处理
所有的通信细节(发送数据、等待确认、给无序数据排序,计算校验和等),它们构成Unix操作系统的内核。
原始套接字,可以绕过传输层直接使用网络层IPV4、IPV6,甚至可以绕过IP层直接读写数据链路层帧。
 
      防御性编程(defensive programming):要求程序不仅能够期望对端程序最讯相同的网络协议,而且能够检查出未预期的网络数据传送并加以修正,从而使得网络应用从存在问题的网络中恢复,可能的话继续工作。
netstat -i:列出网络接口,eth0以太网接口,lo回环接口。
netstat -r:展示路由表

ifconfig eth0:获得eth0接口的详细信息。
ping -b 广播地址:获得本地网络中众多主机

Unix版本以及类Unix系统:
FreeBSD,MacOS(基于Unix内核),HP-UX,AIX,Linux,Solaris(SunOS)

Unix标准,单一Unix规范第三版(Single Unix Specification Version 3),简单的称之为POSIX规范。
 
拒绝服务攻击:当一个服务器在处理多个客户是,它绝不能阻塞于只与单个客户相关的函数调用上。否则可能导致服务器被挂起,拒绝为所有其它客户提供服
务。这就是拒绝服务攻击。任何导致服务器不能正常的给其他合法用户服务的攻击,都是拒绝服务攻击。



                                                                                                 TCP/IP协议族


                                                                       TCP状态转换图


                                        各种常见因特网应用的协议使用情况


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值