TCP/IP
DaemonNemo
专业瞎扯
展开
-
OSI的7层模型和TCP/IP四层模型
TCP/IP 四层模型 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。 OSI 7层模型 物理层:主要定义物理设备标准(网线的接口类型、光纤的接口类型、各种传输介质的传输速率),作用:传输比特流,就是将高低电平(0,1)转化为电流强弱来进行传输,到达目的地之后再转...原创 2018-06-06 09:52:28 · 711 阅读 · 0 评论 -
TCP/IP协议-封装和分用
数据进入协议栈时的封装过程由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明数据属于哪一层。为此, IP在首部中存入一个长度为8 bit的数值,称作协议域。 1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。许多应用程序都可以使用 TCP或UDP来传送数据。运输层协议在生成报文首部时要存入一个应...原创 2018-10-25 21:49:54 · 831 阅读 · 0 评论 -
TCP/IP协议-分层
文章目录概念性术语1.报文(message)2.分组(packet)3.数据包(data packet)4.数据报(datagram)5.帧(frame)TCP/IP的四层协议系统网络层和运输层之间的区别不那么明显。为什么要把它们划分成两个不同的层次呢?概念性术语1.报文(message)报文是网络中交换与传输的数据单元,也是网络传输的单元。报文包含了将要发送的完整的数据信息,其长短不需...原创 2018-10-24 11:09:48 · 541 阅读 · 0 评论 -
互联网地址和域名系统
文章目录1.互联网地址2.域名系统1.互联网地址各类IP地址的范围(点分十进制表示法)类型范围A0.0.0.0 到 127.255.255.255B128.0.0.0 到 191.255.255.255C192.0.0.0 到 223.255.255.255D224.0.0.0 到 239.255.255.255E240.0.0.0 到...原创 2018-10-24 15:11:11 · 1113 阅读 · 0 评论 -
TCP/IP协议-链路层
文章目录1.IEEE 802封装2.环回接口1.IEEE 802封装TCP/IP协议族中,链路层主要有三个目的:(1)为IP模块发送和接收IP数据报(2)为ARP模块发送ARP请求和接收ARP应答(3)为RARP发送RARP请求和接收RARP应答IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)2.环回接口A类网络号127就是为环回接...原创 2018-11-01 23:06:56 · 329 阅读 · 0 评论 -
在WebSocket中使用mqtt
文章目录WebSocket协议WebSocket协议WebSocket协议是基于TCP的一种应用层网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。取代了网页和服务器采用HTTP轮询进行双向通讯的机制。如果mqtt在WebSocket连接上传输,必须满足以下条件:mqtt控制报文必须使用WebSocket二进制数据帧发送,如果收...原创 2019-01-16 18:26:15 · 2935 阅读 · 0 评论 -
TCP连接的心跳包机制
文章目录什么是心跳机制为什么需要心跳机制?如何及时有效地检测到另一方的非正常断开TCP的keeplive保活机制什么是心跳机制所谓的心跳包就是(探测性的)数据包,之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。为什么需要心跳机制?...原创 2019-02-14 11:38:11 · 4008 阅读 · 0 评论 -
多路IO复用--select实现
文章目录select函数select函数int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);参数1:所监听的所有文件描述符中,最大的文件描述符+1参数2:所监听的文件描述符“可读”事件参数3:所监听的文件描述符“可写”事件参数4:所监听的文...原创 2019-04-10 01:16:16 · 550 阅读 · 1 评论 -
多路IO复用--poll实现
文章目录函数参数说明server.c函数参数说明 int poll(struct pollfd *fds, nfds_t nfds, int timeout); struct pollfd { int fd; /* file descriptor */ short events; /* requested...原创 2019-04-21 23:42:14 · 172 阅读 · 0 评论