受人启示,学习前不如先换个主题趁便来听首歌(?)国王排名的op,这个编曲真的怪喜爱的

说起来做这篇发现b站某网课老师的计网用的课件跟QMUL一模一样,不会全世界都这个吧


这章的重点是理解传输层的作业原理 + 学习Internet的传输层协议,先从了解传输层开端

写的太妙了,了解前摘录一下:

最开端的衔接层协议品种繁多(Ethernet、Wifi、ARP等等)。到了网络层只剩下一个IP协议。进入到传输层(transport layer),协议的品种又开端繁多起来(比如TCP、UDP、SCTP等)。就好像下面的大树,根部(衔接层)分叉很多,然后一致到一个树干(网络层),到了树冠(传输层)部分又开端开端分叉,而每个树枝上长出更多的树叶(应用层)。咱们在网络层已经看到,经过树干的一致,咱们完成了一个掩盖全球的互联网络(Internet)。但是,咱们可能出于不同的目的运用这张“网”,随之运用的方法也有所区别。不同的传输层协议(以及更多的应用层协议)正是咱们运用“网”的不同方法的表现。

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

传输层概述

  • 为在不同主机(hosts)上运行的应用程序进程之间提供逻辑通讯(logical communication)
  • 协议在终端(end systems)中运行
    • 发送端(send side):将应用程序音讯分成若干段(segments),传递到网络层
    • 接纳端(rcv side):将段从头组装成音讯,传递到应用层
  • 应用程序可运用多个传输协议
    • 比如互联网一起运用TCP和UDP

判断题,应该没什么问题

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

传输层与网络层的比较

  • 传输层:进程之间的逻辑通讯
    • 依靠、增强网络层服务
  • 网络层:主机(hosts)之间的逻辑通讯

【课件上的小比喻】Ann的12个孩子给Bill家的12个孩子写信:
主机=房子,进程=儿童,应用程序音讯=信封中的信件,传输协议=Ann and Bill who give letter to correct child,网络层协议=邮政服务

传输层用到网络协议

可靠的、保序的传输:TCP
多路复用、解复用;拥塞操控;流量操控;建立衔接

不可靠、不保序的传输:UDP
多路复用、解复用;没有为尽力而为的IP服务增加更多的其它额外服务(no-frills extension of“best-effort” IP)

都不提供的服务:
延时保证;带宽保证

多路复用和解多路复用

简要概念

  • 多路复用:multiplexing(Mux)
    • 将多个数据流(streams)合并为一个数据流;把传给不同人的数据压在了一起
    • e.g.:你的的手机正在浏览网页,改写电子邮件,一起衔接到微信。所有这些衔接都经过同一链路发送
  • 解多路复用:demultiplexing
    • 上面的逆进程,数据流被分离成独自的部分,相当于解码
    • 手机接纳到的数据包流将被分割并发送到相应的网络、电子邮件、微信程序

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

发送端:处理来自多个套接字的数据,增加传输层头(IP和端口等,稍后用于解复用),然后一起往后面传
接纳端:运用报头信息将收到的片段传送到正确的套接字

看不懂的话往下看!

作业原理

解复用

关于端口: IP协议进行的是IP地址到IP地址的传输,这意味者两台计算机之间的对话。但每台计算机中需求有多个通讯通道,并将多个通讯通道分配给不同的进程运用(关于进程,可以参阅Linux进程根底)。一个端口就代表了这样的一个通讯通道。正如咱们在邮局和邮差中提到的收信人的概念一样。引入的端口号可以区别不同进程,TCP、UDP的端口号都是16bits,有6w+个端口号

  • 主机接纳IP数据报
    • 每个IP数据报都有注明源IP地址、方针IP地址
    • 每个数据报携带一个传输层段 transport-layer segment
    • 每个segment都有源及方针的端口号

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

  • 主机运用IP地址和端口号将网段定向到适当的套接字,从而衔接到应用

概念测试

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

无衔接的多路复用(@UDP)

无衔接和面向衔接鄙人一节解说

recall: 创立的套接字具有主机本地端口,如

DatagramSocket mySocket1 = new DatagramSocket(12534);
  • 主机要发送:创立要发送到UDP套接字的数据报时,有必要指定
    • 方针IP地址
    • 方针端口
  • 主机接纳UDP段时:
    • 查看段中的方针端口
    • 将UDP段定向到具有该端口的套接字

∴ 具有相同目的端口,但不同源IP地址或源端口号的。也将定向到同一方针socket

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

易知右边那玩意必定也是要发向6428接口,源自然是5775

面向衔接的解复用(@TCP)

网络协议5:【传输层】概述+传输过程中的多路复用和解复用

区别不大,相同经过源于结尾IP、端口断定 (称之为四元组,要记住),但是

  • 服务器可以在一个TCP端口上一起支撑多个TCP套接字:
    • 每个套接字由其四元组标识(有不同的源IP和源PORT)
    • dest port相同是80的数据被解到了不同的sockets
  • Web服务器对每个衔接客户端有不同的套接字
    • 非持久对每个请求有不同的套接字

趁便,一些常用的端口

  • Port 80: 标准HTTP(超文本传输协议)浏览web
  • Port 22: ssh(secure shell)从远程计算机登录
  • Port 25: SMTP(简略邮件传输协议)经过此主机发送邮件
  • Port 143: IMAP(Internet邮件访问协议)阅读您的电子邮件
  • Port 443: HTTPS(安全HTTP)浏览web安全

题目

判断正误

  • Multiplexing is performed when traffic is received.
    • False (multiplexing is combining)
  • In a connection-oriented demux only one process can receive data set to a given port.
    • False (one port can connect to many processes).
  • In a connection-oriented demux we need 4 pieces of information to identify the process to receive a packet.
    • True (source+dest port plus source + dest IP address)
  • Connectionless demux is more efficient.
    • False (it depends on circumstances which is efficient)

网络协议5:【传输层】概述+传输过程中的多路复用和解复用