Linux网络编程
lulu10922
这个作者很懒,什么都没留下…
展开
-
socket(三)
一、REUSEADDR 服务器端关闭,再重新启动时又要去重新绑定地址,但此时网络仍处于TIME_WAIT状态,无法重新绑定。解决的办法就是服务器在绑定前调用setsockopt来设置REUSEADDR套接字选项。它可以使不必等待TIME_WAIT状态消失就可以重启服务器。 int on=1; if(setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,原创 2015-11-03 22:13:57 · 240 阅读 · 0 评论 -
socket(二)
一、TCP客户/服务器模型 二、socket函数 #include int socket(int domain, int type, int protocol); 功能:创建一个套接字用于通信 参数:domain:指定通信协议族原创 2015-11-03 21:54:17 · 281 阅读 · 0 评论 -
TCP/IP基础(一)
1、 OSI(open system interconnection)开放系统互联模型是由ISO定义的网络分层模型,共七层: 2、 TCP/IP四层模型及其与OSI七层模型的对应关系: 3、 TCP/IP四层模型每层的协议: 4、 封装(encapsulation): 分用(demultiplexing): 5、原创 2016-04-05 23:27:57 · 292 阅读 · 0 评论 -
TCP/IP基础(二)
本节主要是链路层相关概念和协议。 1、最大传输单元MTU,路径MTU 以太网和IEEE802.3对数据帧的长度都有限制,将这个限制称为最大传输单元MTU。 当网络上的两台主机互相通信时,可能要经过多个网络,每个网络的链路层可能有不同的MTU,两台通信主机路径中的最小MTU被称作路径MTU。 2、以太网帧格式 目的地址和源地址是6字节的MAC地址,由IP地址得到MA原创 2016-04-06 12:14:48 · 253 阅读 · 0 评论 -
TCP/IP基础(四)
1、TCP特点 基于字节流、面向连接、可靠传输、缓冲传输、全双工、流量控制。 2、TCP报文格式 序号:序号表示在这个报文段中的第一个数据字节序号。 确认号:仅当ACK标志位1时有效。确认号表示期望收到的下一个字节的序号。 ACK:确认序号有效,RST:连接重置,SYN:用来发起一个连接,FIN:表示将要终止一个连接。 3、连接建立的三次握手原创 2016-04-06 22:59:18 · 225 阅读 · 0 评论 -
TCP/IP基础(三)
1、IP数据报格式 首部长度的单位是4字节,最大15*4个字节。总长度单位是字节。 16位标识,用来标识一个IP包,每发送一个此值加1,到65535后从头开始循环,若分片,则各个分片标识一样。3为标志,第一位不用,第二位DF为,若为1则不分片,第三位MF若为1,则标识后续还有分片。IP分片后,每个分组的片偏移值不同,接收端根据片偏移值来重组IP包。 TTL(T原创 2016-04-06 12:38:26 · 199 阅读 · 0 评论 -
socket(一)
一、什么是socket socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。 二、套接口地址结构 IPv4地址结构: #include struct sockaddr_in { sa_family_t sin_family; /* address family: A原创 2015-11-02 23:10:34 · 268 阅读 · 0 评论