TCP及DNS协议(3)

接着UDP和TCP写:

1.TCP堵塞控制

网络被称为“信息高速公路”。TCP段被封装成为IP包,在原主机和目标主机之间经过数个路由器进行传送。那么路由器有可能发生堵塞。当路由器处理不过来,很可能就会丢包。对于UDP来说,反正我也不可靠,我无所谓。对于TCP来说,我就要维持可靠,我就要重发,我只管我的可靠,不关心你的拥堵。这样很显然,本来拥堵的线路由于TCP的忠贞就更拥堵了。

当然,这只是我形象化了。而TCP也一定考虑到了这个问题。首先TCP要能检测出堵塞。上篇中只要出现TCP片段丢失,就认为是网络堵塞。

而TCP是怎样调节的呢?上节中我说了TCP发送速率受限于滑窗大小,而发送端滑窗大小受限于接收端Advertise window的大小。TCP还有一个congestion window size,取这两个值中间最小的值。

先看下图:

Slow Start是慢启动,这个慢启动在我们从网上下载电影时最明显,先从低速启动,然后稳定在一个速率左右下载文件。Congestion Avoidance就是堵塞避免。

上图只是我下面要说算法的图示。可能会有不同的算法来控制TCP的传输速率。cwnd代表congestion window size的大小,ssthresh是阈值函数。运行时,首先从slow start启动,这个初始设置为1,然后速率倍增。当cwnd到达ssthresh时,就会切换至congestion avoidance,这时速率还是会增,只不过是线性增长。如果速率增长到某一值,丢包了,那么ssthresh变为原来的0.5,同时转向slow
start。如果在slow start时丢包了,ssthresh也会变为原来的0.5,同时重新进入慢启动。

总之,先慢启动,速率启动到ssthresh时,就切换到congestion advoidance。如果中间有丢包,直接ssthresh变为原来的0.5,并转到慢启动重新启动。

2.DNS协议

DNS是域名解析系统,作用是将域名转化为IP。这样我们访问远程机只需记得容易理解的域名就可以了,DNS帮我们确定其IP。

DNS域名解析系统是部署在DNS服务器上的,多个DNS服务器组成树状结构。每一个服务器都代表着树的一个节点,如cs.berkerly.edu分段cs、berkerly、edu段。我们可以在DNS组成的这个树状关系网上最终确定cs.berkerly.edu。那么如果反复请求同一网址,DNS是怎样做到避免重复工作的?

是利用缓存。用户的计算机操作系统具有域名解析的模块。应用程序都是调用这些进行域名解析的。计算机将最近使用的域名解析结果存放在缓存中,如果短时间内再次请求某一网址,先看缓存中有没有,没有的话再去树上递归查询。

反向DNS是根据IP地址获取域名的。根据in-addr节点,不断地根据IP段来递归查询的。

时间: 2024-10-29 05:15:02

TCP及DNS协议(3)的相关文章

TCP与UDP协议

要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准, 从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族.不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中 应用层:TFTP,HTTP,SNMP,F

DNS协议

从百度开始说 众所周知,www.baidu.com就是百度网站的首页,它凭内容简单成为了不少电脑测试是否可以上网的直接凭据.www.baidu.com是一个域名,在真正通信的时候,域名是不被服务器这个铁疙瘩所识别的,铁疙瘩认识的就是IP地址.公网上的IP地址是唯一的,每个端口号有代表这一个程序进度.于是"ip地址+端口号"的组合就成了确定机器和它进行的程序的唯一识别码,而"ip地址+端口号"的组合名就叫socket. 虽然IP地址表示着机器,但是IP地址不好记,所以

IP、TCP和DNS与HTTP的密切关系

看了上一篇博文的发表时间,是7月22日,现在是10月22日,已经有三个月没写博客了.这三个月里各种忙各种瞎折腾,发生了很多事情,也思考了很多问题.现在这段时间开始闲下来了,同时该思考的事情也思考清楚了,所以打算继续写博客,分享我的工作上的经验总结和自己所接触的技术,让想多了解点技术的博友们可以互相交流和学习. 好了,废话不多说,直接进入主题,本次打算分享HTTP协议系列的相关文章,适合初学者学习,高手或者大神可以绕道,当然也可以一起交流交流. 这次先讲讲IP.TCP和DNS与HTTP的密切关系.

TCP,UDP,IP 协议简析

现在的操作系统基本都实现了TCP/IP协议,TCP/IP协议栈分为五层: 应用层:向用户提供的一组常用的应用程序,如TELNET,FTP,SMTP,SNTP,DNS,HTTP,这些应用程序有一个端口用来标识. 传输层:主要协议是TCP和UDP,提供应用程序的通信. 网络层:主要协议是IP协议,定义了IP地址格式,是不同应用程序的数据在网络上通畅传输的关键. 链路层:这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层. 物理层: 每

DNS协议与DNS服务器搭建(bind)

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● tcp/ip回顾 ● DNS协议/DNS服务相关概念 ● bind安装配置   正向解析区域   反向解析区域   主从服务器    子域配置    转发配置 ● bind安全设置   acl访问控制列表 ● bind view智能DNS 相关概念回顾: tcp/ip 通信子网--->内核中实现 传输层: 添加源端口与目标端口等信息. 由于发送方与接收方的速率可能不同,这样可能会导

DNS协议(一)

在互联网上要想与另外一台主机通信,要知道对方的IP地址,但是IP地址是很难记忆的, 比如百度的一台服务器的IP地址为115.239.210.27,我们在浏览器中输入http://115.239.210.27/就可以访问百度了,但是如果访问一个网站就要记住它的的IP是很蛋疼的事,人们习惯记住有意义的字符串,比如baidu. 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网.DNS 使

应用层协议FTP、DNS协议、HTTP协议分析

分析所用软件下载:Wireshark-win32-1.10.2.exe 一.阅读导览 1.分析FTP协议 2.分析DNS协议 3. 分析HTTP协议 二.分析要求 (1)ftp部分: 学习 Serv-U FTP Server 服务软件的基本配置和FTP 客户端命令的使用 设计应用以获取ftp报文 分析ftp报文的格式与内容(分析至少5个报文,并理解它们之间的关系) 观察 FTP 协议的工作过程,分析FTP 客户是以 PORT 模式还是 PASV 模式连接服务器,观察两种连接 的建立过程和释放过程

TCP与UDP协议分析

1 案例1:TCP与UDP协议分析1.1 问题1.通过抓包分析TCP与UDP的封装格式2.通过抓包分析TCP三次握手1.2 方案1.实验环境由两台主机PC1和PC2组成,PC1使用宿主机,PC2使用VMWare虚拟机,确保两台主机通信正常(需要关闭PC2的防火墙)2.在PC1上运行科来进行抓包3.在PC1上通过远程桌面访问PC2,然后在PC1上分析数据包,如图-1所示.1.3 步骤实现此案例需要按照如下步骤进行. 1.第一次握手,如图-2所示. 2.第二次握手,如图-3所示.3.第三次握手,如图

计算机网络【1】—— OSI七层协议和TCP/IP四层协议

新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 物理层.数据链路层.网络层.运输层.应用层 四.每层对应的协议及作用 物理层:RJ45.CLOCK.IEEE802.3 (中继器,集线器) 数据链路:PPP.FR.HDLC.VLAN.MAC (网桥,交换机) 网络层:IP.ICMP.ARP.RARP.OSPF.IPX.RIP.IGRP. (路由器)