Week 6

Technology: Transport Control Protocol (TCP)

Welcome to Week 6 of IHTS. We are in our second week of the more technical bits of the course. I try to keep the technical bits interesting and not go into too much detail.
This week, we’ll be covering transport control protocol (TCP). The Transport layer is built on the Internetwork layer and is what makes our network connections reliable.

Transport/Reliability

Transport Layer

今天所要讲的是Transport Layer,即传输层。

首先,回顾一下之前所讲的内容。

The magic of this is there is no interim long term storage inside the network.

data传输如此之快,而是因为在网络层并不保证无差错传输,而是尽最大努力传输。

So one of the things that makes IP so fast is that it is not demanded to be perfect, it is not demanded to, to deliver data in order, and it's not demanded to, it, it's, there's no requirement that it doesn't lose data.

其实保证是否数据有没有错误看传输层。

And those are the kind of problems we solve with a TCP layer. How fast is the underlying network, how reliable is it and if something goes wrong what do we do to deal with that. So the key idea in TCP/IP is that when we send some data, we break it into packets and then we send each one. And then we keep them until they get an acknowledgement from the other side and then and only then do we throw them away.

若没有收到,就一直尝试,直到对方收到。

老师这里做了一个演示,如下图所示:

在路由中并不要求很多存储,设计上希望其轻巧、动态。

The storage requirements in the middle, the routers, this is the IP basically the network of networks, they, we didn't design these to require a lot of storage. We wanted them to be fast, we wanted them to be agile, we wanted to be dynamic, we wanted to be clever, but we also gave the right to fail. So we didn't demand storage. We didn't say, hey, hold on to packets, you know, all over the place. Just, store up piles of packets, piles of packets and pile up in these, we don't ask that. No router has to keep the packets. As a matter of fact, routers are supposed to throw packets away to communicate back and forth between the system that maybe things aren't working so well and, don't use me to get to California.

On the other hand, with hundreds, maybe, you know, hundreds of thousands or millions of routers but billions of computers on the outside. So we need a way to make this reliable. So we need to have memory to store the packets while they're in flight so we can retransmit but we store the packets in the computers that are outside. And there are billions of these computers, there are billions of them. Every computer that you can carry around, every laptop. come here. Every time we add another computer to the network, we add storage for packets that are being sent. So when your computer or, or phone is sending across the network, it is responsible for retaining its own copies. It does not expect the inner part of the network to do so. And that is absolutely brilliant, so it's what really makes this work. And so that's kind of a great oversimplification of what's going on.

下面将介绍Van Jacobson,他拯救了网络?!but he is a shy guy.

Van Jacobson - Slow Start Algorithm

如果对他感兴趣那就给我留言吧,我将会在以后介绍。

The Domain Name System

(Baidu)DNS:The Domain Name System,域名系统。万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

简单一句话,DNS就是帮助用户记住网站,比如说我们都知道百度的网址:www.baidu.com,而不用去记住百度的IP地址:163.177.151.110。再举一个例子,DNS就像一本电话簿,你不用可以去记住朋友的电话号码,你只需要知道朋友的名字,电话簿会帮你记着电话号码。

DNS是分层次的:

其中大学可以分配到EDU后缀的,com和org需要竞争得到。

TCP Wrap Up

传输层协议需要弥补IP层的不完善性,即上面所讲的保证数据的正确性、完整性由传输层来负责。

Internet History, Technology and Security (Week 6)的更多相关文章

  1. Internet History, Technology and Security (Get Started)

    Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...

  2. Internet History,Technology and Security

    Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...

  3. Internet History,Technology,and Security - History Through Supercomputing(Week2)

    时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...

  4. Internet History, Technology and Security (Week 2)

    Week 2 History: The First Internet - NSFNet Welcome to week 2! This week, we'll be covering the hist ...

  5. Coursera: Internet History, Technology, and Security

    课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing ...

  6. Internet History, Technology and Security (Week 9)

    Week 9 Security: Web Security We are now on the second to last week of the class and finishing up ou ...

  7. Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing

    前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...

  8. Internet History, Technology and Security (Week5.1)

    Week5 The Transport layer is built on the Internetwork layer and is what makes our network connectio ...

  9. Internet History, Technology and Security (Week 4)

    Week 4 History: Commercialization and Growth We are now moving into Week 4! This week, we will be co ...

  10. Internet History,Technology,and Security - Technology: Internets and Packets (Week5)

    Week5 Technology: Internets and Packets Welcome to Week 5! This week, we’ll be covering internets an ...

随机推荐

  1. 英语linux+英语firefox+英语Oracle OEM如何设置成显示日语

    1 linux安装盘挂载,安装日语语言包 2 linux的系统语言设置为日语 3 firefox的 edit-> setting -> contents -> language se ...

  2. 【HNOI2015】亚瑟王

    题面 题解 考虑进行\(dp\). 设\(f[i][j]\)表示前\(i\)张卡中有\(j\)张被触发的概率. 我们可以知道第\(i\)张卡不被触发的概率为\((1 - p_i) ^ {r - j}\ ...

  3. centos 中sshd莫名其妙不见了?

    发现问题 遇到问题:首先莫要慌:事出有因:先检查一波: 首先呢,看一下/var/log/yum.log  是否有误删的记录: 如有被误删的操作的话:可以去看看日志:到底咋回事: 然后么 yum ins ...

  4. Python面向过程、模块的使用

    一.Python面向过程 ''' 面向过程编程 核心过程二字,过程指的是解决问题的步骤,即先干什么.再干什么.然后干什么... 基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式 优点 ...

  5. jQuery瀑布流详解(PC及移动端)

    前言 瀑布流布局已成为当今非常普遍的图片展示方式,无论是PC还是手机等移动设备上.这种布局图片的样式大概分为三种:等高等宽.等宽不等高.等高不等宽,接下来我们就最为普遍的等宽不等高形式来作为示例. 我 ...

  6. UART、SPI、I2C协议异同点

    I2C.SPI.UART都是常见的低速板级通信协议,目前主流的SoC都内置了这些通讯协议的控制器,同样,各种传感器.Touch控制器.指纹模块.蓝牙模块.WIFI模块也都兼容这三种通信方式的一种或几种 ...

  7. Netty源码分析第2章(NioEventLoop)---->第2节: NioEventLoopGroup之NioEventLoop的创建

    Netty源码分析第二章: NioEventLoop   第二节: NioEventLoopGroup之NioEventLoop的创建 回到上一小节的MultithreadEventExecutorG ...

  8. GlusterFS分布式存储集群-2. 使用

    参考文档: Quick Start Guide:http://gluster.readthedocs.io/en/latest/Quick-Start-Guide/Quickstart/ Instal ...

  9. access和MySQL mssql

    Access.MSSQL.MYSQL数据库之间有什么区别?     Access数据库.MSSQL数据库.MYSQL数据库之间有什么区别?        不少企业和个人站长在网站制作时,会对数据库的概 ...

  10. i++ i+=1 i=i+1 汇编代码效率比较

    结论:一样.编译器和编译器之间可能有点区别但是程序不会变. 0x00 一直不清楚到底是因为懒还是真的为了效率,要把" i = i + 1 "写成" i++ "或 ...