计算机网络
子知识库
文章
5.1 链路层-基本原理
基本原理1 概述两种链路 广播信道:有线局域网、卫星网、混合光纤同轴电缆接入网的多台主机。需要媒体访问控制协议(多路访问控制协议) 点对点通信链路。不需要多路访问控制协议。 概念 结点:运行链路层协议的设备 链路:沿通信路径,连接相邻节点的通信信道 服务 成帧:用链路层帧封装上层数据。网络层数据报插在数据字段。 链路接入:媒体访问控制协议规定了帧在链路上的传输规则,MAC协调多个节点的帧传输,点对点传输不需要媒体访问控制协议。 可靠交付:通过确认重传 差错检测和纠正。 实现在网络适配器中实现。 在发送端,控制器取的协议栈高层生成并存储在主机内存中的数据包,在链路层中封装该数据包。遵循链路接入协议,将该帧传入通信链路。 在接收端,控制器接受了整个帧,抽取网络层数据报。执行差错检测。 2 差错检测和纠正技术概述比特及差错检测和纠正。从一个结点到临近节点,发送的链路层帧中,比特损伤检测和纠正。(Error-Detection and Correction,EDC) 包括奇偶校验、校验和方法、循环冗余检测。 奇偶校验发送方附加一个比特,使得d+1个比特中的1的总数是奇数或者偶数。接...
5.2 链路层-多路访问
多路访问控制 参考文献 计算机网络——“自顶向下方法之链路层 计算机网络-链路层 1 概述点对点链路由链路一端的单个发送方和链路另一端的单个接收方组成。使用的协议包括:点对点协议(PPP)、高级数据链路控制(HDLC)。 广播链路多个发送和接受节点都连接到相同的、单一的、共享的广播信道上。多路访问协议用于规范节点在共享的广播信道上的传输行为。 多路访问控制(multiple access control protocol,MAC)协议可以分为三类——信道划分协议,随机接入协议和轮流协议。 TDM和FDM都是信道划分协议,而CDMA则是码分多址,如果配置恰当,可以同时接收节点而不被干扰。 随机接入协议在每一次碰撞后等待随机时间再发。时隙ALOHA是一个很简单的随机接入协议,而AHOHA效率是时隙ALOHA的一半。载波侦听多路访问(CSMA)会在开始之前监测是否有人说话,而如果其他人同时开始说话,则停下。 轮流协议轮效率低下,若调配节点出问题则崩盘。轮流协议包括令牌协议。 2 MAC-信道划分协议TDM时分多路复用(TDM),将时间划分为时间帧,并进一步划分每个时间帧...
5.3 链路层-交换局域网
交换局域网主要讲了使用交换机和以太网协议构建局域网 虚拟局域网跨越通过一个单一的物理局域网基础设施定义多个虚拟局域网。 1 链路层寻址(ARP)MAC地址并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像他也具有多个与之相关联的IP地址一样。重要的是链路层交换机并不具有于它们的接口相关联的链路层地址。 链路层地址被称为MAC地址。MAC地址长度为6字节,有2的48次方可能的地址。通过软件改变一块适配器 的MAC地址现在是可能的。适配器的MAC地址具有扁平结构,而且不论适配器到哪里用都不会变化。带有以太网接口的便携机其总具有相同的MAC地址。 当适配器发送一个帧时,发送适配器会将目的适配器的MAC地址插入到该帧当中,并将该帧发送到局域网上。当适配器收到一个帧时,将检查该帧中的目的MAC地址和自己的MAC地址是否匹配。若匹配,则取出数据向上传递,否则丢弃该帧。 内网地址解析协议当适配器要向某个目的适配器发送帧时,将目的适配器的MAC地址插入帧中,发到局域网上。然而如何进行IP地址与...
课程概要
课程概要1 课程安排 两人一组,访问实验室分班网站选择做实验的时间。 MOOC平台:www.mooc.buaa.edu.cn/www.icourse.163.org MOOC平台:network-lab.mooc.buaa.edu.cn 联系老师:张立军 10次课,10个实验,每次4个小时 教材:计算机网络实验教程(第二版)可以考虑买书。!!!! 2 考核标准 课内实验60%,MOOC实验40% 考试上机1.5小时 3 主要内容
面试问题整理
1. 对网络模型的理解 五层网络模型、七层网络模型。各层的主要作用。各层的数据结构。各层运行的协议。 2. TCP可靠数据传输的实现机制 停止等待、回退N步、选择重传。 校验和 序号机制 确认机制和超时重传。 滑动窗口和流水线技术 累计确认机制 选择重传机制 3. TCP的三次握手四次挥手 报文段类型SYN、FIN。状态迁移。序号变化。 4. TCP的流量控制和拥塞控制 慢启动 拥塞避免 快重传 快回复 5 路由算法 链路状态路由算法 距离向量路由算法 层次路由算法OSPF、BGP 6 为什么会出现粘包主要原因就是tcp数据传递模式是流模式,在保持长连接的时候可以进行多次的收和发。“粘包”可发生在发送端也可发生在接收端: 由Nagle算法造成的发送端的粘包:Nagle算法是一种改善网络传输效率的算法。简单来说就是当我们提交一段数据给TCP发送时,TCP并不立刻发送此段数据,而是等待一小段时间看看在等待期间是否还有要发送的数据,若有则会一次把这两段数据发送出去。 接收端接收不及时造成的接收端粘包:TCP会把接收到的数据存在自己的缓冲区中,然后通知应用层取数据。当应用...
浅析TCP字节流与UDP数据报的区别
“TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! 1、TCP 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子、矿泉水瓶、锅碗瓢盆)接水。 上面的例子中,往水池里倒几次水和接几次水是没有必然联系的,也就是说你可以只倒一次水,然后分10次接完。另外,水池里的水接多少就会少多少;往里面倒多少水,就会增加多少水,但是不能超过水池的容量,多出的水会溢出。 结合TCP的概念,水池就好比接收缓存,倒水就相当于发送数据,接水就相当于读取数据。好比你通过TCP连接给另一端发送数据,你只调用了一次write,发送了100个字节,但是对方可以分10次收完,每次10个字节;你也可以调用10次write,每次10个字节,但是对方可以一次就收完。(假设数据都能到达)但是,你发送的数据量不能大于对方的接收缓存(流量控制),如果你硬是要发送过量数据,则对方的缓存满了就会把多出的数据丢弃。 2、U...
图解OSI七层网络模型
简单图解OSI七层网络模型 翻译自Bradley Mitchell的《The Layers of the OSI Model Illustrated》 Open Systems Interconnection(OSI)定义了一个网络框架,其以层为单位实现了各种协议,同时会将控制权逐层传递。目前OSI主要作为教学工具被使用,其在概念上将计算机网络结构按逻辑顺序划分为7层。 较低层处理电信号、二进制数据块以及路由这些数据以便在网络中的穿梭;从用户的角度来看,更高的层次包括网络请求和响应、数据的表示和网络协议。 OSI模型最初被认为是构建网络系统的标准体系结构,今天许多流行的网络技术都可以看出OSI的分层设计。 物理层(Physical Layer)物理层是OSI模型的第一层,其职责在于通过网络通信媒介将比特流数据从发送(源)设备的物理层传输到接收(终)设备的物理层。 第一层技术的例子包括以太网电缆和集线器。此外,集线器和其他中继器是在物理层起作用的标准网络设备,电缆连接器也是如此。 在物理层,数据通过物理介质支持的以下信号类型进行传输: 电压 无线电频率 红外脉冲 普通光 ...
一次HTTP请求的过程
过程概览 对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址 根据这个IP,找到对应的服务器,发起TCP的三次握手 建立TCP连接后发起HTTP请求 服务器响应HTTP请求,浏览器得到html代码 浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源) 浏览器对页面进行渲染呈现给用户 注:1.DNS域名解析采用的是递归查询的方式,过程是,先去找DNS缓存->缓存找不到就去找根域名服务器->根域名又会去找下一级,这样递归查找之后,找到了,给我们的web浏览器2.为什么HTTP协议要基于TCP来实现? TCP是一个端到端的可靠的面相连接的协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题(当发生错误时,会重传)3.最后一步浏览器是如何对页面进行渲染的? a)解析html文件构成 DOM树,b)解析CSS文件构成渲染树, c)边解析,边渲染 , d)JS 单线程运行,JS有可能修改DOM结构,意味着JS执行完成前,后续所有资源的下载是没有必要的,所以JS是单线程,会阻塞...














