网络基础:TCP/IP
文章平均质量分 75
通用核心技能,要求掌握
hinzer
HINZER,坐标北京,我在芯片设计行业,目前做 GPU 固件和驱动开发,对嵌入式 OS 感兴趣。
展开
-
TCP协议+IO多路复用 --- select,poll,epoll分析
select、poll、epollselect,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己...原创 2018-09-08 12:06:04 · 2102 阅读 · 5 评论 -
web服务器、应用服务器、web应用框架的关系
概念web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS. 应用服务器:负责处理逻辑的服务器。比如php、python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。 web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flas...原创 2018-08-03 14:53:15 · 3008 阅读 · 0 评论 -
网络抓包工具 wireshark 入门教程
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用...转载 2018-08-19 19:57:14 · 798 阅读 · 0 评论 -
TCP三次握手与四次挥手
我们都知道TCP是一种可靠的,面向连接的传输层协议。如何理解TCP底层的运作机制,对于应用开发者而言,socket内部封装了tcp协议,不用操心,但却是面试环节中常考的问题之一。目的 熟练三次握手建立连接过程 了解数据传输过程 熟练四次挥手断开连接过程常见标志位 SYN 请求建立连接 ACK 应答 FIN 断开连接...原创 2018-08-20 20:11:51 · 662 阅读 · 1 评论 -
IP地址主机号全0和全1
局域网的IP在一个局域网中,有两个IP地址比较特殊,一个是网络号,一个是广播地址。网络号是用于三层寻址的地址,它代表了整个网络本身;另一个是广播地址,它代表了网络全部的主机。网络号是网段中的第一个地址,广播地址是网段中的最后一个地址,这两个地址是不能配置在计算机主机上的。例如在192.168.0.0这样的网段中,网络号是192.168.0.0,广播地址是192.168.0.255。...原创 2018-10-18 21:00:14 · 69203 阅读 · 3 评论 -
TCP/IP学习笔记(1)-基本概念
转载于:Linux就该这么学为什么会有tcp/ip?在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了...转载 2018-11-01 12:32:20 · 569 阅读 · 1 评论 -
TCP/IP学习笔记(2)-数据链路层
转载于:Linux就该这么学 数据链路层有三个目的: 为IP模块发送和 接收IP数据报。 为ARP模块发送ARP请求和接收ARP应答。 为RARP发送RARP请 求和接收RARP应答 ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫做逆地址解析协议,在tcp/ip协议的后面章节会介绍它们(...转载 2018-11-01 12:32:29 · 573 阅读 · 0 评论 -
TCP/IP学习笔记(3)-IP、ARP、RARP协议
转载于:Linux就该这么学 把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。IP协议IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议...转载 2018-11-01 12:32:38 · 568 阅读 · 0 评论 -
TCP/IP学习笔记(4)-ICMP,ping,traceroute
转载于:Linux就该这么学 IMCP协议介绍当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前 16bit就组成了ICMP所要传递的信息。书上的图...转载 2018-11-01 12:32:44 · 587 阅读 · 0 评论 -
TCP/IP学习笔记(5)-IP选路
转载于:Linux就该这么学 静态IP选路一个简单的路由表选路是IP层最重要的一个功能之一。前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由。这里就不重复了。首先来看看一个简单的系统路由表。Destination Gateway Genmask Flags Metric Ref Use Iface...转载 2018-11-01 12:32:49 · 545 阅读 · 0 评论 -
TCP/IP学习笔记(6)-UDP协议
转载于:Linux就该这么学 UDP简要介绍UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议。UDP协议头UDP端口号由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包。端口号的功能就在于此,例如某一个UDP程序A在系统中注册了3000端口,...转载 2018-11-01 12:32:54 · 537 阅读 · 0 评论 -
TCP/IP学习笔记(7)-广播,多播IGMP协议
转载于:Linux就该这么学 单播,多播,广播的介绍单播(unicast)单播是说,对特定的主机进行数据传送。例如给某一个主机发送IP数据包。这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是网卡的MAC地址(不是FF-FF-FF-FF-FF-FF这样的地址)。现在的具有路由功能的主机应该可以将单播数据定向转发,而目的主机的网 络接口则可以过滤掉和自己M...转载 2018-11-01 12:32:59 · 636 阅读 · 0 评论 -
TCP/IP学习笔记(8)-tcp协议
转载于:Linux就该这么学 终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读。简要介绍TCP和UDP处在同一层---传输层,但是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的,也就是说,利用TCP通信的两台主机首先要经历一个“拨打电话”的过程,等到通信准备结束才开始传输数据,最后结束通话。所以TCP要...转载 2018-11-01 12:33:04 · 576 阅读 · 0 评论 -
【问题解决】socket黏包
问题描述:建立TCP连接之后, client端write fd,向server端发送数据。server端read fd。结果出现收发不一致的现象,原本的期望是client发一次,server收一次。但是却出现了收发不一致的现象。client:write 连续写两次server:read读一次问题分析:两端同时对socket缓冲区操作,client连续两次writ...原创 2019-07-14 16:25:27 · 1073 阅读 · 0 评论