首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    网络编程socket之一

    从今年10月22号开始我的python学习之路,一个月下来,磕磕碰碰,勉勉强强把基础部分算是学完了,一个月走过来,我过着别人看似单调,重复的生活,确实是,每天,每周都是一样的生活模式,早上7点40起床,吃个早餐,8点到达教室,中午1点去吃个午饭,然后回到教室,下午6点去吃个晚饭,然后回到教室,待到晚上11点回家洗个澡睡觉,每天都一样的。我的朋友会问我,这样的生活不无聊吗?我回答是不,我的朋友可能认为两年的军旅生活早就让我习惯了单调无味的生活,我觉得有可能两年军旅生活确实让我有强大的适应性,但我认为最主要的是我真心觉得学习编程语言让我很感兴趣,以前的我感觉网络啊,计算机等这类东西感觉好遥远,根本无法触及,但现在我能去控制它,是多么牛逼的事。前一个月基础部分不算很难,只要逻辑思维跟上,就基本不是问题,而且涛哥真的讲的很好,很有耐心,很感谢涛哥。从这周三开始接触网络编程,一上来就很懵逼,什么ip啊,MAC地址啊,交换机啊,路由器等等关于计算机和网络的东西真的让我很萌,根本不知道是啥,相当于重新认知新事物,但几天学习下来,感觉这类东西是要学习的,但对于现阶段的我来说,不用太深入去专研,而主要是的是学会网络编程过程,接下来,我就把这几天所学到知识跟大家分享一下。

    02

    Linux下的DHCP服务的原理及搭建

    DHCP:     动态主机配置协议Dynamic host configuration protocol     DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议。(主要包括:ip地址,子网掩码,网关和dns等)     工作原理:         1、客户机寻找服务器:广播发送discover包,寻找dhcp服务器         2、服务器响应请求:单播发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择         其中服务器在收到客户端的请求后,会针对客户端的mac地址与本身的设定数据进行一下工作:             a、到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有且该ip目前没有人使用,这提供此ip为客户机             b、若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机             c、如果没有符合以上两个条件,则随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。         3、客户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报服务器。             此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。         4、服务器确认租约:单播Ack包,服务器与客户机确认租约关系并记录到服务器的leases文件中 。         客户端打开68号端口,服务器打开67号端口。     配置:         配置文件都放在/etc/dhcp目录下;主配置文件为dhcpd.conf         将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到配置文件目录下,并覆盖dhcpd.conf文件,即可获得主配置文件。         主配置文件的主要内容介绍:             option domain-name "example.org";      --指定网域的域名             option domain-name-servers ns1.example.org, ns2.example.org;        --指定域名解析服务器(DNS)的ip地址。             default-lease-time 600;    --默认租约时间,单位为s             max-lease-time 7200;        --最大租约时间,单位为s。过期续约,续约直接发送request包即可。             log-facility local7;        --日志设备类型为local7.一般日志设备类型包括mail、crontab。通过此选项可以找到该服务的日志记录路径             subnet 10.5.5.0 netmask 255.255.255.224 {      --指定分配网段的ip地址以及子网掩码,括号内部为局部配置。             range 10.5.5.26 10.5.5.30;      --可使用的地址池范围             option domain-name-servers ns1.internal.example.org;        --该网段的域名,可以省略             option domain-name "internal.example.org";      --网段DNS             option routers 10.5.5.1;        --指定网关             option broadcast-address 10.5.5.31;    --指定广播地址             default-lease-time 600;    --租约时间             max-lease-time 7200;        --最大租约时间。             }             host passacaglia {      --主机名称             hardware ethernet 0:0:c0:5d:bd:95;      --主机的MAC地址             filename "vmunix.passacaglia";             server-name "toccata.fugue.com";        --文件名和服务器名,不太需要。             fixed-address fantasia.fugue.com;      --固定的ip地址

    02
    领券