计算机网络读书笔记

路由器:

在网络核心部分起特殊作用,它是一种专用计算机(但不是主机)。路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分的最重要的功能。路由器用于转发分组,即进行分组交换。(路由器收到一个分组,先暂时存储下来,再检查其首部,查找路由表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器)

具有五层协议的体系结构

计算机网络读书笔记

1.应用层:

应用层是体系结构中的最高层。应用层的任务是如何通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指正在运行的程序。对于不同的网络应用需要有不同的应用层协议。

2.运输层:

运输层的任务就是负责向两台主机中进程之间提供通用的数据传输服务。应用进程利用该服务传送应用层报文。通用是指多种应用可以使用同一个运输层的服务。由于一台主机可以同时运行多个进程,因此运输层具有复用和分用的功能。
运输层主要使用以下两种协议:
1.传输控制协议TCP
提供面向连接的,可高的数据传输服务,其数据传输的单位是报文段
2.用户数据报协议UDP
提供无连接的,尽最大努力的数据传输服务,(不保证数据传输的可靠性),其数据传输的单位是用户数据报

3.网络层

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP,因此分组也叫IP数据报或简称为数据报
无论在哪一层传送的数据单元,习惯上都可笼统地用“分组”来表示。
网络层的另一个任务就是使源主机运输层所传下来的分组,能够通过路由器找到合适的路由,最后到达目的主机。

4.数据链路层

数据链路层常简称为链路层。在相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点结点间的链路上传送帧。每一帧都包含数据和必要的控制信息(如:同步信息,地址信息,差错控制)。

5.物理层

在物理层传送数据的单位是比特。

实体,协议和服务

实体:表示任何可发送或接收信息的硬件或软件进程
协议:控制两个对等实体(或多个实体)进行通信的规则的集合
两个对等的实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层提供的服务。

数据链路层的学习

数据链路和帧

链路:从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
数据链路:当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据传输。把这些实现协议的硬件和软件加到链路上,就构成了数据链路。
点对点信道的数据链路层在进行通信的主要步骤:
1.结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
2.结点A把封装好的帧发送给结点B的数据链路层
3.若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给上面的网络层,否则丢弃掉这个帧。

数据链路层的三个基本问题

1.封装成帧
网络层的IP数据报必须向下传送到数据链路层,成为帧的部分,同时它的前面后面分别添加上首部和尾部,然后封装成一个完整的帧。帧的长度等于帧的数据部分长度加上帧首部和帧尾部的长度。首部和尾部的主要作用时进行帧的界定。在数据传输过程中,接收端通过判断接收的数据有无首部尾部即可判断接收的数据是否完整。
2.透明传输‘
当传送的帧是用文本文件组成的帧时(文本文件中的字符都是从键盘上输入的),其数据部分不会出现帧界定控制字符。所以不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
但是当数据部分是非ASCII码的文本文件时,若数据中的某个自己解的二进制代码恰好和SOH或EOT这种控制字符一样,数据链路层就会错误的找到“帧的边界”,把部分帧收下,把剩下的那部分数据丢弃。
为了解决透明传输问题,必须设法使数据中可能出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符的前面插入一个转义字符“ESC”,在接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充。
3.差错检验
比特在传输过程中可能会出现差错(比特差错)
循环冗余检验(CRC)

数据链路层的可靠传输

由于会发生帧丢失或者帧重复,都属于出现了“传输差错”,可见在数据链路层仅仅使用CRC检验,还不能够实现可靠传输。停止等待协议可实现可靠传输:
计算机网络读书笔记
无差错的情况:
A发送第一个帧,发送完就暂定发送,等待B的确认。B收到了M1就向A发送确认M1.A收到接收端对M1的确认以后,就发送下一个M2。
有差错的情况:
B接收M1时检测出现差错,就丢弃M1,其他什么也不做,M1也可能在传输过程中丢失,A只要超过一段时间没有收到确认,就认为已经发送的帧出错或者丢失了,因而重传已发送的帧。这就叫做超时重传。实现超市重传,就要在每发送完一帧设置一个超时计时器。若在超市计时器到期之前收到了对方的确认,则把超市计时器清零。
需要注意的两点:
1.A在发送完一个帧后,必须暂时保留已发送的帧的副本(为发生超时重传时使用)。只有在收到相应的确认之后才能清除暂时保留的副本
2.超时计时器设置的重传时间应当比帧传输的平均往返时间更长一些。