尽管所有Linux系统都自带防火墙内核程序,但需要用户进行配置才能起到保护网络安全的目的。Linux系统下实现软件防火墙的设计与应用,实质上就是基于主机的网络安全解决方案。因为该防火墙系统是基于主机设计的,故只需要一个联网的主机即可进行实验。
尽管所有Linux系统都自带防火墙内核程序,但需要用户进行配置才能起到保护网络安全的目的。Linux系统下实现软件防火墙的设计与应用,实质上就是基于主机的网络安全解决方案。因为该防火墙系统是基于主机设计的,故只需要一个联网的主机即可进行实验。
TCP/IP协议栈是Linux内核的重要组成部分和网络编程的基石,虽然Linux和BSD有很大的联系,但是对于某些Socket选项和内核操作仍然存在差异,因此文中适用场景均为仅Linux。
网络编程卷一,卷二》等参考书籍。概念和知识也无法很好的,流畅地阅读这本书。卷一要想把每一句话都理解清楚,需要反复细读,并结合一些其他的网络书籍帮助理解。计算机科学丛书大部分我都是读的中文版本,阅读这么厚的英文原著,时间和效率上不划算。而且很多经典计算机书籍都有这样的问题,对于作者来说可能里面的概念就是很自然的事情,因此不会特意打比方,加入大量插图,深入浅出。
本章学完后应该对网络编程有一个直观的印象。图片发自简书App看完本章关于socket编程接口和协议模型的论述,对协议觉理解加深了一步。本书的焦点是:如何使用套接字编写使用TCP或者UDP的网络应用程序。图片发自简书App作者在前言中已经给出了书中代码的下载地址,但我总觉得还是自己手动敲一遍理解更深。为了分享,笔者在github上建立一个仓库,地址如下:本书的后续学习实验代码均会更新到该仓库。
socket编程1.//RAW类型,用于提供原始网络访问socket编程1.udp的connect函数未连接的UDP套接字已连接的UDP套接字连接套接字输出第一个数据报断开套接字连接连接套接字输出第二个数据报断开套接字连接连接套接字输出第一个数据报输出第二个数据报首先我们为SIGALARM建立一个信号处理函数,并在每次调用前通过alarm设置一个5秒的超时。