网络基础
文章平均质量分 80
雪沫沫
程序代码是个很神奇的东西,我不知道我会在这条路上走多久,但是和他打交道的每一秒我都是开心的,付出努力的。
展开
-
Linux网络基础——TCP报文中URG和PSH比较
TCP报文标志位中URG与PSH URG(紧急位): 急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的) PSH(急迫位): 在一个交互程序中,当客户发送一个命令给服务器时,转载 2017-06-19 23:34:28 · 294 阅读 · 0 评论 -
Linux网络基础——TCP中的定时器
TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失。TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。关键在于超时和重传策略,即怎样决定超时的时间间隔和如何确定重传的频率。 1、TCP 通过以下方式提供可靠性: ◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文原创 2017-06-19 23:41:41 · 284 阅读 · 0 评论 -
Linux网络基础——TCP握手与挥手
1.为什么连接的时候是三次握手,关闭的时候却是四次握手? 因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,”你发的FIN报文我收到了”。只有等到我Server端所有的报原创 2017-06-19 23:44:15 · 172 阅读 · 0 评论 -
Linux【网络编程】——I/O多路转接之Poll服务器
Select服务器: 系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这⾥里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三 个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是s原创 2017-07-02 20:17:21 · 258 阅读 · 0 评论 -
Linux网络基础——ARP协议
ARP协议: 地址解析协议 对于以太网,数据链路层上是根据48bit的以太网地址来确定目的接口,设备驱动程序从不检查IP数据报中的目的IP地址。ARP协议为IP地址到对应的硬件地址之间提供动态映射。 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址原创 2017-06-12 23:21:25 · 360 阅读 · 0 评论 -
Linux网络基础——NAT技术与代理服务器
NAT技术: NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP 地址空间的枯竭。NAT工作流程: ①如下图这个 client 的 gateway 设定为 NAT原创 2017-06-12 23:40:36 · 282 阅读 · 0 评论 -
Linux网络基础——端口
端口: “端口”是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。硬件端口: CPU通过接口寄存器或特定电路与外设进行数据传原创 2017-06-12 23:55:25 · 626 阅读 · 0 评论