随笔分类 -  UNP

UNP——原始套接字
摘要:1.原始套接字的用处 使用原始套接字可以构造或读取网际层及其以上报文。 具体来说,可以构造 ICMP, IGMP 协议报文,通过开启 IP_HDRINCL 套接字选项,进而自定义 IPv4首部。 2. 创建原始套接字 2.1 使用 SOCK_RAW 创建原始套接字 sockfd = socket(A 阅读全文

posted @ 2020-11-18 14:19 开心种树 阅读(467) 评论(0) 推荐(0) 编辑

第20章 广播
摘要:1.概述 UDP和原始套接字支持广播 广播的用处: (1)客户端确定服务器位于本子网内时,使用广播探测服务器 (2)服务器广播发送信息给本子网内客户端,以减少网络上分组。 常见使用广播的程序: DHCP,ARP,RIP 2.广播地址 广播地址有两种: (1)子网定向广播地址:{子网,-1},192. 阅读全文

posted @ 2020-03-24 21:34 开心种树 阅读(139) 评论(0) 推荐(0) 编辑

第14章——高级IO函数
摘要:1.套接字超时 套接字IO函数设置超时的方法有三种: (1)调用alarm。 (2)select (3)使用SO_RECTIMEO和 SO_SNDTIMEO 选项 上面三种方法适用于输入输出操作(read , write, sendto , recvfrom ..) (1)(2)适用于所有文件描述符 阅读全文

posted @ 2020-03-12 07:40 开心种树 阅读(214) 评论(0) 推荐(0) 编辑

UNP第13章——守护进程
摘要:1. 守护进程的启动方法 (1)系统初始化脚本启动,在系统启动阶段,按照如/etc目录或/etc/rc开头的目录中的某些脚本启动,这些守护进程一开始就有超级用户权限。如inetd,cron,Web服务器 (2)由inetd超级服务器启动。inetd监听网络请求(FTP,Telnet..),每当一个请 阅读全文

posted @ 2020-03-12 07:16 开心种树 阅读(219) 评论(0) 推荐(0) 编辑

UNP第11章——名字与地址转换
摘要:1.域名系统 程序中只使用主机名和服务名的好处是,如果IP或端口变化,只需要改变映射关系,不需要重新编译程序。 1.1 资源记录 DNS的条目为资源记录,有用的项如下: A IPv4地址 AAAA IPv6地址 CNAME 规范名字 如: ftp.unpbook.com 的 CNAME 为 linu 阅读全文

posted @ 2020-03-08 07:04 开心种树 阅读(281) 评论(0) 推荐(0) 编辑

UNP——第六章,多路转接IO——select
摘要:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); struct timeval { long tv_sec; /* seconds */ long 阅读全文

posted @ 2020-03-02 09:18 开心种树 阅读(277) 评论(0) 推荐(0) 编辑

UNP——第五章,TCP客户/服务程序
摘要:tcpser void str_echo(int sockfd) { long arg1, arg2; ssize_t n; char line[MAXLINE]; for ( ; ; ) { if ( (n = Readline(sockfd, line, MAXLINE)) == 0) // 当 阅读全文

posted @ 2020-02-20 22:13 开心种树 阅读(215) 评论(0) 推荐(0) 编辑

UNP——第四章,TCP套接字编程
摘要:1.socket 函数 首先被调用的函数,用于选择通信协议。 socket调用成功后,得到的套接字为主动套接字CLOSED状态。 PF 和 AF 的关系 PF的是协议族,AF是地址族,理论上一个PF包括多个AF,但实际上一个PF只实现了一个AF,所以两者在编程上是同等的。 2.connect con 阅读全文

posted @ 2020-01-20 23:26 开心种树 阅读(228) 评论(0) 推荐(0) 编辑

UNP——第三章,套接字编程介绍
摘要:1.套接字结构 多数套接字函数都有套接字结构参数,每个协议族都定义了自己的套接字结构,以 sockaddr_ 开始,并对应协议族的唯一后缀。 struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_por 阅读全文

posted @ 2020-01-20 22:01 开心种树 阅读(231) 评论(0) 推荐(0) 编辑

UNP——第二章,端口号,套接字对,TCP,UDP输出
摘要:1.端口号 端口号用于区分使用相同协议的进程。 TCP69 与 UDP69 是不同的。 端口号范围 0 - 65535, 其中 0- 1023 是保留端口。 2.套接字对 TCP服务通过套接字对,唯一识别进程。 如上,服务器fork后,两个子进程都 bind 了 12.106.32.254:21,那 阅读全文

posted @ 2020-01-16 23:53 开心种树 阅读(548) 评论(0) 推荐(0) 编辑

UNP——第二章,TCP状态,TIME_WAIT
摘要:状态可以用 netstat 验证 加粗线为 数据交换。 可以看出,TCP在 建立连接和 关闭连接,耗费资源, 因为UDP只需要两次数据通信即可。 但UDP没有可靠传输,和流量控制。 上面协商的MSS为,两者最小值,即小于536 注释: MSS时SYN的一个选项,用于告诉对方 它的最大分节大小,即在本 阅读全文

posted @ 2020-01-16 01:55 开心种树 阅读(172) 评论(0) 推荐(0) 编辑

UNP——第二章,TCP握手与挥手分析
摘要:1.握手 说明: 下面涉及 FIN,SYN,ACK之类数据时,都是由TCP服务收发, 涉及 accept, listen 之类api,都是 应用进程 完成。 都统一使用 客户端,服务端描述,请自行分辨。 (1)首先描述下3次握手,TCP协议做了什么。 客户端,主动打开,发送自己的序列号SYNj,并期 阅读全文

posted @ 2020-01-16 01:10 开心种树 阅读(290) 评论(1) 推荐(0) 编辑

UNP——第二章,常见协议概述
摘要:1.为什么要了解协议 程序员与协议合作,完成应用。 了解协议是为了了解协议完成了什么,提供了什么服务,自己还应该做什么。 2.从协议的角度,套接字是什么 套接字是协议的接口, IP套接字,代表可使用IP协议服务。 TCP套接字,代表可使用TCP协议服务。 3.对编程而言,UDP协议应该了解什么 (1 阅读全文

posted @ 2020-01-12 21:18 开心种树 阅读(257) 评论(4) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示