网络编程
lixin_com
目前正在学习中,加油!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
四层网络协议解析之ARP协议
现在主流的协议是TCP/IP协议族,自底向上分别是数据链路层、网络层、传输层和应用层。每层都有各自的功能,上层协议使用下层协议提供的服务。 数据链路层主要实现了网卡接口的网络驱动程序。两个常用的协议是ARP(地址解析协议)和RARP(逆地址解析)。32位IP-》48位Mac地址。 ARP协议能实现任意网络地址到任意整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即...原创 2018-07-26 16:49:25 · 569 阅读 · 0 评论 -
四层网络协议之DNS
一、四层网络协议 我平时所输入的www.baidu.com都只是域名,而不是ip,而DNS服务器会帮我们把域名转化为IP地址。 DNS(Domain Name Service)域名服务,协议提供及其域名到IP地址的转换。 DNS的端口是80 Linux下访问DNS服务:使用命令host 二、基于DNS的简单实现 ...原创 2018-07-26 17:33:51 · 1523 阅读 · 0 评论 -
Tcp、udp协议
一、Tcp协议 TCP协议(控制传输协议)是为应用层提供可靠的、面向连接的和基于流式的服务。 可靠:TCP协议使用超时重传、数据确认等方式来确保数据包被正确地发送至目的端。 面向连接:使用TCP协议协议的双方必须要建立tcp连接,并在内核中为该链接维持创造一些必要的数据结构,比如连接的状态、读写缓冲区以及诸多定时器等,当双方通信结束时,双方必须关闭链接以释放这些内核数据。 流式的:基于流式...原创 2018-07-27 17:33:42 · 203 阅读 · 0 评论 -
tcp Timewait、处理半打开链接以及心跳检测
TIME_WAIT一般是发生在服务期端的,因为客户端的端口再次链接时会重新分配,当然你也可以指定客户端的端口,只是一般不这么做。我试过用bind去绑定客户端,但下次链接时端口还是会发生改变。 TIME_WAIT如何改变? 改动内核參数/proc/sys/net/ipv4/tcp_tw/recycle来高速回收被关闭的socket,从而是tcp连接根本不进入time_wait状态,进而同意应...原创 2018-08-05 17:32:37 · 590 阅读 · 0 评论 -
TCP超时重传、拥塞控制
TCP超时重传是指:TCP服务必须重传在超时时间内未收到确认的报文段。 TCP模块为每个TCP报文段都维护一个定时器,该定时器在第一次被发送时启动,如果超时时间内未收到对方的应答,TCP模块将重新发送并重置定时器。 在我的centos7上它做少重传次数为3; 最多为15 拥塞控制的最终受控量是发送窗口的大小(一次所发送数据量的大小),它的值不能太大(网络拥塞),也不能太小(...原创 2018-08-06 20:52:12 · 1596 阅读 · 0 评论 -
socket编程函数
原创 2018-08-08 10:24:06 · 305 阅读 · 0 评论 -
IP协议以及ICMP、Ping
一、IP协议 IP协议是TCP/IP协议的动力,它为·上层协议提供不可靠、无状态、无链接的服务。 无状态是指通信双方传输数据状态的不同步,因此所有的IP数据报的发送、传输和接受都是相互独立的、没有上下文关系。这意味着它无法处理乱序和重复的IP数据报。但无状态的优点也很明显:简单、高效,我们无需为保持通信而分配一些内核资源,传输数据时也不用携带状态信息。 不可靠体现在IP协议不能保证数据准确的...原创 2018-08-24 11:39:13 · 15757 阅读 · 1 评论
分享