受人启示,学习前不如先换个主题趁便来听首歌(?)国王排名的op,这个编曲真的怪喜爱的
说起来做这篇发现b站某网课老师的计网用的课件跟QMUL一模一样,不会全世界都这个吧
这章的重点是理解传输层的作业原理 + 学习Internet的传输层协议,先从了解传输层开端
写的太妙了,了解前摘录一下:
最开端的衔接层协议品种繁多(Ethernet、Wifi、ARP等等)。到了网络层只剩下一个IP协议。进入到传输层(transport layer),协议的品种又开端繁多起来(比如TCP、UDP、SCTP等)。就好像下面的大树,根部(衔接层)分叉很多,然后一致到一个树干(网络层),到了树冠(传输层)部分又开端开端分叉,而每个树枝上长出更多的树叶(应用层)。咱们在网络层已经看到,经过树干的一致,咱们完成了一个掩盖全球的互联网络(Internet)。但是,咱们可能出于不同的目的运用这张“网”,随之运用的方法也有所区别。不同的传输层协议(以及更多的应用层协议)正是咱们运用“网”的不同方法的表现。
传输层概述
- 为在不同主机(hosts)上运行的应用程序进程之间提供逻辑通讯(logical communication)
- 协议在终端(end systems)中运行
- 发送端(send side):将应用程序音讯分成若干段(segments),传递到网络层
- 接纳端(rcv side):将段从头组装成音讯,传递到应用层
- 应用程序可运用多个传输协议
- 比如互联网一起运用TCP和UDP
判断题,应该没什么问题
传输层与网络层的比较
- 传输层:进程之间的逻辑通讯
- 依靠、增强网络层服务
- 网络层:主机(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
- 上面的逆进程,数据流被分离成独自的部分,相当于解码
- 手机接纳到的数据包流将被分割并发送到相应的网络、电子邮件、微信程序
发送端:处理来自多个套接字的数据,增加传输层头(IP和端口等,稍后用于解复用),然后一起往后面传
接纳端:运用报头信息将收到的片段传送到正确的套接字
看不懂的话往下看!
作业原理
解复用
关于端口: IP协议进行的是IP地址到IP地址的传输,这意味者两台计算机之间的对话。但每台计算机中需求有多个通讯通道,并将多个通讯通道分配给不同的进程运用(关于进程,可以参阅Linux进程根底)。一个端口就代表了这样的一个通讯通道。正如咱们在邮局和邮差中提到的收信人的概念一样。引入的端口号可以区别不同进程,TCP、UDP的端口号都是16bits,有6w+个端口号
- 主机接纳IP数据报
- 每个IP数据报都有注明源IP地址、方针IP地址
- 每个数据报携带一个传输层段 transport-layer segment
- 每个segment都有源及方针的端口号
- 主机运用IP地址和端口号将网段定向到适当的套接字,从而衔接到应用
概念测试
无衔接的多路复用(@UDP)
无衔接和面向衔接鄙人一节解说
recall: 创立的套接字具有主机本地端口,如
DatagramSocket mySocket1 = new DatagramSocket(12534);
- 主机要发送:创立要发送到UDP套接字的数据报时,有必要指定
- 方针IP地址
- 方针端口
- 主机接纳UDP段时:
- 查看段中的方针端口
- 将UDP段定向到具有该端口的套接字
∴ 具有相同目的端口,但不同源IP地址或源端口号的。也将定向到同一方针socket
易知右边那玩意必定也是要发向6428接口,源自然是5775
面向衔接的解复用(@TCP)
区别不大,相同经过源于结尾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)