摘要: 常用套接字类型<1>流式套接字(SOCK_STREAM) TCP 提供面向连接的、可靠的传输服务,数据无差错,无重复的发送, 且按发送顺序接收。<2>数据报式套接字(SOCK_DGRAM) 提供无连接服务。不提供无差错保证,数据可能丢失或者重复,并且接收顺序混乱。<3>原始套接字(SOCK_RAW) 阅读全文
posted @ 2017-03-02 22:39 LinuxRookie 阅读(791) 评论(0) 推荐(0) 编辑
摘要: (3)字节序 <1>大端字节序 最高的有效位存储于最低内存地址处,最低有效位存储于最高内存地址处。 <2>小端字节序 最高的有效位存储于最高内存地址处,最低有效位存储于最低内存地址处。 保存0x12345678 >内存地址增长的方向 12 34 56 78 大端字节序 78 56 34 12 小端字 阅读全文
posted @ 2017-03-02 22:37 LinuxRookie 阅读(238) 评论(0) 推荐(0) 编辑
摘要: (1)IPv4套接口地址结构通常也称为"网际套接字地址结构",它以"sockaddr_in"命名, 定义在<netinet/in.h> struct sockaddr_in{ uint8_t sin_len; //整个sockaddr_in结构体的长度 sa_family sin_family; / 阅读全文
posted @ 2017-03-02 22:34 LinuxRookie 阅读(882) 评论(0) 推荐(0) 编辑
摘要: <1>通知接受窗口(rwnd): 预防应用程序发送的数据超过对方的缓冲区。接收方使用的流量控制<2>拥塞窗口(cwnd): 预防应用程序发送的数据超过网络所承受的能力。发送方使用的流量控制<3>发送窗口取两者较小值<4>慢启动阈值: ssthresh: slow start threshold<5> 阅读全文
posted @ 2017-03-02 07:02 LinuxRookie 阅读(505) 评论(0) 推荐(0) 编辑
摘要: (1)应用程序ping会判断发送的是主机名还是IP地址,调用函数gethostbyname()解析主机B,将主机转换为一个32位的 IP地址。这个过程叫做DNS域名解析。 (2)ping程序向目的IP地址发送一个ICMP的ECHO包 (3)将目标主机的IP地址转换为48位的硬件地址,在局域网内发送A 阅读全文
posted @ 2017-03-02 06:45 LinuxRookie 阅读(639) 评论(0) 推荐(0) 编辑
摘要: (1)以太网和IEEE802.3对数据帧的长度都是有限制的,其最大分别是1500和1492字节,成为MTU。 (2)如果IP层有一个数据要传输,而且数据的长度比链路层的MTU要大,那么IP层就要进行分片(Fragmentation), 把数据包分成若干片,这样每一片都小于MTU。 (3)当网络上的两 阅读全文
posted @ 2017-03-02 06:44 LinuxRookie 阅读(247) 评论(0) 推荐(0) 编辑
摘要: (1)众所周知的端口:0~1023,这些端口由IANA分配和控制它们紧密绑定用于一些服务。常用这些端口的通讯 明确表明了某些协议。例如:21端口为ftp服务端口。 (2)注册端口:1024~49151.这些端口不受IANA控制,但是由IANA登记并提欧诺个使用情况清单。它们松散地 绑定一些服务。 ( 阅读全文
posted @ 2017-03-02 06:43 LinuxRookie 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 应用层、传输层、网络层、链路层 链路层:常用协议 ARP(将物理地址转化为IP地址) RARP(将IP地址转换为物理地址) 网络层(IP层):重要协议ICMP IP IGMP 传输层:重要的协议TCP、UDP 应用层:用户自定义协议 tftp telnet TCP的特点: (1)基于字节流 (2)面 阅读全文
posted @ 2017-03-02 06:43 LinuxRookie 阅读(1052) 评论(1) 推荐(0) 编辑
摘要: OSI(Open System Interconnection)开放系统互联模型(1)应用层: 应用层与应用程序界面沟通,以达到展示给用户的目的。(2)表示层: 表示层对网络传输的数据进行交换,使得多个主机之间的传送的信息能够相互理解,包括数据的 压缩、加密、格式转换等。(3)会话层: 管理主机之间 阅读全文
posted @ 2017-03-02 06:41 LinuxRookie 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 本文基于icool210开发板,内核版本:linux2.6.35; 驱动代码: (1)头文件:led.h (2)代码文件:led.c (3)Makefile文件 (4)测试应用程序:app.c 操作方法: (1)编译 .ko 文件 在驱动代码路径直接执行 make (2)编译 应用程序 arm-li 阅读全文
posted @ 2017-02-22 22:21 LinuxRookie 阅读(2743) 评论(0) 推荐(0) 编辑