Computer Network

网原笔记

分层模型

中文 English data Protocol or Device
应用层 Application Layer SMTP, FTP, DNS
表示层 Presentation Layer JPEG, MPEG, GIF
会话层 Session Layer NetBIOS, PPTP
传输层 Transport Layer Segment TCP, UDP NetBIOS, PPTP
网络层 Network Layer Packet Routers and Switches
数据链路层 Data Link Layer Frame Switches and Bridges
物理层 Physics Layer Bit Hub, Repeater, and Cables

其中数据链路层Data Link Layer又被分为两个子层Logic Link Control(LLC)Media Access Control(MAC)

How data flows in the OSI model

  1. Application Layer: Applications create the data.
  2. Presentation Layer: Data is formatted and encrypted.
  3. Session Layer: Connections are established and managed.
  4. Transport Layer: Data is broken into segments for reliable delivery.
  5. Network Layer: Segments are packaged into packets and routed.
  6. Data Link Layer: Packets are framed and sent to the next device.
  7. Physical Layer: Frames are converted into bits and transmitted physically.

网络设备

repeater(中继器)

  • 中继器仅在物理层工作,用于再生微弱信号。

hub(集线器)

  • 集线器是多端口的中继器,用于将多个设备连接在一起。
  • 集线器是广播设备,它将接收到的数据包发送到所有端口(除了输入端口),因此若有多个设备发送数据包,会发生冲突,需要CSMA/CD
  • 一般支持半双工通信。

需要CSMA/CD的情况

  • 当多个设备连接到集线器时,集线器会将数据包发送到所有端口,因此可能会发生冲突。
  • 半双工线路上的设备可能会同时发送数据包。

bridge(网桥)

  • 网桥充当两个局域网之间的桥梁,并帮助连接它们以相互传输数据。

switch(交换机)

  • 交换机可以分为二层交换机三层交换机两种分类方式。二层交换机和三层交换机分别用于数据链路层和网络层。
  • 交换机的功能是转发数据,端口隔离。
  • 不同于集线器的广播,当交换机工作的时候,只有发出请求的端口与目的端口之间相互响应。
  • 支持全双工通信。
  • 与网桥相比,第二层交换机在网络上提供更好的性能,可连接多个设备并根据其接收的帧的 MAC 地址做出过滤决策。
  • 三层交换机在网络层充当路由器,处理能力更快。它会快速检查帧的地址,并从表中查找 MAC 地址(如果可用)。

router(路由器)

  • 工作在网络层,根据IP地址在网络上转发数据包。

参考

Network Devices (Repeater, Hub, Bridge, NIC, Switch, Router and Gateway)

数据链路层协议

1bit滑动窗口

由于发送缓冲区长度为1,所以要想捎带ack,只能重复发送那个尚未得到确认的帧。当双方同时开始发时,会有一半的重复帧。

退后n帧重传

  • 要求发送窗口尺寸<序号个数。
  • 当连续发送n个帧时,比如1-n,这时会收到的ack有一个范围0-n,0是考虑到1丢失的情况。此时需要保证0和n的ack不重复,即n<序号个数。

注意只会超时的时候退后n帧重传。

选择重传

  • 当发送窗口>=接收窗口时,接收窗口尺寸<=序号个数/2,发送窗口尺寸<序号个数。
    • 例如,发送窗口尺寸为序号个数-1,接收窗口尺寸为序号个数/2。
  • 当发送窗口<接收窗口时,接收窗口尺寸+发送窗口<=序号个数。
  • 发送窗口大于接收窗口其实没太大意义,超出的部分都是会被重传的。
  • 考虑发送窗口m小于接收窗口n。原先接收窗口为0-(n-1),发送窗口发完一轮0-(m-1)后接收窗口为m-(m+n-1),若确认帧丢失,发送窗口会重传0,这个0不能和m-(m+n-1)重复,所以m+n<=序号个数。

在超时和接收到NAK时进行选择重传

ack计时器启动:收到帧等于窗口下界或者发nak后 ??