![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 63
cong1024
知其然更要知其所以然
展开
-
socketAPI
1.创建套接字```#include <sys/types.h>#include <sys/socket.h>int sockfd = socket(int demain, int type, int protocal);```domain参数告诉系统使用哪个底族协议,IPV4为AF_INET,IPV6为AF_INET6。type参数指定服务类型,主要有SOCK_STREAM(流服务),SOCK_UG原创 2017-07-27 16:54:51 · 321 阅读 · 0 评论 -
TCP/IP——传输层
本文章通过对以下几个问题的解答,增加对传输层的理解。 1.传输层的作用是什么? 答:传输层作为底层数据的最高层,应用程序的最底层,要保证为两个应用程序提供无差错的端到端的通信。2.传输层如何区别不同应用程序之间的数据? 答:传输层对TCP报文经行分装或解析,在TCP报头中,有16位的源端口号,通过对源端口号可以唯一标识数据是哪个应用程序的。3.传输层有哪些协议? 答:TCP(传输控原创 2017-07-27 13:25:06 · 847 阅读 · 0 评论 -
拥塞控制
1.拥塞控制:提高网络利用率、降低丢包率、保证网络资源对每条数据流的公平性。2.拥塞控制的方法: <1>慢启动 TCP连接建立好后,拥塞窗口CWND被设置成初始值IW,此时,发送端酶促最多发送IW字节的数据。此后,发送端每接收到一个接收端的确认,就将CWND+1,CWND呈指数形式增长。慢启动的理由:刚开始发送数据时并不知道网络真正的情况,需要用一种试探的方式平滑的增加CWND的值。<2>拥塞避原创 2017-07-26 00:18:06 · 509 阅读 · 2 评论 -
TCP常见面试题
1.画出TCP的报头 2.说一下TCP的三次握手过程3.为什么TCP握手需要三次?TCP是可靠的传输控制协议,三次握手能保证数据可靠传输又能提高传输效率。如果TCP的握手是两次: <1>如果client发给server的SYN报文因为网络原因,延迟发送。由于client没有收到server对SYN的确认报文,会重发SYN报文,服务器和回复ACK,连接建立。数据发送完毕,这条连接被正常关闭。这时,原创 2017-07-25 21:51:32 · 25208 阅读 · 0 评论 -
IP协议
1.IP协议是网络层的协议,为上层提供无状态、无连接、不可靠的服务。 无状态:IP通信双方不同步传输数据的状态信息,IP数据报的发送、传输、接收都是独立的。 无连接:IP通信双方都不长久地维持对方地任何信息。上层协议每次发送数据的时候,都必须明确对方的IP地址。 不可靠:IP协议不能保证IP数据报准确的到达接收端。使用IP协议的上层协议需要自己实现数据确认、超时重传等机制以达到可靠传输。2.I原创 2017-07-25 14:30:12 · 565 阅读 · 0 评论 -
网络基本知识
1.OSI七层协议模型 2.TCP/IP四层协议模型 3.TCP/IP四层协议模型,各层常用的协议。 应用层:HTTP/DNS/SMTP/POP3传输层:TCP/UDP网络层:IP/ICMP数据链路层:ARP/RARP各层协议会对上层的数据包加上自己的报头信息,再发给下一层。解析时,各层对收到的下层数据包进行解析,再发给上一层。4.ARP工作原理:主机向自己所在的网络广播一条ARP请求,该请求原创 2017-07-25 13:06:16 · 2386 阅读 · 0 评论 -
运输层协议——TCP
1.TCP和UDP是传输层两个重要的协议。 TCP提供面向连接、可靠的字节流服务。使用TCP协议的两端必须先建立连接,才能开始数据的读写,双方必须都为连接分配必要的数据结构。TCP有发送缓冲区和接收缓冲区,TCP模块发出的数据报的个数和应用程序执行的写操作次数之间没有固定的关系。TCP的连接是全双工的。UDP提供面向无连接,不可靠的数据报服务。发送端每执行一次写操作,UDP模块就将其封装成UDP数原创 2017-07-25 20:29:12 · 2424 阅读 · 0 评论