TCP/IP协议
小小路边草
喜欢尝试各种编程语言,喜欢研究各种技术
展开
-
网络协议学习之局域网监听技术
ARP即地址解析协议,用于处理主机之间获取MAC地址与IP地址的映射问题。 若主机A和主机B通讯。当A主机网络层数据交给数据链路层时,数据就被数据链路层封装为MAC帧,MAC帧需要知道目的主机B的MAC地址。 于是在目的B的MAC未知的情况下,A主机数据链路层会向局域网广播一个ARP广播,广播的内容类似于”请问ip地址为aaaa的主机是谁, 请告诉我(IP bbbb,MAC bbbbb原创 2015-07-28 18:14:45 · 1770 阅读 · 0 评论 -
UDP中connet()的验证代码
Server:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h>int main(int argc, char **argv) { int原创 2015-10-20 11:22:28 · 543 阅读 · 0 评论 -
关于网络编程中一些常用函数的理解
自以为对于UDP,TCP的理解还算深刻,但是具体到使用的时候还是经常犯糊涂,现在再梳理梳理。在网络编程中,用到的一些函数有:socket,bind,listen,accept,connect,send,sendto,recv,recvfrom等。 socket()用于创建一个套接字。 bind()将套接字和本地地址结构绑定。 listen()将套接字设置为监听状态。 connect()用于向原创 2015-10-19 11:43:40 · 1484 阅读 · 0 评论 -
ARP缓存表更新条件
经过多次的失败,得出的一点点总结,有需要的朋友可作个参考,也欢迎指正本人的错误。(每个结论都已经验证过!) 收到ARP请求后,更新ARP缓存表和应答的条件: 1,收到一个请求包,若目的mac是硬件广播地址,且目的IP是本机IP,即请求本机mac,则查看ARP缓存表是否有源主机IP与源主机mac 地址的对应条目,若有且与收到的不一致则更新,若无,则添加,最后构造一个针对请求主机的A原创 2014-06-07 23:26:38 · 20564 阅读 · 3 评论 -
网络协议学习之局域网监听技术
ARP即地址解析协议,用于处理主机之间获取MAC地址与IP地址的映射问题。 若主机A和主机B通讯。当A主机网络层数据交给数据链路层时,数据就被数据链路层封装为MAC帧,MAC帧需要知道目的主机B的MAC地址。 于是在目的B的MAC未知的情况下,A主机数据链路层会向局域网广播一个ARP广播,广播的内容类似于"请问ip地址为aaaa的主机是谁, 请告诉我(IP bbbb,MAC bbbb原创 2014-06-11 21:07:26 · 1112 阅读 · 0 评论 -
域名解析-vs2010代码示例
头文件的内容dns.h/** * file dns.h * Define the DNS request packet header format. * Author : Wen Shifang * 2015.8.20 */#ifndef __DNS_H__ #define __DNS_H__#define PLATFORM_WINDOWS /* 域名查询请求报文头定义,1字节对齐*/原创 2015-08-25 18:57:28 · 1142 阅读 · 0 评论 -
域名解析-DNS-MDNS-LLMNR
域名系统DNS(Domain Name System)。 网络上提供名字解析的服务称为域名服务器,网络上存在大量树状组织的DNS服务器,用来完成用域名到网络地址或者网络地址到域名的解析工作。DNS是一种最传统,最重要,也是最常用的,工作原理可参考http://blog.csdn.net/yipiankongbai/article/details/25031461的详细描述。在用Wireshark抓原创 2015-08-20 10:47:36 · 5738 阅读 · 0 评论 -
网络协议学习之ARP相关概念
ARP高速缓存 该高速缓存存放着最近Internet地址到硬件地址之间的映射记录。每个映射记录都设置了生存时间(通常为几分钟或几十分钟),凡超过生存时间的记录都会从映射记录中删除。 可以通过arp -a查看ARP高速缓存中的所有内容。 可以通过arp -s来增加高速缓存中的内容,通过命令只能增加静态ARP信息。可以通过arp -s来删除高速缓存中的内容,比如arp -s 157.55.原创 2015-07-29 16:35:47 · 1056 阅读 · 0 评论 -
TFTP协议简介
TFTP(Trival File Transfer Protocol),即简单文件传输协议. TFTP是使用广泛,也是比较传统的文件传输协议之一.它采用C/S模式,也即分为TFTP服务器和TFTP客户端. TFTP服务器为TFTP客户端提供文件上传、下载服务. 一般的TFTP协议使用UDP作为下层协议,但是有的TFTP也使用了其他的协议作为下层支持. 本文仅简单描述TFTP协议,若原创 2014-11-13 18:28:52 · 2238 阅读 · 0 评论 -
TCP/IP协议-TCP的7个定时器
1,连接建立(connection establishment)”定时器在发送SYN报文段建立一条新连接时启动。如果在75秒内没有收到响应,连接建立将中止。 2, “重传(retransmission)”定时器在TCP发送某个数据段时设定。如果该定时器超时而对端的确认还未到达,TCP将重传该数据段。重传定时器的值 (即TCP等待对端确认的时间)是动态计算的,与RTT的估计值密切相关,且还取决于该原创 2015-07-28 18:01:03 · 608 阅读 · 0 评论 -
对UDP执行connect()操作产生的问题
上面一篇文章说到一些网络操作常用的函数,现在补充一下。对于UDP来说,不存在connect()一说,因为UDP本身没有建立连接、三次握手之说,那是TCP的事,但是如果在程序中对UDP套接字执行了connect会产生什么状况?对UDP执行connect(),并没有进行真正地连接操作,而相当于给对应的套接字设置了目的地址:端口,此后对该套接字可以直接使用send(),recv()发送数据和接收数据。 需原创 2015-10-20 10:43:45 · 1984 阅读 · 0 评论